Передача событий из 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 (данные, полученные после выполнения запроса).
- api: Используемый API (в данном случае
Разделение методов
Для разделения методов в рамках одного триггера используется ключ method.
Это позволяет системе понимать, какое действие было выполнено: создание, получение, изменение или удаление сущности.
Примеры событий
В разделе приведены примеры событий, которые генерируются после выполнения методов API:
Событие создания/изменения статуса задания
- Trigger_name:
loyalty-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_name:
loyalty-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_name:
loyalty-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": {
}
}