Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Webhook - это новый сервис в iSpring Learn. Благодаря ему больше не нужно слать бесконечные запросы в API, чтобы отследить нужные изменения. Теперь можно получать уведомления о интересующих событиях в формате POST запроса по HTTP. Нужно просто Больше не нужно отправлять запросы в API, достаточно отследить изменения. Для этого нужно подписаться на интересующие события и иметь сервис, который будет обрабатывать уведомленияСуть и шаги интеграции:.

Как это работает

  1. Пользователь регистрирует подписчика. Он указывает URL, указывая URL на который будут в будущем приходит приходить сообщения. Для одного аккаунта может быть несколько подписчиков.
    Используйте запрос:
    POST  /webhook/register

  2. Пользователь подтверждает URL , отправив на него код с помощью кода подтверждения. После получения кода на указанный URL  URL пользователь подтверждает URL URL.
    Используйте запросы: POST  /webhook/code/send

...

  1. иPOST  /webhook/confirm
    С этого момента

...

  1. интеграция считается активной.

  2. Подписчик создается активным и может сразу получать сообщения. При желании подписчика Подписчика можно выключить и включить обратно.
    Используйте запросы: POST  /webhook/

...

  1. disableиPOST  /webhook/enable

  2. Подписчика можно удалить навсегда навсегда.
    Используйте запрос: POST  /webhook/remove

  3. Настройки подписчика можно изменить. Если меняется URL, его нужно снова подтверждать отправкой с помощью кода.  
    Используйте запрос: POST /webhook/settings/change

  4. Пользователь может подписать подписчика на предложенные события iSpring Learn. В рамках одного аккаунта разные подписчики могут быть подписаны на разные события. Но один Один подписчик может быть подписан только на событие одного типа типа.
    Используйте запрос: POST  /webhook/subscribe

  5. Пользователь может отписать подписчика от подписки.
    Используйте запрос: POST  /webhook/unsubscribe

  6. Пользователь может получить список подписок подписчика и информацию о подписчике подписчике.
    Используйте запросы: GET  /webhook/subscription/list

...

  1. иGET /webhook/subscriber/info

Отправка событий

Все события События отправляются последовательно. Webhook ожидает некоторое время и отправляет события списком. В список объединяются только подряд идущие события одного типа. Если встретится событие другого типа, то последовательность будет прервана и начнёт накапливаться новая последовательность.

Сервис При получении сервис подписчика должен возвращать 200 код при получении, все другие код 200. Другие коды будут считаться неудачей и , будет запущен процесс повторной отправки.

Повторная отправка

При неудачной отправке сервис будет пытаться попытается сделать повторную отправку. Делать это он будет в течение сутокЭто занимает сутки. Во время ожидания новой попытки события, события которые произошли, будут продолжать копиться. При успешной повторной попытке все события, которые накопились за время, пока сервис подписчика был недоступен, отправятся подряд. 

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

Подпись 

Подпись 

Webhook может подписывать запросы для Для проверки источника сообщений, webhook может подписывать запросы. Для этого используется настройка настройку secret. Если такая настройка была добавлена, то каждый запрос, отправляемый webhook, будет иметь заголовок X-Hub-Signature.

Содержимое формируется следующим образом: body отправляемого запроса конкатенируется с secret и затем полученная строка хэшируется алгоритмом SHA-256. Этот хэш и Хэш является содержимым заголовка.Запросы отправлять может только пользователь лерна с ролями: овнер, админ аккаунта

Информация
Отправлять запросы могут пользователи Learn с ролями Владелец и Администратор аккаунта.