Инструкция: настройка интеграции Wazzup -> 1С CRM

1. Назначение

Инструкция нужна для настройки и проверки интеграции Wazzup в CRM 4DEV: - входящие сообщения из Wazzup должны попадать в CRM; - исходящие сообщения из CRM должны корректно уходить через Wazzup; - webhook должен быть направлен в нужную базу; - при необходимости можно включить распределение чатов по ответственным.

2. Что обязательно должно быть настроено

Для работы Wazzup в системе нужны не только параметры в самом Wazzup, но и объекты в CRM.

2.1. Константы CRM

Используются следующие константы:

  1. РазделятьЧатыПоОтветственным Назначение: включает режим распределения чатов по ответственным. Значения: - Ложь — все пользователи с доступом к учетной записи Wazzup видят все чаты; - Истина — пользователь видит только чаты, назначенные ему по channelId.

  2. ПользовательНеразобранныхЧатовWazzup Назначение: пользователь по умолчанию для чатов, у которых при включенном распределении не найден ответственный по channelId.

2.2. Обязательные данные, которые не являются константами

  1. Учетная запись Wazzup в CRM_УчетныеЗаписиМессенджеров.
  2. Токен Wazzup API.
  3. Канал/каналы Wazzup с известным channelId.
  4. Настроенный webhook в Wazzup.
  5. При использовании распределения — записи в CRM_WazzupОтветственныеПоКаналам.

3. Подготовка перед настройкой

Перед началом проверьте: - у вас есть действующий API-токен Wazzup; - у вас есть публичный HTTPS-адрес опубликованной базы 1С; - адрес webhook в 1С отвечает кодом 200; - в CRM есть доступ к настройке учетной записи мессенджера и к разделу Диалоги.

4. Настройка учетной записи Wazzup в CRM

Откройте справочник CRM_УчетныеЗаписиМессенджеров и найдите или создайте учетную запись Wazzup.

Проверьте заполнение полей: - Wazzup_token — токен API; - Wazzup_channelId — идентификатор канала, если используется фиксированный канал; - Wazzup_channel — отображаемое название канала; - при необходимости Wazzup_Шаблон.

Убедитесь, что учетная запись активна и доступна нужным пользователям.

5. Проверка webhook в Wazzup

Проверьте текущий webhook запросом:

GET https://api.wazzup24.com/v3/webhooks
Authorization: Bearer <WAZZUP_API_KEY>

Проверьте: - webhooksUri указывает на нужную базу; - subscriptions.messagesAndStatuses = true.

Если в webhooksUri указана другая база, входящие будут уходить не туда.

6. Установка или исправление webhook

Если webhook указывает не на ту базу, обновите его:

PATCH https://api.wazzup24.com/v3/webhooks
Authorization: Bearer <WAZZUP_API_KEY>
Content-Type: application/json

Пример тела:

{
  "webhooksUri": "https://gds.4dev.app/api/hs/extint/wazzup/test",
  "subscriptions": {
    "messagesAndStatuses": true,
    "contactsAndDealsCreation": false,
    "channelsUpdates": false,
    "wabaTemplatesStatus": false
  }
}

Если Wazzup возвращает ошибку WEBHOOKS_REQUEST_NOT_VALID, это означает, что указанный URL не отвечает кодом 200. В этом случае: - проверьте endpoint вручную; - убедитесь, что указан правильный маршрут; - повторите PATCH после исправления.

7. Проверка каналов Wazzup

Проверьте доступные каналы:

GET https://api.wazzup24.com/v3/channels
Authorization: Bearer <WAZZUP_API_KEY>

Нужно проверить: - канал активен (state = active); - известен его channelId; - понятен тип transport.

Это важно для диагностики, если сообщения видны в Wazzup, но не отображаются в CRM.

8. Настройка распределения чатов по ответственным

Если распределение не требуется, оставьте: - РазделятьЧатыПоОтветственным = Ложь

Если распределение требуется: 1. Установите РазделятьЧатыПоОтветственным = Истина. 2. Заполните ПользовательНеразобранныхЧатовWazzup, если нужен fallback. 3. Заполните регистр CRM_WazzupОтветственныеПоКаналам: - ChannelId - ПользовательCRM - Активен = Истина

Ожидаемая логика: - если по channelId найден ответственный, чат назначается ему; - если не найден, чат идет на пользователя по умолчанию или в неразобранные.

9. Проверка входящего сообщения

Для пользовательской проверки лучше использовать реальное сообщение из внешнего аккаунта.

Порядок проверки: 1. Отправьте сообщение в подключенный канал Wazzup с внешнего аккаунта. 2. Убедитесь, что сообщение видно в Wazzup. 3. Убедитесь, что webhook ушел в вашу базу. 4. Проверьте, что в CRM: - создался документ CRM_СообщениеМессенджера; - чат появился или обновился в Диалогах.

Важно: - не тестировать входящее сообщением "самому себе" в сервисный канал; - если используется распределение, заранее проверьте наличие записи по channelId.

10. Проверка исходящего сообщения

Проверить исходящее можно из CRM или напрямую через API Wazzup.

Пример API-запроса:

POST https://api.wazzup24.com/v3/message
Authorization: Bearer <WAZZUP_API_KEY>
Content-Type: application/json

Пример тела:

{
  "channelId": "<CHANNEL_ID>",
  "chatType": "max",
  "chatId": "289480261",
  "text": "Тест исходящего"
}

Успешный ответ: - HTTP 201; - в ответе есть messageId и chatId.

Важно: это только подтверждение, что Wazzup принял сообщение. Для отображения результата в CRM должен прийти обратный webhook.

11. Что проверять в CRM при проблемах

Если в Wazzup сообщение есть, а в CRM его нет, проверьте: - правильный ли webhooksUri настроен в Wazzup; - используется ли нужный API-токен; - включен ли messagesAndStatuses; - активен ли канал; - есть ли корректная учетная запись Wazzup в CRM; - при включенном распределении назначен ли ответственный по channelId; - есть ли записи в Дев_ЖурналОбменаМессенджеры; - создаются ли документы CRM_СообщениеМессенджера.

12. Типовые причины, почему интеграция не работает

  1. Wazzup отправляет webhook в другую базу.
  2. Используется не тот токен API.
  3. Endpoint webhook не отвечает 200.
  4. Подписка messagesAndStatuses выключена.
  5. Канал активен в Wazzup, но не назначен в CRM при включенном распределении.
  6. Тип канала из webhook не обрабатывается ожидаемым образом в CRM.

13. Быстрый чек-лист

Перед сдачей настройки проверьте: - GET /v3/webhooks показывает правильный webhooksUri; - messagesAndStatuses = true; - GET /v3/channels показывает активный канал; - учетная запись Wazzup заполнена в CRM; - при необходимости заполнены константы распределения; - входящее сообщение фиксируется в CRM; - чат отображается в Диалогах; - исходящее сообщение уходит через Wazzup.

14. Шаблон обращения в техподдержку Wazzup

Здравствуйте.

По каналу <CHANNEL_ID> входящие сообщения видны в Wazzup, но webhook в нашу CRM не приходит.

Просим проверить: 1. delivery log webhook по времени <TIME_WINDOW>; 2. активность подписки messagesAndStatuses; 3. фактический payload и статус отправки webhook; 4. причину, если webhook по inbound не отправляется.

Наш текущий webhooksUri: <WEBHOOK_URL>.

  • Нет меток