Создать проверку продавца, объекта или комплексную проверку.
POST /api/v1/checks
Проверка продавца, объекта или продавец + объект
Основной метод запускает проверку продавца, объекта или комплексную проверку сделки. Проверка выполняется асинхронно: API сразу возвращает check_id, а результат забирается опросом статуса или событием интеграции.
Кратко для ИИ
Основной метод запускает проверку продавца, объекта или комплексную проверку сделки. Проверка выполняется асинхронно: API сразу возвращает check_id, а результат забирается опросом статуса или событием интеграции.
Когда использовать
CRM создаёт проверку из карточки клиента, объекта или сделки и показывает пользователю статус до готовности отчёта.
Карта методов
Связанные методы
Эта страница описывает группу связанных методов. Для точной схемы параметров используйте Swagger, для продуктовой логики — блоки ниже.
Забрать статус, результат, PDF и доказательный блок конкретной проверки.
Получить список проверок с фильтрами status/type/limit/offset.
Предварительно рассчитать стоимость.
Создать пакет независимых проверок одним запросом.
Сценарий
Как проходит сценарий
Шаг 1
Предрасчёт
Опционально проверьте цену и balance_sufficient.
Шаг 2
Создание
Создайте проверку через POST /checks и сохраните check_id.
Шаг 3
Ожидание
Используйте GET /checks/{check_id} или событие check.completed.
Шаг 4
Результат
При report_ready/partial заберите result, pdf_url, report_url и доказательный блок.
Шаг 5
Проверка следа
Для цифрового следа используйте verify_url или GET /verify/{sha256}.
Обязательные поля
| Поле | Обяз. | Описание |
|---|---|---|
| type | Да | Тип проверки: продавец, объект или комплексная проверка. |
| input_data.seller | Нет | ФИО, дата рождения, регион, паспорт/ИНН/СНИЛС при наличии. |
| input_data.object | Нет | Кадастровый номер, адрес, тип объекта и региональные признаки. |
| sandbox_status | Нет | Только для тестового режима: processing, report_ready, partial или failed. |
Пример curl
curl -X POST https://api.realiq.ru/api/v1/checks \
-H "Content-Type: application/json" \
-H "X-API-KEY: riq_live_xxx" \
-H "Idempotency-Key: crm-check-1001" \
-d '{"type":"full","input_data":{"seller":{"last_name":"Иванов","first_name":"Иван"},"object":{"cadastral_number":"78:40:0008480:3996"}}}'JSON-запрос
Пример JSON-запроса
Для GET-методов показано JSON-представление URL, query-параметров и заголовков. Для загрузки файла показана структура form-data.
{
"type": "full",
"input_data": {
"seller": {
"last_name": "Иванов",
"first_name": "Иван",
"middle_name": "Иванович",
"birth_date": "1980-01-01",
"region": "Москва"
},
"object": {
"cadastral_number": "78:40:0008480:3996",
"object_type": "apartment"
}
},
"legal_opinion_enabled": true
}JSON-ответ
Пример успешного JSON-ответа
Пример отражает структуру реального ответа API. Значения ID, SHA и ссылок сокращены или заменены демонстрационными.
{
"check_id": "b9f6f2f0-b8c1-4f1c-bb8f-3cf3a9dc3b5a",
"status": "processing",
"type": "full",
"mode": "live",
"cost": 650,
"price_amount": 650,
"balance_remaining": 12410,
"request_id": "req_1780000000_abcd"
}Полный JSON-ответ
Полный пример ответа
Развёрнутый пример показывает, какие блоки обычно получает интегратор. Значения ID, SHA, ссылок и персональных данных демонстрационные.
{
"check_id": "b9f6f2f0-b8c1-4f1c-bb8f-3cf3a9dc3b5a",
"status": "report_ready",
"type": "full",
"created_at": "2026-06-28T12:00:00Z",
"completed_at": "2026-06-28T12:01:18Z",
"result": {
"risk_scoring": {
"score": 18,
"level": "low",
"label": "Низкий риск",
"conclusion": "Критичных факторов по подключённым источникам не выявлено. Перед сделкой проверьте актуальную выписку ЕГРН и документы-основания.",
"factors": [
{
"code": "fssp_clear",
"title": "ФССП",
"status": "ok",
"impact": 0
},
{
"code": "kad_cases_found",
"title": "КАД Арбитр",
"status": "attention",
"impact": 6
}
]
},
"seller": {
"full_name": "Иванов Иван Иванович",
"birth_date": "1980-01-01",
"inn": "770000000000",
"snils": "123-456-789 00"
},
"object": {
"cadastral_number": "78:40:0008480:3996",
"object_type": "apartment",
"address": "Санкт-Петербург, примерный адрес"
},
"checklist": [
{
"source_code": "fssp",
"source_name": "ФССП",
"status": "ok",
"summary": "Исполнительные производства не найдены.",
"records_count": 0,
"datestamp": "2026-06-28",
"normalized_result_sha256": "0f4c2b...9a21"
},
{
"source_code": "kad_arbitr",
"source_name": "КАД Арбитр",
"status": "found",
"summary": "Найдены арбитражные дела, требуется оценка роли участника.",
"records_count": 2,
"datestamp": "2026-06-28",
"normalized_result_sha256": "8c13a9...77df"
}
],
"source_coverage": {
"answered": 24,
"source_unavailable": 0,
"manual_review_required": 0
}
},
"risk_score": 18,
"pdf_url": "https://realiq.ru/reports/b9f6f2f0.pdf",
"report_url": "https://realiq.ru/check-status/b9f6f2f0-b8c1-4f1c-bb8f-3cf3a9dc3b5a",
"evidence": {
"check_evidence_root_hash": "9f4a6c...0d71",
"pdf_sha256": "ab12c4...9f00",
"data_snapshot_sha256": "73ce44...aa91",
"evidence_manifest_sha256": "64de10...81ac",
"evidence_storage_status": "stored",
"tsa": {
"status": "not_configured",
"provider": null,
"token_sha256": null,
"completed_at": null
},
"datestamp": {
"value": "2026-06-28T12:01:18Z",
"provider": "RealIQ",
"created_at": "2026-06-28T12:01:18Z"
},
"verify_url": "https://realiq.ru/verify",
"sources": [
{
"source_code": "fssp",
"source_name": "ФССП",
"status": "ok",
"records_count": 0,
"datestamp": "2026-06-28",
"normalized_result_sha256": "0f4c2b...9a21"
},
{
"source_code": "kad_arbitr",
"source_name": "КАД Арбитр",
"status": "found",
"records_count": 2,
"datestamp": "2026-06-28",
"normalized_result_sha256": "8c13a9...77df"
}
]
},
"request_id": "req_1780000000_abcd"
}Поля ответа
Как читать поля ответа
| Поле | Что означает |
|---|---|
| check_id | ID проверки. По нему делается опрос статуса GET /api/v1/checks/{check_id}. |
| status | processing, report_ready, partial или failed. Готовый отчёт отдаётся при report_ready/partial. |
| result.risk_scoring | Итоговый риск-индекс, уровень, краткий вывод и факторы. |
| result.checklist[] | Нормализованные выводы по источникам для интерфейса партнёра. |
| pdf_url/report_url | PDF-отчёт и веб-страница результата. |
| evidence | Цифровой след проверки: корневой хеш, SHA PDF, метка времени и хеши источников. |
Ошибки
Типовые ошибки метода
Недостаточно данных для выбранного типа проверки.
Что делать: Передайте seller/object в input_data.
{
"error_code": "invalid_check_input",
"message": "Недостаточно данных для выбранного типа проверки.",
"request_id": "req_1780000000_abcd"
}Недостаточно баланса для боевого запуска.
Что делать: Пополните баланс или используйте тестовый ключ.
{
"error_code": "insufficient_funds",
"message": "Недостаточно баланса для запуска в боевом режиме.",
"request_id": "req_1780000000_abcd"
}Idempotency-Key повторён с другим телом запроса.
Что делать: Создайте новый Idempotency-Key.
{
"error_code": "idempotency_conflict",
"message": "Idempotency-Key повторён с другим телом запроса.",
"request_id": "req_1780000000_abcd"
}Превышен лимит запросов.
Что делать: Повторите позже с учётом Retry-After.
{
"error_code": "rate_limit_exceeded",
"message": "Превышен лимит запросов.",
"request_id": "req_1780000000_abcd"
}Ответ processing
{
"check_id": "b9f6f2f0-b8c1-4f1c-bb8f-3cf3a9dc3b5a",
"status": "processing",
"type": "full",
"mode": "live",
"cost": 650,
"balance_remaining": 12410,
"request_id": "req_..."
}Ответ report_ready
{
"check_id": "b9f6f2f0-b8c1-4f1c-bb8f-3cf3a9dc3b5a",
"status": "report_ready",
"type": "full",
"result": { "risk_scoring": { "score": 18, "label": "Низкий риск" } },
"pdf_url": "https://realiq.ru/reports/...",
"evidence": {
"check_evidence_root_hash": "9f...",
"pdf_sha256": "ab...",
"sources": [{ "source_code": "fssp", "datestamp": "2026-06-28", "normalized_result_sha256": "..." }]
}
}Пример ошибки
{
"error_code": "insufficient_funds",
"message": "На балансе недостаточно средств для запуска проверки.",
"request_id": "req_..."
}Что списывается с баланса
В боевом режиме списывается стоимость проверки по активному тарифу. В тестовом режиме баланс не списывается и реальные источники не вызываются.
Какие поля доказательного блока вернутся
- check_evidence_root_hash
- pdf_sha256
- data_snapshot_sha256
- sources[].normalized_result_sha256
- sources[].datestamp
