{{define "content"}}
Bridge-and-Join-s реализует контракт ESIA Finance V1 на стороне back-office. ЛК клиента отправляет нам заявку, мы возвращаем подтверждение и потом колбэк со статусом. Полная спецификация: docs/lk-contract/v1/openapi.yaml.
HTTP Basic. Учётные записи и пароли согласуются с командой ЛК.
curl -u "lk-user:lk-password" \ -H "Content-Type: application/json" \ http://10.10.10.22:8080/api/v1/back_office/claims/
На M2 (дев-стенд) аутентификация отключена; включится на M3 — параллельно с подключением реального ЛК.
POST /api/v1/back_office/claims/
Тело — JSON, кодировка UTF-8. Минимально нужно: анкета инвестора, ИНН передающего и принимающего депозитария, информация о стоимости, массив ценных бумаг с количеством и счетами, подписанный XML заявления (base64).
curl -X POST http://10.10.10.22:8080/api/v1/back_office/claims/ \ -H "Content-Type: application/json" \ -d @docs/lk-contract/v1/examples/claim-request.json
Ответ 201 Created:
{
"id": "c02a1d5e-c2af-4799-bab4-953f133c5133",
"status": "submitted_to_nsd",
"created_at": "2026-03-02T14:30:45Z",
"success": true
}
GET /api/v1/back_office/claims/{id}
curl http://10.10.10.22:8080/api/v1/back_office/claims/c02a1d5e-c2af-4799-bab4-953f133c5133
Возвращает полную карточку с историей FSM, ответом НРД и решением принимающей стороны (когда оно пришло).
GET /api/v1/back_office/claims с query-фильтрами: status, investor_id, created_from, created_to, limit, offset.
curl "http://10.10.10.22:8080/api/v1/back_office/claims?status=confirmed&limit=20"
Когда сделка меняет статус (подтверждена принимающей стороной, отклонена, или произошёл таймаут), bj-server делает PATCH {LK_BASE}/api/v1/back_office/claims/{id}:
{
"claim_id": "c02a1d5e-c2af-4799-bab4-953f133c5133",
"new_status": "confirmed",
"updated_at": "2026-03-02T14:38:12Z",
"nsd_response": {
"guid": "...",
"status_code": "INFO",
"responses": [{"reference_id": "M2M2026...", "code": "01", "text": "..."}]
}
}
Адрес ЛК указывается в Настройка → Callback в ЛК или через переменную BJ_LK_CALLBACK_URL.
Любая ошибка возвращается в формате, идентичном ESIA Finance V1:
{
"error": true,
"status": 422,
"code": "invalid_signature",
"title": "Подпись заявления не прошла проверку",
"meta": {
"message": "Сертификат подписанта недействителен или цепочка доверия не построена.",
"errors": [{"field": "signed_document", "message": "..."}]
}
}
На дев-стенде доступен lk-emulator на порту 8083 — имитация ЛК. Он сам регистрирует свой URL в bj-server как callback-приёмник.
http://10.10.10.22:8083/ — журнал моих заявок (автообновление 3 сек)http://10.10.10.22:8083/new — форма «подать заявку» с предустановленными инвесторами из seed-данныхЛК должен подписать заявление XMLDSig (ГОСТ или RSA) и положить в поле signed_document (base64). Мы проверяем подпись через crypto-service — см. инструкцию по криптографии.
На M2 проверка подписи отключена (stub). На M3-M4 включится после подключения СКЗИ.