Быстрый старт
Примеры запросов к API на разных языках программирования. Скопируйте код и адаптируйте под свои нужды.
Аутентификация
Все эндпоинты API (кроме системных) требуют B2B-токен в заголовке запроса.
Передайте токен в заголовке запроса:
token: YOUR_API_TOKENТокен выдаётся при подключении. Запросите через info@migcon.ru
Система
Проверка доступности API и состояния компонентов системы.
/_pingPublic"pong"
/_healthPublic{
"db": "ok",
"queue": "ok"
}Персоналии (B2B)
CRUD-операции с персоналиями для B2B-интеграций. Авторизация через заголовок token.
/api/v1/personsB2B Token[
{
"first_name": "Рашид",
"last_name": "Алиев",
"middle_name": "Маратович",
"bday": "1990-05-15",
"doc_num": "4512 123456",
"doc_issued": "2015-03-20",
"patent_series": "77",
"patent_number": "1234567"
}
][
{
"person_id": "550e8400-...",
"first_name": "Рашид",
"last_name": "Алиев",
"bday": "1990-05-15",
"doc_num": "4512 123456",
...
}
]/api/v1/persons/{person_id}B2B Token{
"person_id": "550e8400-...",
"first_name": "Рашид",
"last_name": "Алиев",
"bday": "1990-05-15",
"monitoring_enabled": true,
"never_checked": false,
"registries": {
"rkl": { "present": false, "checked_at": "2025-02-20T09:41Z" },
"patent": { "present": true, "comment": "Истекает 2025-08-12" },
"fines": { "present": false, "checked_at": "2025-02-20T09:41Z" }
}
}/api/v1/persons/{person_id}B2B Token{
"first_name": "Рашид",
"last_name": "Алиев",
"bday": "1990-05-15",
"doc_num": "4512 123456",
"doc_issued": "2015-03-20",
"patent_number": "7654321"
}{
"person_id": "550e8400-...",
"first_name": "Рашид",
...
}/api/v1/persons/{person_id}B2B Token{
"status": "deleted",
"person_id": "550e8400-..."
}Мониторинг (B2B)
Управление регулярным мониторингом персоналий по реестрам.
/api/v1/checks/startB2B Token[ "550e8400-e29b-41d4-a716-446655440000", "660e8400-e29b-41d4-a716-446655440001" ]
{ "status": "started" }/api/v1/checks/stopB2B Token[ "550e8400-e29b-41d4-a716-446655440000" ]
{ "status": "stopped" }Webhooks
Получайте уведомления о событиях в реальном времени на свой сервер. Вебхуки настраиваются в личном кабинете в разделе «Интеграции».
https://ваш-сервер.com/webhookВходящийДоступные события
| Событие | Описание |
|---|---|
status.rkl | Результат проверки по реестру контролируемых лиц |
status.patent | Результат проверки патента |
status.fines | Результат проверки штрафов |
balance.topup | Пополнение баланса организации |
balance.withdrawal | Списание с баланса организации |
test.ping | Тестовое событие для проверки связи |
HTTP-заголовки запроса
| Заголовок | Описание |
|---|---|
X-Webhook-Signature | HMAC-SHA256 подпись тела запроса: sha256=<hex> |
X-Webhook-Event | Тип события (например, status.rkl) |
X-Webhook-Delivery | UUID уникальной доставки |
X-Webhook-Timestamp | Unix timestamp момента создания события |
Content-Type | application/json |
Формат тела запроса
{
"event": "status.rkl",
"timestamp": 1709567890,
"data": {
"person_id": "550e8400-e29b-41d4-a716-446655440000",
"person_name": "Алиев Рашид",
"registry": 1,
"present": true,
"comment": "Найден в реестре"
}
}{
"event": "balance.topup",
"timestamp": 1709567890,
"data": {
"org_id": "660e8400-...",
"amount": 5000.00,
"new_balance": 15000.00,
"reason": "Пополнение по счёту №12"
}
}Проверка подписи (HMAC-SHA256)
Каждый запрос подписывается секретным ключом вашего вебхука. Подпись передаётся в заголовке X-Webhook-Signature. Рекомендуем проверять подпись для защиты от подделки запросов.
Повторные попытки
Если ваш сервер не вернул HTTP 2xx или не ответил в течение 10 секунд, система повторит доставку:
| Попытка | Задержка | Описание |
|---|---|---|
1 | Сразу | Первая доставка |
2 | 30 сек | Первый повтор |
3 | 2 мин | Последний повтор |
Коды ошибок
Все ошибки возвращаются в формате JSON с полем detail.
{
"detail": "Описание ошибки"
}| Код | Описание |
|---|---|
400 | Невалидные данные запроса |
401 | Не авторизован (невалидный или просроченный токен) |
403 | Доступ запрещён (недостаточно прав или аккаунт деактивирован) |
404 | Ресурс не найден |
409 | Конфликт (дублирование email, организации и т.д.) |
429 | Превышен лимит (например, 2 проверки/месяц для ФЛ) |
503 | Сервис недоступен (БД или очередь сообщений) |