Собрать PDF из загруженных изображений и запустить обработку
const url = 'https://passports.dev.techcon-ml.ru/api/v1/create-pdf';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"image_ids":["3f1a2b4c-1234-5678-abcd-ef1234567890","7e9d0c1a-5678-abcd-1234-ef1234567890"]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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, что использовался при загрузке изображений.
Request Bodyrequired
Заголовок раздела «Request Bodyrequired»object
Упорядоченный список UUID изображений
Example
{ "image_ids": [ "3f1a2b4c-1234-5678-abcd-ef1234567890", "7e9d0c1a-5678-abcd-1234-ef1234567890" ]}Responses
Заголовок раздела «Responses»Задача создана, PDF передан в pipeline извлечения
object
UUID созданной задачи на извлечение
PENDING — задача поставлена в очередь, SUCCESS — результат из кэша
Example
{ "status": "PENDING", "task_id": "3f1a2b4c-1234-5678-abcd-ef1234567890"}Неверный image_id или пустой список
object
object
Машиночитаемый код ошибки (UPPER_SNAKE_CASE)
Человекочитаемое описание ошибки
Example
{ "ok": false}Не авторизован или токен истёк
object
object
Машиночитаемый код ошибки (UPPER_SNAKE_CASE)
Человекочитаемое описание ошибки
Example
{ "ok": false}Validation Error
object
object
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}Хранилище недоступно
object
object
Машиночитаемый код ошибки (UPPER_SNAKE_CASE)
Человекочитаемое описание ошибки
Example
{ "ok": false}