Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
d24:develop:v3:backend:webhook [2024/01/24 09:54]
predeinay
d24:develop:v3:backend:webhook [2024/03/12 04:27] (текущий)
predeinay
Строка 2: Строка 2:
  
  
-Уведомления о создании / изменении заявки отправляются массивом POST методом с данными в формате JSON. +Уведомления о создании / изменении заявки ​или оповещения ​отправляются ​объектом или (опционально) ​массивом POST методом с данными в формате JSON. 
-В ответ на уведомление должен быть возвращен HTTP код 200, при отличном от 200 коде ответа,​ уведомление будет отправляться повторно.+В ответ на уведомление должен быть возвращен HTTP код 200, при отличном от 200 коде ответа,​ уведомление будет отправляться повторно ​через "​таймаут задержку"​. 
 +"​Таймаут задержка"​ рассчитывается по формуле log(fail_count)*backoff_interval,​ т.е. после первого неуспешного отправления следующие попытки будут продолжаться через 2, 12, 17, 22, 25 минут и т.д. 
 +Кол-во отправок при ошибках = 300 (примерно 10 дней), после чего сработает автоматический выключатель интеграции и дальнейшие попытки отправки вебхуков будут прекращены. 
 +RTT (таймаут соединения) = 1 секунда,​ если удаленный сервис не ответил за указанный RTT, система считает отправку неудачной. 
 + 
 +**Авторизация** 
 +  * удаленный сервис принимает запрос без авторизации (например https://​example.ru/​webhooks/​ds24) 
 +  * удаленный сервис принимает запрос с постоянным токеном в header любого вида (например https://​example.ru/​webhooks/​ds24) + headers : { API-TOKEN : Bearer <​любая последовательность>​} 
 +  * удаленный сервис принимает запрос с постоянным токеном в path или query параметром (например https://​example.ru/​webhooks/​ds24/​verysecretpath?​token=verysecrettoken) 
 + 
 + 
 +Вариации с вебхуками 
 +<code javascript>​ 
 +
 +    "​request_id":​ <​N>,​ 
 +    "​info_id":​ <​N>,​ 
 +    "​object":​ "<​object_type>",​ 
 +    "​event":​ "<​operation>"​ 
 +
 +</​code>​ 
 + 
 +N - целое число  
 +наличие request_id - событие по заявке 
 +наличие info_id - событие по оповещению 
 + 
 +object - принимает 3 вариации "​feed"​ / "​request"​ / "​oi"​ (лента / заявка / оповещение) 
 +event - принимает 3 вариации create / update / delete
  
 Пример запрос на удаленный сервер при создании новой заявки с ID=12313123 и изменении заявки с ID=567567 Пример запрос на удаленный сервер при создании новой заявки с ID=12313123 и изменении заявки с ID=567567
  
 <code javascript>​ <code javascript>​
 +// в виде массива
 [ [
     {     {
-        "​request_id":​ 12313123+        "​request_id":​ 12313123
 +        "​object":​ "​request",​ 
 +        "​event":​ "​create"​
     },     },
     {     {
-        "​request_id":​ 567567+        "​request_id":​ 567567
 +        "​object":​ "​request",​ 
 +        "​event":​ "​update"​
     }     }
 ] ]
 +// в виде объекта
 +{
 +    "​request_id":​ 12313123,
 +    "​object":​ "​request",​
 +    "​event":​ "​create"​
 +}
 +
 </​code>​ </​code>​
            
 При каких изменениях в заявке произойдет вызов удаленного сервера?​ При каких изменениях в заявке произойдет вызов удаленного сервера?​
  
-- Создание новой заявки +  * - Создание новой заявки 
-- Изменили статус +  ​* ​- Изменили статус 
-- Изменили исполнителя +  ​* ​- Изменили исполнителя 
-- Изменили ответственного +  ​* ​- Изменили ответственного 
-- Изменили описание заявки +  ​* ​- Изменили описание заявки 
-- Изменили причину обращения из справочника +  ​* ​- Изменили причину обращения из справочника 
-- Создали дочернюю заявку в РСО +  ​* ​- Создали дочернюю заявку в РСО 
-- Изменили срок выполнения заявки +  ​* ​- Изменили срок выполнения заявки 
-- Добавили комментарий к заявке +  ​* ​- Добавили комментарий к заявке 
-- Добавили файл к заявке+  ​* ​- Добавили файл к заявке
  
  
 +  * .
 +  * .
 +  * .
 +  * .
 +  * .
 +  * .
 +  * .
 +  * .
 +  * .
 +  * .
 +  * .
 +  * .
 +  * .
 +  * .
 +  * .
 +  * .
 +  * .
 +  * .
 +  * .
  
  
Строка 47: Строка 104:
  
  
-Online уведомления+<del>Online уведомления
  
 Вы можете получать моментальные уведомления о событиях в системе,​ таких как: Вы можете получать моментальные уведомления о событиях в системе,​ таких как:
Строка 231: Строка 288:
 }] }]
  
 +</​del>​
  • /var/www/html/wiki/data/attic/d24/develop/v3/backend/webhook.1706090097.txt.gz
  • Последние изменения: 2024/01/24 09:54
  • — predeinay