Sobes.tech
Middle

POST /api/v1/transfers/internal ● Clé d'idempotence : UUID (obligatoire) ● Authorization : Bearer <token> { "source_account_id": "83740e53-689c-[phone]f9e61f22401", "destination_account_id": "[phone]f5c-[phone]a", "amount": 1500.50, "currency": "USD", "description": "Paiement pour le loyer", "save_as_template": true } { "status": "success", "transaction_id": "77e1c83b-7bb0-437b-9250-8c9339e0538b", "data": { "amount": 1500.00, "currency": "USD", "executed_at": "[phone]T23:15:00Z", "template_saved": true } } [Le diagramme de séquence et le schéma de la base de données sont fournis pour le contexte du service de transfert, de la logique métier, de la publication d'événements et de la structure de la base de données.]

sobes.tech IA

Réponse de l'IA

Данный запрос описывает внутренний перевод между счетами через API с обязательным заголовком Idempotency-Key для обеспечения идемпотентности операции и авторизацией по токену.

Ключевые моменты:

  • Idempotency-Key — уникальный UUID, который гарантирует, что повторный запрос с тем же ключом не приведёт к повторному списанию средств.
  • Тело запроса содержит идентификаторы счетов, сумму, валюту, описание и флаг сохранения шаблона.
  • В ответе возвращается статус, ID транзакции и данные о выполнении, включая факт сохранения шаблона.

Пример использования идемпотентности:

Если клиент случайно отправит запрос дважды (например, из-за таймаута), сервер по Idempotency-Key распознает повтор и не создаст дублирующую транзакцию.

Проверка бизнес-логики:

  • Проверка баланса на исходящем счёте.
  • Валидация валюты и суммы.
  • Обновление балансов в базе.
  • Публикация событий для других сервисов.

Это обеспечивает надежность и согласованность при выполнении внутренних переводов.