EXACT REPLAY · CONFLICT CLOSED
Идемпотентность команд
Idempotency-Key обозначает одну логическую mutation. Точный replay возвращает committed snapshot; тот же key с изменённым canonical input завершается 409 и не перезаписывает исходный результат.
- Граница выполнения
- Tenant-scoped durable command identity
- Exact replay and conflict detection
- РЕАЛИЗОВАНО
Контракты и исходные файлыOpenAPI, схемы и примеры для скачивания.
OpenAPI, схемы и примеры для скачивания.
Один key — одна команда
Создайте стабильный key до первого network attempt и храните его с canonical request.
Повторяйте exact bytes/semantics
После timeout не меняйте protected fields, пока не получили committed result или reconciliation outcome.
Считайте 409 конфликтом caller state
Не обходите конфликт новым key: сначала найдите исходную команду и расхождение.
Читайте replay evidence
Используйте Idempotency-Replayed и correlation headers, объявленные конкретной операцией.
curl -X POST http://localhost:8080/v1/eligibility/evaluations \
-H "Authorization: Bearer ${CERTARAIL_API_KEY}" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: bank-order-000001" \
--data-binary @request.json| Ситуация | Результат |
|---|---|
| Первый valid request | Commit resource/result и idempotency evidence |
| Тот же key + тот же canonical input | Вернуть исходный committed snapshot |
| Тот же key + изменённый protected input | 409 conflict, fail closed |
| Timeout до ответа | Повторить тот же key/input; не предполагать отсутствие commit |
Нашли неточность?
Участники private repository могут предложить правку через reviewed pull request. Остальные пользователи — отправить техническое сообщение без credentials и чувствительных данных.