Документация Accelera

Передача событий из Loyalty API во Flow

Этот раздел описывает, как после выполнения методов API в системе Flow генерируются триггеры, которые сигнализируют о выполнении определенных действий. Триггеры содержат информацию о запросе и ответе, что позволяет системе реагировать на события и выполнять дальнейшие действия.

Основные моменты

Структура триггера

Каждый триггер содержит следующие данные:

  • Trigger_name: Название триггера (например, loyalty-tasks, loyalty-purchase, loyalty-transaction).
  • Context: Контекст события, который включает:
    • api: Используемый API (в данном случае internal).
    • method: HTTP-метод (post, get, put, delete).
    • code: Код ответа (например, 200, 500, 404).
    • path: Путь запроса.
    • type: Тип запроса (например, clients).
    • params: Параметры запроса.
    • body: Тело запроса (данные, переданные в запросе).
    • response: Ответ от API (данные, полученные после выполнения запроса).

Разделение методов

Для разделения методов в рамках одного триггера используется ключ method.

Это позволяет системе понимать, какое действие было выполнено: создание, получение, изменение или удаление сущности.

Примеры событий

В разделе приведены примеры событий, которые генерируются после выполнения методов API:

Событие создания/изменения статуса задания

  • Trigger_nameloyalty-tasks
  • Context:
{
  "api": "internal",
  "method": "post",
  "code": 200,
  "path": "/internal/tasks/clients",
  "type": "clients",
  "params": {},
  "body": {
    "client_id": "test_id",
    "environment_id": "my_loyalty"
    "id": "task_1",
    "status": "completed",
    "progress": 100,
    "details": "Задание выполнено успешно"
  },
  "response": {
    "id": "task_1",
    "client_id": "test_id",
    "status": "completed",
    "progress": 100,
    "details": "Задание выполнено успешно"
  }
}

Событие покупки item'а

  • Trigger_nameloyalty-purchase
  • Context:
{
  "api": "internal",
  "method": "post",
  "code": 200,
  "path": "/internal/wallet/purchase",
  "type": "clients",
  "params": {},
  "body": {
    "client_id": "test_id",
    "environment_id": "my_loyalty"
    "id": "item_id",
  },
  "response": {
  }
}

Событие транзакции валюты

  • Trigger_nameloyalty-transaction
  • Context:
{
  "api": "internal",
  "method": "post",
  "code": 200,
  "path": "/internal/wallet/transaction",
  "type": "clients",
  "params": {},
  "body": {
    "client_id": "test_id",
    "environment_id": "my_loyalty"
    "id": "wallet_id",
    "amount": 10
    "expired_at": null
  },
  "response": {
  }
}

На этой странице