Перейти к содержанию

01.1.9 Make

Версия 1.1.0
Количество листов

Оглавление

История изменений

№1 Дата: 24.07.26 Автор:Ляшук Андрей RFC: RPL-2849 Версия: 1.1.0
Изменено:
• В “1.1 Параметры webhook события(webhook_events)” в параметр “event_type” добавлен тип события “5 — Изменение статуса коллаборации”.

1. Make

Сервис Make используется для получения и обработки событий, которые происходят в ИС Rippla.

Интеграция с сервисом осуществляется на основе документации сервиса.

1.1 Параметры webhook события(webhook_events)

Название Параметр Формат Обяз. Уник. Примечание
Идентификатор id serial да да
Тип события event_type enum да да Возможны следующие типы событий: 1 - Создание пользователя; 2 - Создание локации; 3 - Создание коллаборации; 4 - Создание кампании; 5 - Изменение статуса коллаборации.
Webhook URL webhook_url text да нет
Apikey apikey text да нет

1.2 Очередь отправки событий в Make

Очередь предназначена для отправки событий в Make.

Очередь состоит из:

  1. Брокера сообщений который предназначен для хранения информации о событии которое должно быть отправлено.
  2. Обработчика сообщений.

Повторная отправка сообщения очереди

Если сообщение не было обработано Обработчиком сообщений, должна выполняться повторная отправка сообщения Обработчику сообщений согласно настройкам повторной отправки сообщений.

Настройки повторной отправки сообщений

Настройка Значение Описание
Первоначальная отсрочка 30000 Первоначальная отсрочка отправки сообщения в миллисекундах.
Количество попыток 30 Количество повторных попыток отправки сообщения
Множитель отсрочки 1

1.2_1 Параметры сообщения “Webhook event”

Название Ключ Значение
Тип события event_type
Идентификатор сущности entity_id Сущность определяется согласно типу события.
01.1.9_1.2_1 Процедура отправки события в Make
  1. Наступает время обработки сообщения, брокер отправляет сообщение обработчику сообщений.
  2. Обработчик получает сообщение “Webhook event”.
  3. Выполняется логирование события с Payload:
  4. event - "received";
  5. title - “Webhook event”;
  6. data.event_type - Тип события, которое был получено в сообщении для которого была инициирована данная процедура;
  7. data.entity_id - Идентификатор события, который был получен в сообщении для которого была инициирована данная процедура.
  8. Если не имеется “Webhook события” тип события которого соответствует значению параметра “event_type”, который был указан в сообщении для которого была инициирована данная процедура:
    1. Логирование события с Payload:
      1. event - "processed";
      2. title - “Webhook event”;
      3. info - “Webhook event not found”;
      4. data.event_type - Тип события, которое был получено в сообщении для которого была инициирована данная процедура;
      5. data.entity_id - Идентификатор события, который был получен в сообщении для которого была инициирована данная процедура.
    2. Брокеру сообщений возвращается информация о том что сообщение было обработано. Дальнейшие этапы данной процедуры не выполняются.
  9. Если имеется “Webhook события” тип события которого соответствует значению параметра “event_type”, который был указан в сообщении для которого была инициирована данная процедура выполняется этап “5” данной процедуры.
  10. Выполняется запрос к сервису “Make”:
  11. Метод - POST;
  12. URL - Согласно “Webhook URL” webhook события, “Тип события” которого соответствует “event_type”, который был указан в сообщении для которого была инициирована данная процедура;
  13. Заголовки:
    1. x-make-apikey - Согласно “Apikey” webhook события, “Тип события” которого соответствует “event_type”, который был указан в сообщении для которого была инициирована данная процедура.
  14. С телом запроса:
    1. entity_id - “entity_id”, который был указан в сообщении для которого была инициирована данная процедура.
  15. Если запрос, который должен был быть выполнен на этапе “5” данной процедуры:
  16. Не был выполнен:
    1. Выполняется логирование события с Payload:
      1. event - "processed";
      2. title - “Webhook event”;
      3. error - “Can’t send request”;
      4. data.event_type - Тип события, которое был получено в сообщении для которого была инициирована данная процедура;
      5. data.entity_id - Идентификатор события, который был получен в сообщении для которого была инициирована данная процедура.
    2. Брокеру сообщений не возвращается информация о том что сообщение было обработано. Дальнейшие этапы данной процедуры не выполняются;
    3. Если сообщение “Webhook event” удаляется из очереди:
      1. В очередь “Очередь отправки сообщений в Телеграм” добавляется сообщение “Telegram message” с параметрами:
        1. text - “Callback to Make has not been processed. Reason: request was not sent. Event type: {event_type}. URL: {Webhook URL}. Headers: { "x-make-apikey": "{Apikey}" }. Body: { "entity_id": "{entity_id}" }”.
      2. Брокеру сообщений возвращается информация о том что сообщение было обработано. Дальнейшие этапы данной процедуры не выполняются.
  17. Был выполнен:
    1. И код ответа не “200”:
      1. Выполняется логирование события с Payload:
        1. event - "processed";
        2. title - “Webhook event”;
        3. error - “Webhook return error”;
        4. data.event_type - Тип события, которое был получено в сообщении для которого была инициирована данная процедура;
        5. data.entity_id - Идентификатор события, который был получен в сообщении для которого была инициирована данная процедура.
      2. Брокеру сообщений не возвращается информация о том что сообщение было обработано. Дальнейшие этапы данной процедуры не выполняются.
      3. Если сообщение “Webhook event” удаляется из очереди:
        1. В очередь “Очередь отправки сообщений в Телеграм” добавляется сообщение “Telegram message” с параметрами:
        2. text - “Callback to Make has not been processed. Reason: webhook returned error. Event type: {event_type}. URL: {Webhook URL}. Headers: { "x-make-apikey": "{Apikey}" }. Body: { "entity_id": "{entity_id}" }”.
        3. Брокеру сообщений возвращается информация о том что сообщение было обработано. Дальнейшие этапы данной процедуры не выполняются.
  18. И код ответа “200”, брокеру сообщений возвращается информация о том что сообщение было обработано. Дальнейшие этапы данной процедуры не выполняются.