Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
d24:develop:v3:backend:webhook [2023/10/26 07:12]
pavlovaa
d24:develop:v3:backend:webhook [2024/03/12 04:27] (текущий)
predeinay
Строка 1: Строка 1:
-Документ описывает формат обмена данными Д24 с внешней системой.+====== ​Документ описывает формат обмена данными Д24 с внешней системой. ​======
  
-Online уведомления+ 
 +Уведомления о создании / изменении заявки или оповещения отправляются объектом или (опционально) массивом POST методом с данными в формате JSON. 
 +В ответ на уведомление должен быть возвращен 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 
 + 
 +<code javascript>​ 
 +// в виде массива 
 +
 +    { 
 +        "​request_id":​ 12313123, 
 +        "​object":​ "​request",​ 
 +        "​event":​ "​create"​ 
 +    }, 
 +    { 
 +        "​request_id":​ 567567, 
 +        "​object":​ "​request",​ 
 +        "​event":​ "​update"​ 
 +    } 
 +
 +// в виде объекта 
 +
 +    "​request_id":​ 12313123, 
 +    "​object":​ "​request",​ 
 +    "​event":​ "​create"​ 
 +
 + 
 +</​code>​ 
 +      
 +При каких изменениях в заявке произойдет вызов удаленного сервера?​ 
 + 
 +  * - Создание новой заявки 
 +  * - Изменили статус 
 +  * - Изменили исполнителя 
 +  * - Изменили ответственного 
 +  * - Изменили описание заявки 
 +  * - Изменили причину обращения из справочника 
 +  * - Создали дочернюю заявку в РСО 
 +  * - Изменили срок выполнения заявки 
 +  * - Добавили комментарий к заявке 
 +  * - Добавили файл к заявке 
 + 
 + 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 +  * . 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 +=== Документация ниже устарела и более не поддерживается === 
 + 
 + 
 +<del>Online уведомления
  
 Вы можете получать моментальные уведомления о событиях в системе,​ таких как: Вы можете получать моментальные уведомления о событиях в системе,​ таких как:
Строка 185: Строка 288:
 }] }]
  
 +</​del>​
  • /var/www/html/wiki/data/attic/d24/develop/v3/backend/webhook.1698304353.txt.gz
  • Последние изменения: 2023/10/26 07:12
  • — pavlovaa