Принять асинхронный запрос defectoscopy
const url = 'https://defects.techcon-ml.ru/predict';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"image_url":"https://storage.yandexcloud.net/example-bucket/defectoscopy/frame-001.jpg","priority":"batch","webhook_url":"https://integrator.example/hooks/defectoscopy"}'};
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://defects.techcon-ml.ru/predict \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "image_url": "https://storage.yandexcloud.net/example-bucket/defectoscopy/frame-001.jpg", "priority": "batch", "webhook_url": "https://integrator.example/hooks/defectoscopy" }'Принимает задачу в общий постоянно доступный слой приёма. После 202 Accepted интегратор должен сохранить task_id, status_url и estimated_wait_seconds. При cold state выбранного worker-а estimated_wait_seconds уже включает cost-delay window перед фактическим cold start.
Authorizations
Заголовок раздела «Authorizations»Request Bodyrequired
Заголовок раздела «Request Bodyrequired»object
HTTPS URL на поддерживаемом хосте storage.yandexcloud.net или storage.yc.yandex.net.
Example
https://storage.yandexcloud.net/example-bucket/defectoscopy/frame-001.jpgПриоритет постановки задачи в очередь.
Example
batchДополнительный URL для уведомления о результате. Разрешены https:// и локальные loopback-адреса http://localhost, http://127.0.0.1 и http://[::1].
Example
https://integrator.example/hooks/defectoscopyExample
{ "image_url": "https://storage.yandexcloud.net/example-bucket/defectoscopy/frame-001.jpg", "priority": "batch", "webhook_url": "https://integrator.example/hooks/defectoscopy"}Responses
Заголовок раздела «Responses»Запрос принят слоем приёма и поставлен в очередь.
object
object
Example
{ "data": { "status": "queued", "status_url": "/result/def-123", "estimated_wait_seconds": 300 }}Bearer-токен отсутствует или неверен.
object
object
Example
{ "ok": false, "error": { "code": "UNAUTHORIZED", "message": "Bearer-токен отсутствует или неверен." }}Входные данные не прошли проверку.
object
object
Example
{ "ok": false, "error": { "code": "VALIDATION_ERROR", "message": "Поле image_url должно указывать на поддерживаемый HTTPS-хост." }}Запрос не был зафиксирован: либо очередь на стороне контроллера недоступна, либо не настроен канонический набор Bearer-токенов.
object
object
Example
{ "ok": false, "error": { "code": "QUEUE_UNAVAILABLE", "message": "Запрос не был зафиксирован: очередь сейчас недоступна." }}