Быстрый старт
Система организации создаёт запрос и забирает результат по номеру. Один API на оба модуля: осмотр перед страхованием (Survey(e)r) и урегулирование убытка (Adjust(e)r).
| Адрес | https://api.cerebro.uz/v1 |
|---|---|
| Формат | JSON, UTF-8, время в ISO 8601 (UTC) |
| Вход | Authorization: Bearer sk_live_… |
| Описание | openapi.json (OpenAPI 3.0), его же читает справочник |
Ключ
Ключ выдаёт администратор организации в рабочем месте: «Подключение» → «Доступ». Ключ показывается один раз. Его можно привязать к подразделению: тогда запросы с этим ключом относятся к нему.
Там же задаются адреса, с которых ваша система обращается к API, и адрес для уведомлений.
Первый запрос
-
Создайте осмотр после оплаты полиса. В ответе придёт ссылка для клиента.
curl -X POST https://api.cerebro.uz/v1/inspections \ -H "Authorization: Bearer sk_live_…" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: order-004512" \ -d '{ "policyNumber": "KASKO-2026-004512", "clientName": "Sabirov A. A.", "clientPhone": "+998901234567", "vehicle": { "make": "Chevrolet", "model": "Gentra", "year": 2023, "vin": "XWBJA69V9PA012345", "plate": "01A777AA", "newWithoutPlates": false, "panoramicRoof": false, "marketPriceUsd": 14500 }, "salesChannel": "site" }'201 Created { "id": "920f471a-f76d-40da-857a-3cc709b27a1f", "number": "OSM-2026-000128", "status": "created", "link": { "url": "https://app.cerebro.uz/o/…", "expiresAt": "2026-11-13T09:00:00.000Z" } } -
Клиент получает ссылку по SMS и снимает машину с телефона. Отправлять ссылку самим не нужно, но её можно показать клиенту на своём сайте.
-
Дождитесь итога: по уведомлению или опросом списка
GET /v1/inspections?updatedSince=….
Убыток открывается так же: POST /v1/claims. Поля запроса и ответа — в справочнике.
Результат
Когда осмотр получил итог (signed, rejected или unresolved), заберите его и подтвердите получение:
GET /v1/inspections/{id}/result данные, решение, список фото, акт
GET /v1/inspections/{id}/photos/{photoId} фото, JPEG
GET /v1/inspections/{id}/act подписанный акт, PDF
POST /v1/inspections/{id}/result/acknowledge «сохранили у себя»
Чтение результата ничего не меняет. Подтверждение переводит осмотр в delivered;
повторять его безопасно. Для убытка те же шаги под /v1/claims.
Ошибки
Любой отказ приходит в одном виде. Опирайтесь на code, не на текст.
{
"error": {
"code": "not_found",
"message": "…",
"details": { }
}
} | Статус | Когда |
|---|---|
| 400 | Тело или параметры не подходят под описание |
| 401 | Ключа нет или он отозван |
| 403 |
Ключу это не разрешено: чужое подразделение, адрес не из списка, модуль не подключён (
module_not_sold)
|
| 404 | Такого осмотра или убытка у организации нет |
| 409 | Действие не подходит к текущему статусу |
| 429 | Слишком много запросов за минуту |
Повторы и ограничения
-
Шлите
Idempotency-Keyпри создании. Повтор с тем же ключом вернёт уже созданную запись, а не вторую. -
Списки отдаются страницами:
limitиafterсо значениемnextиз предыдущего ответа. - На ответ 429 и на ошибки 5xx повторяйте запрос с растущей паузой.
Модули
Организации доступны пути тех модулей, которые она подключила: /v1/inspections —
Survey(e)r, /v1/claims — Adjust(e)r. Запрос к неподключённому модулю получает 403 с
кодом module_not_sold.