Перейти к содержимому

Собрать PDF из загруженных изображений и запустить обработку

POST
/api/v1/create-pdf
curl --request POST \
--url https://passports.dev.techcon-ml.ru/api/v1/create-pdf \
--header 'Content-Type: application/json' \
--data '{ "image_ids": [ "3f1a2b4c-1234-5678-abcd-ef1234567890", "7e9d0c1a-5678-abcd-1234-ef1234567890" ] }'

Принимает упорядоченный список UUID изображений (из /api/v1/upload-images). Собирает многостраничный PDF через Pillow, сохраняет в постоянное хранилище, создаёт задачу на извлечение данных. Временные файлы сессии удаляются после сборки. Требует тот же bti_session_id cookie, что использовался при загрузке изображений.

Media typeapplication/json
CreatePdfRequest
object
image_ids
required
Image Ids

Упорядоченный список UUID изображений

Array<string>
Example
{
"image_ids": [
"3f1a2b4c-1234-5678-abcd-ef1234567890",
"7e9d0c1a-5678-abcd-1234-ef1234567890"
]
}

Задача создана, PDF передан в pipeline извлечения

Media typeapplication/json
CreatePdfResponse
object
task_id
required
Task Id

UUID созданной задачи на извлечение

string
status
required
Status

PENDING — задача поставлена в очередь, SUCCESS — результат из кэша

string
Example
{
"status": "PENDING",
"task_id": "3f1a2b4c-1234-5678-abcd-ef1234567890"
}

Неверный image_id или пустой список

Media typeapplication/json
ApiErrorResponse
object
ok
Ok
boolean
error
required
ApiErrorDetail
object
code
required
Code

Машиночитаемый код ошибки (UPPER_SNAKE_CASE)

string
message
required
Message

Человекочитаемое описание ошибки

string
Example
{
"ok": false
}

Не авторизован или токен истёк

Media typeapplication/json
ApiErrorResponse
object
ok
Ok
boolean
error
required
ApiErrorDetail
object
code
required
Code

Машиночитаемый код ошибки (UPPER_SNAKE_CASE)

string
message
required
Message

Человекочитаемое описание ошибки

string
Example
{
"ok": false
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}

Хранилище недоступно

Media typeapplication/json
ApiErrorResponse
object
ok
Ok
boolean
error
required
ApiErrorDetail
object
code
required
Code

Машиночитаемый код ошибки (UPPER_SNAKE_CASE)

string
message
required
Message

Человекочитаемое описание ошибки

string
Example
{
"ok": false
}