Перейти к основному содержанию
Входящий хук — это адрес, на который внешняя система присылает событие: пришла оплата, оформлен заказ, закрыта сделка. Каждое новое событие запускает сценарии, привязанные к этому хуку. ИИ-бухгалтер получает событие вместе с поручением и разбирает его. Не путайте с вебхуком. Входящий хук принимает события от вас. Вебхук, наоборот, отправляет события Tungo на ваш сервер, например об окончании запуска. У них разные адреса, разные секреты и разная подпись. О вебхуках: Вебхуки.

Завести хук и сценарий

1

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

На платформе откройте Автоматизации → Хуки и правила, выберите компанию справа вверху и останьтесь на вкладке «Входящие хуки».
2

Заведите хук

Нажмите Новый хук. В поле «Название» напишите, откуда приходят события. Поля «Где в событии его номер» и «Секрет подписи» описаны ниже: без них сценарий сможет только готовить документы. Нажмите Сохранить.
3

Скопируйте адрес

Откроется окно с адресом хука. Скопируйте его сразу: больше он нигде не показывается.
4

Укажите адрес у отправителя

Вставьте адрес в настройки системы, которая будет присылать события. События отправляются запросом POST, обычно в формате JSON.
5

Привяжите сценарий

В разделе Автоматизации нажмите Новый сценарий, в поле «Когда запускать» выберите «По событию хука» и выберите хук в поле «Хук». В поручении опишите, что делать с событием.
Завести хук может тот, у кого в компании есть право «Заводить и менять автоматизации компании» и доступ к ИИ-бухгалтеру: события хука запускают платную работу ИИ. Сценарий по хуку вручную не запускается: кнопки «Запустить сейчас» у него нет, ему нужно событие. Проверить хук пробным событием и прогнать сценарий на прошлом событии без записи в 1С можно через API, см. справочник API.

Адрес хука служит паролем

Для отправки события не нужны ни вход, ни ключ: достаточно знать адрес. Кто знает адрес, может слать события этой компании. Храните его как пароль и не пересылайте в открытой переписке. Адрес показывается один раз, при создании. В списке хуков видны только его последние знаки, чтобы вы могли узнать, какой адрес настроен у отправителя. Если адрес потерян или попал к посторонним, в меню хука нажмите Перевыпустить адрес. Прежний адрес сразу перестанет работать, новый нужно указать у отправителя.

Подпись

Подпись доказывает, что событие прислал ваш отправитель, а не тот, кто узнал адрес. В поле «Секрет подписи» задайте секрет от 16 знаков и тот же секрет укажите у отправителя. После сохранения секрет не показывается. Отправитель считает HMAC-SHA256 от тела запроса с этим секретом и присылает результат шестнадцатеричной строкой в заголовке x-signature. Допустима приставка sha256=. Если ваша система кладёт подпись в другой заголовок, назовите его в поле «Заголовок с подписью». Пока секрет задан, событие без подписи или с неверной подписью не принимается. В списке хуков у такого хука стоит «Проверяется», у хука без секрета — «Без подписи». Пример запроса для проверки:

Номер события

Системы часто присылают одно и то же событие повторно, если не дождались ответа. Чтобы повтор не запустил сценарий второй раз, Tungo запоминает номер события. В поле «Где в событии его номер» укажите путь к номеру платежа или чека в теле события. Вложенные поля пишутся через точку: для события из примера это id, для номера внутри блока payment — payment.id. Событие с номером, который уже приходил, принимается, но сценарии не запускает. Номера помнятся бессрочно, поэтому отправитель не должен использовать один номер для разных операций: вторая будет считаться повтором. Если путь не задан, номер берётся из заголовка Idempotency-Key или X-Event-Id. Если нет и их, повтором считается событие с точно таким же телом, пришедшее вскоре после первого. Подпись и номер из тела события обязательны, если сценарий должен сам записывать документы в 1С. Без любого из них документы ждут человека: Разрешить сценарию запись в 1С.

Что получит отправитель в ответ

  • 202: новое событие принято, сценарии запускаются.
  • 200 с пометкой duplicate: это повтор, сценарии не запускались.
  • 401: подпись не сходится.
  • 404: такого хука нет. Так же отвечает выключенный и удалённый хук.
  • 413: событие слишком большое.
  • 429: событий слишком много или очередь запусков компании заполнена. Отправителю нужно повторить позже.
Если автоматизации компании стоят на паузе, события принимаются и ждут в очереди, пока паузу не снимут.

Что дальше