WORKSECTION

Вебхуки

Как работает вебхук?

Вебхуки — это удобный инструмент, который позволяет получать уведомления об изменениях в Worksection без необходимости постоянных запросов к API.

При возникновении определенных изменений в вашем аккаунте автоматически отправляется небольшой пакет данных на указанную вами HTTP-точку назначения. Вебхуки оповещают о событиях аккаунта, а не пользователя. Также можно подписаться на различные типы событий и указать проекты, по которым вы вы хотите получать данные.

Эта статья была вам полезна? Да, спасибо! Нет

Создание вебхука

Для создания вебхука зайдите в настройки аккаунта в раздел API
В поле
Мои вебхуки нажмите Создать.




  1. Введите URL, который будет принимать запросы вебхука.
    Он должен возвращать следующий http-ответ: (HTTP status: 200, Header: JSON, Body: {“status”: OK”}) на любой запрос за время до 5 секунд, иначе этот запрос будет считаться ошибочным.
  2. Выберите события, по которым будут отправляться запросы на указанный URL.
  3. Выберите произвольное количество проектов, по которым будут отправляться события. По умолчанию события будут отправляться по всем проектам.
  4. При необходимости укажите http user, http password для подключения через basic access authentication.
  5. Проверьте валидность вашего URL — нажмите кнопку Тест. 


Для подтверждения нажмите кнопку Создать.

Эта статья была вам полезна? Да, спасибо! Нет

Дополнительные настройки вебхука

По умолчанию созданный вебхук будет выключенным. Когда будет нужно – включите его вручную: 


Если указанный URL окажется невалидным, то при включении появится ошибка: 




При необходимости вебхук можно отключить и удалить. 




Вебхук может находиться в трех статусах: 
  • Серый – Выключенный”
  • Зеленый – Работает”
  • Оранжевый – Работает, но имеет неудачные попытки” 

Если произойдет 10 ошибок – вебхук будет автоматически выключен. 

Эта статья была вам полезна? Да, спасибо! Нет

Типы событий вебхука

СОБЫТИЕ
ОПИСАНИЕ
Создание задачиЗапускается, когда пользователь создает новую задачу
Редактирование задачиЗапускается при изменении задачи
Выполнение задачиЗапускается, когда задача меняет статус на выполнена”
Удаление задачиЗапускается при удалении задачи
Создание комментарияЗапускается, когда пользователь создает новый комментарий
Редактирование комментарияЗапускается при изменении комментария
Удаление комментарияЗапускается при удалении комментария
Создание проектаЗапускается, когда пользователь создает новый проект
Редактирование проектаЗапускается при изменении проекта
Эта статья была вам полезна? Да, спасибо! Нет

Пример использования вебхука

Включенный вебхук выглядит так:


При создании проекта на указанный URL прийдет следующее событие:

Эта статья была вам полезна? Да, спасибо! Нет

Получение вебхуков через API: get_webhooks

Метод get_webhooks может быть выполнен с использованием ключа административного API

https://youraccount.worksection.com/api/admin/v2/?action=get_webhooks&hash=HASH

или же с использованием OAuth 2.0 токена с scope = administrative:

curl -X GET -H "Authorization: Bearer <token_value>"
https://youraccount.worksection.com/api/oauth2?action=get_webhooks

Пример ответа:

{
    "status": "ok",
    "data": [
        {
            "id": "14",
            "url": "https://eoaerzysr8s23hq.m.pipedream.net",
            "events": "post_task,delete_task,reopen_task",
            "status": "active",
            "projects": "333"
        },
        {
            "id": "16",
            "url": "https://eolb4pffb2s43u.m.pipedream.net",
            "events": "post_task,post_comment,post_project",
            "status": "paused"
        }
    ]
}​
Эта статья была вам полезна? Да, спасибо! Нет

Создание вебхука через API: add_webhook

Метод add_webhook может быть выполнен с использованием ключа административного API


https://youraccount.worksection.com/api/admin/v2/?action=add_webhook&
url=<url>&events=<events>&http_user=<http_user>&http_pass=<http_pass>hash=HASH

или же с использованием OAuth 2.0 токена с scope = administrative:

curl -X GET -H "Authorization: Bearer <token_value>"
https://youraccount.worksection.com/api/oauth2?action=add_webhook&
url=<url>&events=<events>&http_user=<http_user>&http_pass=<http_pass>

ПАРАМЕТР
ОПИСАНИЕ
url
(Обязательный) URL вебхука
events
(Обязательный) Список событий через запятую, возможные значения: post_task, post_comment, post_project, update_task, update_comment, update_project, delete_task, delete_comment, close_task

По указанным событиям будут отправляться сообщения на URL вебхука
projects(Необязательный) Список ID проектов через запятую
Если нужно ограничить отправление событий только для определенных проектов
http_user
(Необязательный) Логин (при использовании базовой аутентификации доступа)
http_pass
(Необязательный) Пароль (при использовании базовой аутентификации доступа)

Пример успешного ответа:

{
    "status": "ok",
    "id": 16
}

Пример ошибки:

{
    "status": "error",
    "status_code": 11,
    "message": "Url should respond 200 HTTP_CODE and JSON {status:OK}",
    "message_details": "https://google.com"
}​​
​​
​​
Эта статья была вам полезна? Да, спасибо! Нет

Удаление вебхука через API: delete_webhook

Метод delete_webhooks может быть выполнен с использованием ключа админитративного API

https://youraccount.worksection.com/api/admin/v2/?action=delete_webhook&
id=<id>&hash=HASH

или же с использование OAuth2 токена с scope = administrative:

curl -X GET -H "Authorization: Bearer <token_value>"
https://youraccount.worksection.com/api/oauth2?action=delete_webhookd&id=<id>

ПАРАМЕТРОПИСАНИЕ
id(Обязательный) ID вебхука
Можно получить через метод get_webhooks

Пример ответа:

{
    "status": "ok"
}
Эта статья была вам полезна? Да, спасибо! Нет
Вторжение России в Украину Worksection прекратил работу на территории РФ Почему?
esc
или
Распечатать