START · LOCAL · ZERO EXTERNAL CALLS
Первый проверяемый запрос
Поднимите Local-контур, проверьте readiness и выполните один tenant-bound запрос. Результат фиксирует decision и evidence, но не вызывает провайдера и не перемещает деньги или активы.
- Граница выполнения
- LOCAL · NON_PRODUCTION_TEST_ONLY
- Local API и deterministic evidence
- РЕАЛИЗОВАНО
Контракты и исходные файлыOpenAPI, схемы и примеры для скачивания.
OpenAPI, схемы и примеры для скачивания.
Quickstart рассчитан на локальный checkout репозитория CertaRail.
- Docker Compose и локальный порт 8080 доступны только разработчику.
- Используются синтетические данные и заменяемый local credential.
- Provider, payment, custody, blockchain и regulator egress остаются отключены.
Поднимите Local-контур
Используйте Compose-профиль репозитория без production secrets и реальных данных.
Проверьте /readyz
Продолжайте только после ответа ready от authoritative decision store.
Передайте server-bound bearer
Tenant выводится сервером из credential; конфликтующий tenant отклоняется.
Зафиксируйте Idempotency-Key
Сохраните один key вместе с неизменным canonical payload до получения однозначного результата.
Прочитайте decision и receipt
Проверяйте reason codes, replay headers и safety fields, не выводите execution из статуса APPROVED.
Пример использует только synthetic references и тестовую сумму.
curl -X POST http://localhost:8080/v1/eligibility/evaluations \
-H "Authorization: Bearer <sandbox-bearer>" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: bank-order-000001" \
-d '{
"request_id": "bank-order-000001",
"tenant_id": "sandbox-bank",
"facts_observed_at": "2026-08-24T18:20:00Z",
"operation": "BUY",
"asset_code": "DEMO-BTC",
"amount": { "currency": "RUB", "minor_units": 25000000 },
"client": {
"subject_ref": "cust_7fd2",
"facts_version": "kyc-443",
"residency": "RU",
"investor_category": "RETAIL",
"kyc_status": "VERIFIED",
"screening_status": "CLEAR",
"knowledge_test": {
"passed": true,
"passed_at": "2026-08-01T00:00:00Z",
"valid_until": "2027-08-01T00:00:00Z"
},
"risk_disclosure": {
"accepted": true,
"version": "sandbox-risk-v1",
"accepted_at": "2026-08-24T18:15:00Z"
},
"annual_volume": { "currency": "RUB", "minor_units": 10000000 }
},
"intermediary": { "kind": "BROKER", "regulated": true }
}'- Повтор с тем же key и тем же payload возвращает committed result.
- Тот же key с изменённым payload завершается конфликтом 409.
- Safety metadata сохраняет external calls = 0 и non-monetary boundary.
Нашли неточность?
Участники private repository могут предложить правку через reviewed pull request. Остальные пользователи — отправить техническое сообщение без credentials и чувствительных данных.