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.com/api/admin/v2/?action=get_webhooks&hash=HASH

або ж з використанням OAuth 2.0 токену з scope = administrative:

curl -X GET -H "Authorization: Bearer <token_value>"
https://youraccount.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"
}
Ця стаття була вам корисною? Так, дякую! Ні
esc
или
Роздрукувати