WebHooks

WebHooks – это уведомление сторонних приложений посредством отправки уведомлений о событиях, произошедших в amoCRM. Вы можете настроить HTTP адреса ваших приложений и связанные с ними рабочие правила в настройках своего аккаунта, в разделе «API».

Примеры сценариев

  • После успешного завершения сделки вы можете отправить информацию о произошедшей транзакции в ваше приложение для денежного учёта и автоматически сгеренировать счёт для оплаты.
  • Вы можете добавлять e-mail новых контактов в CRM системе в список рассылки (например UniSender).
  • Вы можете настроить смс уведомления о произошедших изменениях в вашем аккаунте.

Список поддерживаемых сущностей

  • Сделка
  • Контакт
  • Компания
  • Покупатель
  • Задача

Список возможных событий

  • Добавление
  • Изменение
  • Удаление
  • Восстановление (сделка, контакт, компания)
  • Смена статуса (сделка)
  • Смена отвественного (сделка)
  • Добавление примечания (сделка, контакт, компания, покупатель)

Описание параметров в настройках

Имя поля Описание
Имя Устанавливает имя WebHook-а.
URL Устанавливает http адрес стороннего приложения.
Событие Устанавливается список событий, при которых будет отправлен WebHook на указанный URL.

Установка WebHooks

Установка WebHooks включает три следующих шага:

  1. Добавить WebHook
  2. Ассоциировать WebHook с рабочими процессами.
  3. Протестировать интеграцию.

Чтобы создать WebHook

  1. Зайдите в меню Настройки > API .
  2. В разделе WebHooks нажмите «Добавить WebHook».
  3. Введите URL WebHook-а.
  1. Выберите события, при которых будет отправляться уведомление.
  2. Нажмите «Сохранить».

Для тестирования интеграции

  1. Произведите действие, выбранное при создании WebHook-а.
  2. В вашем приложении проверьте данные, полученные из amoCRM.
  3. Если данные не пришли, проверьте правильность введённого URL и перейдите к пункту 1.

В каком формате отправляются данные

WebHook отправляет на стороннее приложение всю информацию о сущности в формате, описанном в GET запросах текущего раздела. POST переменная содержит массив следующего вида {“entity”:{“action”:{массив полей сущности}}} в случае создания и обновлении сущности, а также в виде {“entity”:{“action”:”id”}} в случае удаления сущности.

Пример массива:

  1. {
  2.     "leads": {
  3.         "status": {
  4.             "id": "25399013",
  5.             "name": "Lead title",
  6.             "old_status_id": "7039101",
  7.             "status_id": "142",
  8.             "price": "0",
  9.             "responsible_user_id": "102525",
  10.             "last_modified": "1413554372",
  11.             "modified_user_id": "102525",
  12.             "created_user_id": "102525",
  13.             "date_create": "1413554349",
  14.             "account_id": "7039099",
  15.             "custom_fields": [
  16.                 {
  17.                     "id": "427183",
  18.                     "name": "Checkbox custom field",
  19.                     "values": ["1"]
  20.                 },
  21.                 {
  22.                     "id": "427271",
  23.                     "name": "Date custom field",
  24.                     "values": ["1412380800"]
  25.                 },
  26.                 {
  27.                     "id": "1069602",
  28.                     "name": "Checkbox custom field",
  29.                     "values": ["0"]
  30.                 },
  31.                 {
  32.                     "id": "427661",
  33.                     "name": "Text custom field",
  34.                     "values": ["Валера"]
  35.                 },
  36.                 {
  37.                     "id": "1075272",
  38.                     "name": "Date custom field",
  39.                     "values": ["1413331200"]
  40.                 }
  41.             ]
  42.         }
  43.     }
  44. }

Ожидаемый ответ

При отправке запроса информация считается принятой, если в заголовке http ответа будет возвращён код от 100 до 299, согласно таблице кодов статусов w3.org.

Первая попытка отправки происходит сразу после совершения выбранного действия. В случае, когда попытка неудачна, произойдёт повторная отправка по правилам, представленным в таблице ниже.

Номер попытки Время, прошедшее с предыдущей попытки Коды ответа предыдущей попытки
2 5 минут 0-99, а также 300 и больше
3 15 минут 0-99, а также 300 и больше
4 15 минут 499 или от 500 до 599
5 1 час 499 или от 500 до 599