# 360dialog (WhatsApp)

360dialog — официальный провайдер WhatsApp Business. Используя Коннектор “Dialog360” можно подключить Бота в WhatsApp Business Account (WABA). Подробнее о правилах WhatsApp можно узнать в документации 360dialog.

## Подключение

### 1. Конфигурация на стороне 360dialog

В первую очередь нужно произвести конфигурацию на стороне 360dialog.

1. Зайдите в аккаунт [360dialog](https://hub.360dialog.com/auth/login). На главной странице будет выведен список зарегистрированных бизнес-аккаунтов WhatsApp ([подробнее о том, как зарегистрировать WhatsApp Business Account](https://www.facebook.com/business/help/2087193751603668?id=2129163877102343)).
2. ![аккаунты.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-zZ4ez_NiCj/1512835285c1fae1cece3f647378f886bec7e0db6e436550afbc37b45d0ca2fb34283fb9b908f735dbd55615eaf00235bdddc1fb94bef81a7d5fd4a9d0067004f54e562d911a08382eb0264aabab3e5e27984e0e7fd7b5d3240b87c1b059c4492bba2d4f)
3. Выберите бизнес-аккаунт, к которому необходимо подключить Агента.
4. Получите токен доступа по [инструкции](https://docs.360dialog.com/api-key).
5. Скопируйте токен доступа.

### 2. Конфигурация канала агента в Платформе

Агенту необходимо создать и настроить Канал Проекта с Коннектором

1. Кликните по кнопке настроек Агента.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-m_bL4GvN1_/de0e6c51b47058d8e7854370e44e3e29e8d1195855e34484c55e0ba55e6f4cbc2f103ac4ebcc2b78bf606d6b02118303275d07760b64f89e5ea954cd86466379ab9850814435bbe8d5ab7d3e80e7ac68c8a471b3ba0022e97fb3209a771f11a86b6c817e)
2. Нажмите кнопку Add channel.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-KJ7zJqauLN/e76804ae1c32c84507914bcbac89b59e5fa7160e857084643655c65f3192dbec4709a2cd8abae87edc6a858acbd80d17c3296d23c47a2c39eccf56433201a9779ccf4ea2580c347508e5f68b0ee94654585fa349ceadd2e6587a4bdebd6c5d9715835322)
3. Откроется панель выбора Конечный канал.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-5Ww2gIGGXF/ce3632838f416371ce2ced699e5f46dd1a07c67f8e5959638ff45e6fffc1ec5601e2896bf1aa2c0bd1d0cec0a04aea21ff6b70f385b42943e3257aff3ef0511b5667d6a4f872670177764a27678a9b42e4b2387e7101f1934c2af018f031f8725e5cb0f9)
4. Выберите 360dialog (Whatsapp).
5. Откроется панель создания Канал Проекта.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-DbHiwOk5kY/fb61b99ff066dbaf7dbc6f7833eb615f317f293ca761127fd61b4358f1e71e671b532742acf09b11bd8d6f908240e558f3ad8c855a8dd08a9edcfd4c37fe4922d0a6ab5db9c693de9481547a667b91039a1c30d5cd20a173ab25fffc84337f21bc7e61ba)
6. По необходимости пропишите заголовок для данного Канал Проекта в поле названия с плейсхолдером New channel.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-9a6fVvEvCV/716461a8fe87288f773b86e2951ec8cd1d27c6648c27e14aa151e5619b0f3b5e0553541ebbbd5b67b8e0a5da3b8d855a7e821913eaca82bb60668c4adcff7aa287bec6d4d01b103bc3d0b90374cf36f9e768f024f37d13d3e7955ae2b5ba32eed6d93bdc)
7. Вставьте скопированный ранее токен в поле 360Dialog token.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-fs_Xnr0ioA/182f03fd2ef1a0f25a0f12a8ba23364e4bae9e011b4c00707417985feab20346bba98b28859ba635a8340e73b99e211e09f4d87a8f1aa108601ece850d43683747a4a993e69e8454d3315f04515c637c4ad119c724d0b8009905769f52c409642ce1c383)
8. Для сохранения Канал Проекта без его активации, нажмите кнопку CREATE.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-aZAsjpVgHs/6e6eb98237f36d92c1ed59e8aee9aae455c0004a995c4c0e84c8fc7cc6f9f4ffa69b390cd50d4da73a1ccf8b09b0dfa6c95521d16b0711a2c8800c6ea0d0616c8f4897919609cbf41d0357522e602877f65eba219ad7322c4e4a8556330ec15ab02fd91f)
9. Для сохранения и активации Канал Проекта, нажмите кнопку CREATE & ACTIVATE.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-6dM0-FHY5c/9ca81a10e37129d1db48710ccfd5c0cc5fdbc5294596f72379e99810b2d0731d5eb503b8d3d766d13c3c0d019babcf8985d1f8a63a64454d7cf8b3b53d14a526c16229a52fb47ca297863f09c6ea741cabe584b496f15736ba71d91faab94396046eef87)
10. 1. Канал Проекта будет сохранен и активирован, если:
    2. 1. Агент обучен;
       2. токен в поле 360Dialog token уникален (нет ли активных Канал Проекта того же типа с тем же значением в поле);
       3. будет доступен адрес Канал Проекта;
       4. удастся зарегистрировать вебхук канала.
    3. Канал Проекта будет сохранен, но не активирован, если одно или больше условий не будут выполнены.
11. Для отмены создания Канал Проекта нажмите кнопку CANCEL.\
    ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-oX8nJtAcrO/4eff07b0765b464022e345c4ea0e394e704c26a5ac0d2f7e36e3973775394282868cd577b8c4ee5ba8d3a180ed49f865da9b5e90026482a8f9e24e17a31e9c555d1836d6112e75882ecc50747f69ab4733dca7204f746e7adb207a53888589673bed1f5e)

## Редактирование и удаление Канала Агента

Для редактирования Канал Проекта, необходимо кликнуть по его иконке на карточке Агента.\
![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-m0Nvp0Vxv-/2da472949e9bbc881c8374fdff61fb31407c130fe9d0cd3fa76d1bde27aa2ca70f401b13d4eda1ed31d72c8fb4cb51d013c1507dca7697488760209ca961ec75a6b16efc424482579408225f9d498383203b7afef05c03328f02b81f55422bd2cc227f50)

1. Чтобы отредактировать значение в любом поле, кликните по полю и впишите новое значение.
2. Чтобы применить изменения к активированному Канал Проекта, нажмите кнопку APPLY.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-cRvHAluNt3/930a04b629f4161e89d8b41cdf95e7baacbe8e1c50e94580e83e6b2a55f886619588c04f364fe16a5415d2dcf81531a37cfca48e82ea643a03174abaabe0ab3c0676189f532edf422bf42206fb36e04d5cd90db054d395d65b45c3300dab3728abb921bb)
3. 1. Изменения будут применены, если:
   2. 1. Агент обучен;
      2. токен в поле 360Dialog token уникален (нет ли активных Канал Проекта того же типа с тем же значением в поле);
      3. будет доступен адрес Канал Проекта;
      4. удастся зарегистрировать вебхук канала.
   3. Изменения не будут применены, если одно или больше условий не будут выполнены.
4. Чтобы деактивировать  Канал Проекта, нажмите кнопку DEACTIVATE.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-KXdopa3Bl0/604771b08d8445fb2438adbb9db045462e37ba3f6734bd1fe8734b265e11adadaa84396681236ec43e288ca2893597bedeecae75b9c5f9b0769f7b19af25de96fdc852d13cb33980fd4f678d895739e3d59444684c4c08fffbe28eb82b14117972b87819)
5. Чтобы применить изменения к деактивированному Канал Проекта, нажмите кнопку SAVE.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-shScHPRrlc/896e12a97a12097cba47bdcab83715abe10f5d0915f5168dc5fc9eae5c4b0fcf0f9eac6fbc562326ad419abbfb007b581a040fee9087649ab1b9d89253dc3d5a0d9db1222e1e008a17ab61ea756a33d4d02eee139d909d0ff6cf4fff7402c5a54281add3)
6. Чтобы применить изменения и активировать Канал Проекта, нажмите кнопку SAVE & ACTIVATE.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-3mDuNLpLAo/925f354c28145485b4f719a9afc9a05bf4a2d5fb6238512f1cd21356948ef4fcd80fd2970f83e72e7090a34f2915e6e4102ca5588986bc758f496680cf85a3cf1bd92ee29735a60394dae8ac48df5a015ecfbddd9e1d0acfcf131ec78404d1a2dc5c6793)
7. 1. Изменения будут применены и Канал Проекта будет активирован, если:
   2. 1. Агент обучен;
      2. токен в поле 360Dialog token уникален (нет ли активных Канал Проекта того же типа с тем же значением в поле);
      3. будет доступен адрес Канал Проекта;
      4. удастся зарегистрировать вебхук канала.
   3. Изменения будут применены, но Канал Проекта не будет активирован, если одно или больше условий не будут выполнены.
8. Чтобы отменить внесение изменений, нажмите кнопку CANCEL.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-bv28lAoFTt/4de8ee371a92496b33975f899f5066708bd6333d226c7c4ecad79a404f2d7f98ee9c892ea07ecc86b2461d082224328d217e2e5c3ef9ca1ff2a72d78e8f938aed2fd55fa362c4768a170a48f5bb7a1ffbe57cc694400c6486fd62ac656ccbe01f3a315e3)
9. Чтобы удалить Канал Проекта, нажмите кнопку DELETE.\
   ![image.png](https://codahosted.io/docs/_pM7PjYCmj/blobs/bl-7xONZi_hN2/1c9d9018eecf182531c4e7efbd29247a148cd51f53c85e0fd163109d8cf73e35a5141af2f877ebfd41889fe6679319a646f466489089fd4bef1ab07ec5828d45f6b4087953e9e46178028128ee755f7c23d4752b0fe7df286fdce445148d9af2e86c4d9b)

## Общение

Взаимодействие с данным Конечный канал  происходит по асинхронному методу, с использованием [WhatsApp Business API](https://www.whatsapp.com/business/api/?lang=ru).

### Шаблоны рассылок

Шаблоны — это сообщения, с помощью которых Бот в WhatsApp стартует Чат с Собеседником. Чтобы произвести рассылку по Собеседникам в WhatsApp, необходимо создать шаблон, отправить на согласование, в случае неуспеха переформулировать и отправить новый шаблон, а в случае согласования инициировать рассылку с помощью Слота Notification.Подробнее: Создание и согласование шаблонов рассылочных сообщений в 360dialog

> Важно: стартовать Диалог с Собеседником возможно только через отправку шаблона рассылки через Слот Notification. Подробнее: Рассылки в WhatsApp| Слот Notification.

| Переменная                  | Конечный канал       | Переменная в запросе из канала                 | Примечания                                                                                                                |
| --------------------------- | -------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| channel\_conversation\_id   | 360dialog (Whatsapp) | response\["messages"]\[0]\["from"]             |                                                                                                                           |
| channel\_visitor\_id        | 360dialog (Whatsapp) | response\["messages"]\[0]\["from"]             |                                                                                                                           |
| channel\_visitor\_firstname | 360dialog (Whatsapp) | response\["contacts"]\[0]\["profile"]\["name"] | До первого пробела, может отсутствовать                                                                                   |
| channel\_visitor\_lastname  | 360dialog (Whatsapp) | response\["contacts"]\[0]\["profile"]\["name"] | После первого пробела, может отсутствовать                                                                                |
| channel\_visitor\_phone     | 360dialog (Whatsapp) | response\["messages"]\[0]\["from"]             | После отправки рассылки Слотом Notification в эту переменную попадает номер телефона, на который была отправлена рассылка |
| channel\_visitor\_email     | 360dialog (Whatsapp) | Нет                                            |                                                                                                                           |
| channel\_visitor\_account   | 360dialog (Whatsapp) | response\["messages"]\[0]\["from"]             | номер телефона пользователя                                                                                               |
| channel\_visitor\_auth      | 360dialog (Whatsapp) | Нет                                            |                                                                                                                           |
| channel\_visitor\_source    | 360dialog (Whatsapp) | Нет                                            |                                                                                                                           |

| Функционал общения                                                             | Конечный канал       | Доступность в канале | Примечания                                                                                                                                                                                                                                                                                                                                                           |
| ------------------------------------------------------------------------------ | -------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| channel\_chat\_id                                                              | 360dialog (Whatsapp) | Да                   | Формат: номер телефона собеседника начиная с телефонного кода страны без знака +\|dialog360                                                                                                                                                                                                                                                                          |
| Сообщения дойдут до собеседника, если агент напишет первый в существующем чате | 360dialog (Whatsapp) | Частично             | Агент может стартовать диалог с помощью отправки согласованного шаблона рассылки, подробнее: согласование шаблонов. Однако в 360dialog диалог длится 24 часа, по истечении этого времени отправленное Агентом через Incoming Request сообщение не дойдет до Собеседника                                                                                              |
| Кнопки                                                                         | 360dialog (Whatsapp) | Частично             | <ul><li>Если в кнопочном меню не более 3х кнопок, то они будут отправлены как кнопки;</li><li>Если в кнопочном меню более 3х кнопок, то они будут отправлены как нумерованный список, например:</li></ul><ol><li>Один</li><li>Два</li><li>Три</li></ol><p>Чтобы сценарий вышел в нужную ветку, пользователь должен отправить лейбл кнопки, например, текст Один.</p> |
| Перевод на оператора                                                           | 360dialog (Whatsapp) | Нет                  | В 360dialog нет операторского софта                                                                                                                                                                                                                                                                                                                                  |
| Передача файлов в виде файлов от Агента (Attachment)                           | 360dialog (Whatsapp) | Частично             | Картинку не передает, видео передает, аудио передает в виде аудиофайла, файл передает в виде файла для скачивания                                                                                                                                                                                                                                                    |
| Передача файлов в виде ссылок от Агента (Attachment)                           | 360dialog (Whatsapp) | Да                   | Происходит попытка отправки картинки\файла спец.методом, если формат файла по ссылке не подходит, канал ответит техническим сообщением об ошибке и тогда мы повторим отправку сообщения но уже отправим ссылку на файл\картинку простым текстом.                                                                                                                     |
| Получение файла от Собеседника в сценарий                                      | 360dialog (Whatsapp) | Да                   | Формат: file:тип файла\|id передаваемого файла\|<https://waba.360dialog.io/v1/media/id> передаваемого файлаПример: file:document\|7b825480-9148-44a7-9454-b60d7f433e14\|<https://waba.360dialog.io/v1/media/7b825480-9148-44a7-9454-b60d7f433e14>                                                                                                                    |
| Получение геолокации от собеседника в сценарии                                 | 360dialog (Whatsapp) | Нет                  |                                                                                                                                                                                                                                                                                                                                                                      |
| Доставка сообщений более 1000 символов от Агента до Собеседника                | 360dialog (Whatsapp) | Да                   |                                                                                                                                                                                                                                                                                                                                                                      |
| Использование маркдауна                                                        | 360dialog (Whatsapp) | Нет                  |                                                                                                                                                                                                                                                                                                                                                                      |
| Рассылки с помощью Notification                                                | 360dialog (Whatsapp) | Да                   | <p>Перед созданием слота Notification необходимо проделать следующие действия:</p><ol><li>Создать шаблон в 360dialog (подробнее: WhatsApp (360dialog)).</li><li>Создать канал Whatsapp (360dialog) (подробнее: WhatsApp (360dialog)) (без этого Слот не удастся сохранить).</li></ol><p>Важно: к одному WABA можно подключить только одного Агента.</p>              |
| channel\_chat\_id                                                              | 360dialog (Whatsapp) | Да                   | Формат: номер телефона собеседника начиная с телефонного кода страны без знака +\|dialog360                                                                                                                                                                                                                                                                          |
