Частые проблемы при настройке веб-хука

Файл или папка веб-хука удалены.

Суть: в публичной части сайта должна лежать папка mshooks и в ней файлы хуков для модулей. Проблема может возникать для сайтов с многосайтовостью, где в настройках модуля стоит не тот домен, где лежит папка.
Решение: проверить наличие файла в папке /mshooks/hook.php (hookstocks.php для модуля товаров), если файла или папки нет, то можно переустановить модуль.

Файл не доступен для чтения для всех пользователей (актуально для коробки Б24)

Суть: для коробки Б24 необходимо устанавливать отдельно права на чтение файлов из публичной части сайта.
Решение: нужно создать файл .access.php в папке веб-хука (/mshooks/) и дать право на чтение всех файлов папки.

Не верно настроенный адрес или контрольная строка

Суть: в настройках модуля необходимо перепроверить адрес сайта и контрольную строку у проставленных веб-хуков. Бывает, что в адресе сайта присутствует порт (пример: https://site.ru:443/mshooks/hook.php) или контрольная строка поменялась.
Решение: переустановить веб-хуки в настройках модуля, очистив порты с адреса сайта при их наличии.

Все настроено верно, но все равно не работает

Суть: даже при верной настройке хуки могут не работать, на это обычно есть несколько причин:
  • Ваш сервер отдает ответ отличный от 200 для папки и файла хука.
  • Не верно работает SSL сертификат.
Решение:
1) Проверить, что по адресу вашего веб-хука отдается ответ 200. Для этого:
  • скачайте расширение для Google Chrome Advanced REST client
  • запустите приложение и сделайте POST запрос по адресу вашего веб-хука. Пример:
  • посмотреть результат. Если ответ 200, то все хорошо, если нет, то стоит обратиться к хостеру и уточнить причину, далее необходимо добиться, чтобы ваш сайт отдавал 200 ответ на адрес веб-хука.
Если хостер попросит предоставить IP для разблокировки папки веб-хука, то предоставьте ему контрольную строку из модуля (для каждого модуля это будет разная строка).
IP адрес самого сервиса МС динамический, поэтому здесь нет возможности поставить исключение.
2) Проверить, что установлен корректный SSL сертификат на сервере через сервис: https://www.ssllabs.com/ssltest/index.html
Проблема может быть в том, что ответ на запрос МойСклад получает ошибку: has an incorrect SSL certificate. Необходимо удостовериться, что сертификат имеет корректные Certification Paths.

С каким запросом обратиться в поддержку МойСклад?

Если все настроено верно, но проблема с веб-хуками сохраняется, то необходимо написать запрос в сам МойСклад и уточнить у них какой ответ от сервера они получают.
Для этого необходимо написать в поддержку МС https://support.moysklad.ru/hc/ru/requests/new
Текст обращения:
Добрый день!
Хотим уточнить, корректно ли отрабатывает веб-хук по нашему адресу?
https://site.ru/mshooks/hook.php
Если нет, то какая ошибка на данный момент присутствует?
Адрес веб-хука вы можете скопировать из настроек модуля. Если в ответ будет с некорректным ответом (отличный от 200), то необходимо обратиться в вашу службу поддержки сайта.