Bank Guarantee Documents Service API

OpenAPI

Скачать исходную спецификацию

Варианты

  • Паблик

Операции API

POST /guarantees/documents — Получение списка документов гарантий

{
  "tags": [
    "guarantee-document-controller"
  ],
  "summary": "Получение списка документов гарантий",
  "operationId": "getGuaranteeDocuments",
  "parameters": [
    {
      "$ref": "#/components/parameters/IdTokenHeader"
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/GuaranteeDocumentsRequest"
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Список документов успешно получен",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/DocumentResponse"
            }
          }
        }
      }
    },
    "400": {
      "$ref": "#/components/responses/BadRequest"
    },
    "401": {
      "$ref": "#/components/responses/Unauthorized"
    },
    "403": {
      "$ref": "#/components/responses/Forbidden"
    },
    "404": {
      "$ref": "#/components/responses/NotFound"
    }
  }
}

GET /guarantees/documents/{docId}/files/{fileId} — Скачивание файла документа гарантии

{
  "tags": [
    "guarantee-document-controller"
  ],
  "summary": "Скачивание файла документа гарантии",
  "operationId": "getGuaranteeDocumentFile",
  "parameters": [
    {
      "name": "guaranteeNumber",
      "in": "query",
      "description": "Номер гарантии",
      "required": true,
      "style": "form",
      "schema": {
        "type": "string",
        "example": "43926/GI/210811"
      }
    },
    {
      "name": "docId",
      "in": "path",
      "description": "Идентификатор документа",
      "required": true,
      "style": "simple",
      "schema": {
        "type": "integer",
        "format": "int64",
        "example": 39483
      }
    },
    {
      "name": "fileId",
      "in": "path",
      "description": "Идентификатор файла",
      "required": true,
      "style": "simple",
      "schema": {
        "type": "integer",
        "format": "int64",
        "example": 39479
      }
    },
    {
      "$ref": "#/components/parameters/IdTokenHeader"
    }
  ],
  "responses": {
    "200": {
      "description": "Файл успешно получен (кодировка контента UTF-8)",
      "headers": {
        "Content-Disposition": {
          "schema": {
            "type": "string",
            "example": "attachment; filename*=UTF-8''Print form.pdf"
          }
        }
      },
      "content": {
        "application/octet-stream": {
          "schema": {
            "type": "string",
            "format": "binary"
          },
          "example": "массив байтов"
        }
      }
    },
    "401": {
      "$ref": "#/components/responses/Unauthorized"
    },
    "403": {
      "$ref": "#/components/responses/Forbidden"
    },
    "404": {
      "$ref": "#/components/responses/NotFound"
    },
    "500": {
      "$ref": "#/components/responses/InternalError"
    }
  }
}

Схемы и примеры

{
  "securitySchemes": {
    "bearerAuth": {
      "type": "http",
      "scheme": "bearer",
      "description": "Токен доступа",
      "bearerFormat": "JWT"
    }
  },
  "responses": {
    "BadRequest": {
      "description": "Некорректный запрос",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ServiceErrorResponse"
          },
          "example": {
            "status": 400,
            "error": "Bad Request",
            "message": "Type mismatch."
          }
        }
      }
    },
    "Unauthorized": {
      "description": "Авторизация не пройдена",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/GatewayErrorResponse"
          },
          "example": {
            "http_status_code": 401,
            "message": "Unauthorized"
          }
        }
      }
    },
    "Forbidden": {
      "description": "Доступ запрещен",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ServiceErrorResponse"
          },
          "example": {
            "status": 403,
            "error": "Forbidden",
            "message": "The requested resource is forbidden"
          }
        }
      }
    },
    "NotFound": {
      "description": "Адрес запроса сформирован некорректно",
      "content": {
        "application/json": {
          "schema": {
            "$ref": "#/components/schemas/ServiceErrorResponse"
          },
          "example": {
            "status": 404,
            "error": "Not Found",
            "message": "Requested address is incorrect"
          }
        }
      }
    },
    "InternalError": {
      "description": "Неправильно указан идентификатор или внутренняя ошибка(кодировка контента UTF-8)",
      "content": {
        "text/plain": {
          "schema": {
            "format": "string"
          },
          "example": "SYSTEM ERROR"
        }
      }
    }
  },
  "schemas": {
    "GatewayErrorResponse": {
      "type": "object",
      "required": [
        "http_status_code",
        "message"
      ],
      "properties": {
        "http_status_code": {
          "description": "HTTP статус",
          "type": "integer"
        },
        "message": {
          "description": "Ошибка",
          "type": "string"
        }
      }
    },
    "ServiceErrorResponse": {
      "type": "object",
      "required": [
        "status",
        "error"
      ],
      "properties": {
        "status": {
          "description": "HTTP статус",
          "type": "integer"
        },
        "error": {
          "description": "Ошибка",
          "type": "string"
        },
        "message": {
          "description": "Детали ошибки",
          "type": "string"
        }
      }
    },
    "GuaranteeDocumentsRequest": {
      "title": "GuaranteeDocumentsRequest",
      "description": "Запрос на получение документов гарантий",
      "required": [
        "guaranteeNumberList"
      ],
      "type": "object",
      "properties": {
        "guaranteeNumberList": {
          "type": "array",
          "description": "Номера гарантий",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "DocumentResponse": {
      "title": "DocumentResponse",
      "description": "Документ гарантии",
      "required": [
        "documentType",
        "source"
      ],
      "type": "object",
      "properties": {
        "comment": {
          "type": "string",
          "description": "Комментарий"
        },
        "createdTimestamp": {
          "type": "string",
          "description": "Время создания",
          "format": "date-time",
          "example": "2021-12-07T00:00:00+0300"
        },
        "createdUser": {
          "type": "string",
          "description": "Создатель"
        },
        "documentFileType": {
          "type": "string",
          "description": "Тип файла"
        },
        "documentType": {
          "type": "string",
          "description": "Тип файла (44fs_copy, scan_guarantee, etc...)"
        },
        "documentTypeName": {
          "type": "string",
          "description": "Наименование типа файла для UI"
        },
        "error": {
          "type": "string",
          "description": "Описание ошибки"
        },
        "files": {
          "type": "array",
          "description": "Метаинформация о прикрепленных файлах",
          "items": {
            "$ref": "#/components/schemas/FileDto"
          }
        },
        "id": {
          "type": "integer",
          "description": "Уникальный ID документа",
          "format": "int64"
        },
        "modifiedTimestamp": {
          "type": "string",
          "description": "Время изменения",
          "format": "date-time",
          "example": "2021-12-07T00:00:00+0300"
        },
        "modifiedUser": {
          "type": "string",
          "description": "Пользователь производивший изменений"
        },
        "number": {
          "type": "string",
          "description": "Номер документа"
        },
        "source": {
          "type": "string",
          "description": "Источник отправки файла",
          "enum": [
            "DGP",
            "TFO"
          ]
        }
      }
    },
    "FileDto": {
      "title": "FileDto",
      "description": "Файл",
      "type": "object",
      "properties": {
        "fileName": {
          "type": "string",
          "description": "Название файла"
        },
        "id": {
          "type": "integer",
          "description": "Уникальный ID файла",
          "format": "int64"
        },
        "loadingDateTime": {
          "type": "string",
          "description": "Время загрузки",
          "format": "date-time",
          "example": "2021-12-07T00:00:00+0300"
        },
        "loadingUser": {
          "type": "string",
          "description": "Пользователь, который загрузил"
        },
        "storageId": {
          "type": "string",
          "description": "Id файла в dms"
        }
      }
    }
  },
  "parameters": {
    "IdTokenHeader": {
      "name": "Id-Token",
      "in": "header",
      "description": "Идентификационный токен пользователя",
      "required": true,
      "schema": {
        "type": "string",
        "format": "byte"
      }
    }
  }
}