Как я подключил официальный бизнес API WhatsApp через Twilio

Как известно, WhatsApp не так давно начал предоставлять доступ к своему официальному бизнес API, который так необходим для создания чат-ботов для этого мессенджера «белыми» методами.

WhatsApp Messenger
WhatsApp Messenger

Но сделать это напрямую большинству компаний по прежнему не под силу, а только через крупных партнеров Facebook, которые в данном случае выступают в роли посредников.

Одним из таких доступных партнеров является американская компания Twilio. Самое основное их преимущество на мой взгляд, это невысокая стоимость использования WhatsApp Business API.

Я подключил через Twilio официальный бизнес API WhatsApp и сейчас подробно расскажу, как это сделать.

Основным условием Facebook является наличие зарегистрированного юридического лица, например ООО или ИП, на физическое лицо доступ получить не получится.

Итак, начнем двигаться по шагам.

1. Создание аккаунта в Facebook Business Manager

Войдем в свой личный аккаунт в Facebook и создадим аккаунт Business Manager, для чего перейдем по ссылке https://business.facebook.com/overview и нажмем кнопку "СОЗДАТЬ АККАУНТ", откроется окно для ввода данных компании.

Создание аккаунта Business Manager в Facebook
Создание аккаунта Business Manager в Facebook

Согласно подсказкам над полями, вводим название компании, имя и фамилию, e-mail и нажимаем кнопку "Отправить".

В следующем окне введем информацию о компании и нажмем кнопку "Отправить".

Добавление информации о компании при создании аккаунта в Facebook Business Manager
Добавление информации о компании при создании аккаунта в Facebook Business Manager

После отправки появится сообщение, что аккаунт создан и необходимо подтвердить адрес электронной почты.

Необходимость подтверждения адреса электронной почты при создании аккаунта в Facebook Business Manager
Необходимость подтверждения адреса электронной почты при создании аккаунта в Facebook Business Manager

Зайдем в почту и нажмем на кнопку "Подтвердить" из письма.

Подтверждение адреса электронной почты при создании аккаунта в Facebook Business Manager
Подтверждение адреса электронной почты при создании аккаунта в Facebook Business Manager

2. Регистрация аккаунта в Twilio

Зарегистрируем аккаунт в Twilio по ссылке http://twilio.com/try-twilio. Сделать это совсем не сложно, регистрация бесплатная и не требует данных банковской карты, нужно только ввести имя, фамилию, e-mail и придумать пароль.

Регистрация аккаунта в Twilio
Регистрация аккаунта в Twilio

Подтверждаем e-mail.

Подтверждение e-mail при создании аккаунта в Twilio
Подтверждение e-mail при создании аккаунта в Twilio

Подтверждаем номер телефона.

Подтверждение телефона при создании аккаунта в Twilio
Подтверждение телефона при создании аккаунта в Twilio

3. Запрос в Twilio на активацию возможности добавления WhatsApp отправителей

Подготовим и отправим запрос в Twilio на активацию возможности добавления WhatsApp отправителей, для чего перейдем в раздел «WhatsApp Senders» по ссылке www.twilio.com/console/sms/whatsapp/senders и нажмем кнопку «Sign Up to Receive Updates».

Открытие формы запроса на активацию возможности добавления WhatsApp отправителей в Twilio
Открытие формы запроса на активацию возможности добавления WhatsApp отправителей в Twilio

Откроется форма запроса на активацию возможности добавления WhatsApp отправителей в Twilio. Заполняем поля формы данными, которые указывались выше, при создании аккаунта в Facebook Business Manager:

First Name - Имя (латиницей);

Last Name - Фамилия (латиницей);

Phone Number - Номер телефона компании (указанный в Facebook Business Manager);

Email Address - Адрес электронной почты компании (указанный в Facebook Business Manager);

Company Name - Название компании (латиницей, указанное в Facebook Business Manager);

Company Website - Веб-сайт компании (указанный в Facebook Business Manager);

Company HQ Country - Страна регистрации компании (указанная в Facebook Business Manager);

Twilio Account SID - Идентификатор аккаунта Twilio скопировать из поля ACCOUNT SID на странице https://www.twilio.com/console;

Скопировать Account SID в Twilio
Скопировать Account SID в Twilio

Facebook Business Manager ID - Идентификатор созданного аккаунта в Facebook Business Manager скопировать из поля "Идентификатор Бизнес-менеджера:" на странице https://business.facebook.com/settings/info (Facebook Business Manager -> Настройки компании -> Информация о компании);

Скопировать Facebook Business Manager ID
Скопировать Facebook Business Manager ID

I've completed Facebook Business Verification - ставим "No", если в Facebook Business Manager -> Настройки компании -> Информация о компании -> Статус подтверждения компании -> указано "Не подтверждена" или "Yes", если "Подтверждена";

Company Vertical - выбираем из списка направление деятельности компании;

What is your use case? - выбираем из списка, для чего будет использоваться WhatsApp: Notifications (Оповещения), Customer Support (Поддержка клиентов), 2FA or User Verification (Двухфакторная аутентификация или верификация пользователей);

Which regions are you sending messages to? - В какие регионы будут отправляться сообщения (выбираем из списка Global);

How many messages are you sending per month during the first year? - Сколько сообщений будет отправляться в месяц в течение первого года (выбираем из списка нужный диапазон);

I wish to provision this account with a third party vendor - Будет ли предоставляться эта учетная запись стороннему поставщику (выбираем "No");

Assign approval to alternate Account SID (Optional) - Назначить утверждение альтернативному SID учетной записи (необязательно) (ничего не вводим, оставляем поле пустым);

I understand Twilio can modify my SMS/Voice URL and that approval is only for the brand submitted. - Я понимаю, что Twilio может изменять мой URL-адрес SMS / голосового сообщения, и это одобрение предназначено только для отправленного бренда (соглашаемся и выбираем "Yes").

Заполняем поля формы запроса на активацию возможности добавления WhatsApp отправителей в Twilio
Заполняем поля формы запроса на активацию возможности добавления WhatsApp отправителей в Twilio

Для отправки запроса, нажимаем кнопку "Request Now". После успешной отправки появится соответствующее уведомление: "Спасибо за Ваш интерес. Мы будем держать Вас в курсе по мере открытия доступа".

Уведомление об успешной отправке запроса на активацию возможности добавления WhatsApp отправителей в Twilio
Уведомление об успешной отправке запроса на активацию возможности добавления WhatsApp отправителей в Twilio

На почту получаем вот такое письмо:

Письмо от Twilio после отправки запроса на активацию возможности добавления WhatsApp отправителей в Twilio
Письмо от Twilio после отправки запроса на активацию возможности добавления WhatsApp отправителей в Twilio

Переводим сообщение на русский:

Перевод на русский письма от Twilio после отправки запроса на активацию возможности добавления WhatsApp отправителей в Twilio
Перевод на русский письма от Twilio после отправки запроса на активацию возможности добавления WhatsApp отправителей в Twilio

Теперь ждем 3-4 недели ответ от Twilio, как указано в письме.

Через 4 недели получаем ответ от Twilio, что теперь можно добавить WhatsApp отправителя и продолжить процесс регистрации:

Ответ от Twilio на запрос по активации возможности добавления WhatsApp отправителей в Twilio
Ответ от Twilio на запрос по активации возможности добавления WhatsApp отправителей в Twilio

Переводим сообщение на русский:

Перевод на русский ответа от Twilio на запрос по активации возможности добавления WhatsApp отправителей в Twilio
Перевод на русский ответа от Twilio на запрос по активации возможности добавления WhatsApp отправителей в Twilio

4. Upgrade аккаунта в Twilio

Для продолжения, обязательно нужно перевести проект Twilio из пробного (Trial) в рабочий (Upgrade), для чего потребуется пополнить баланс. На пробном аккаунте Twilio не получится зарегистрировать WhatsApp отправителя.

Минимальная сумма пополнения 20$ (двадцать долларов). Потом эти деньги можно будет тратить на аренду телефонных номеров для WhatsApp отправителей и оплату входящих и исходящих сообщений в WhatsApp. Аренда телефонного номера стоит от 1$ (один доллар) в месяц. Входящие и исходящие сообщения в WhatsApp - 0.005$ (пол цента) за 1 сообщение.

Для апгрейда аккаунта перейдем по ссылке https://www.twilio.com/console/billing/upgrade.

Заполним латиницей поля в разделе "Add Company Address".

Пополнение баланса Twilio: Добавление адреса компании
Пополнение баланса Twilio: Добавление адреса компании

Нажмем кнопку "Validate Address" для подтверждения адреса. В открывшемся окне нажмем кнопку "Use This Address".

Пополнение баланса Twilio: Валидация адреса компании
Пополнение баланса Twilio: Валидация адреса компании

Аналогично, заполним поля в разделе "Add Billing Address" такими же данными.

Пополнение баланса Twilio: Добавление адреса компании для выставления счетов
Пополнение баланса Twilio: Добавление адреса компании для выставления счетов

И так же подтвердим адрес.

Пополнение баланса Twilio: Валидация адреса компании для выставления счетов
Пополнение баланса Twilio: Валидация адреса компании для выставления счетов

В разделе "Add Payment Information and Funds" введем данные банковской карты и нажмем кнопку "Upgrade Account" для проведения оплаты.

Пополнение баланса Twilio: добавление данных о способе оплаты и проведение платежа
Пополнение баланса Twilio: добавление данных о способе оплаты и проведение платежа

После успешной оплаты увидим соответствующее уведомление.

Сообщение об успешной оплате в Twilio
Сообщение об успешной оплате в Twilio

5. Покупка телефонного номера в Twilio для создания WhatsApp отправителя

Российских номеров в Twilio к сожалению нет, но на практике это оказалось не так и важно. Зачастую пользователи даже и не смотрят на номер, когда пишут в WhatsApp.

Для покупки телефонного номера Twilio перейдем по ссылке https://www.twilio.com/console/phone-numbers/search, выберем страну в поле "COUNTRY", по желанию можно выставить и другие дополнительные параметры поиска, и нажмем кнопку "Search".

Подбор телефонного номера в Twilio для аренды
Подбор телефонного номера в Twilio для аренды
Подбор телефонного номера в Twilio для аренды
Подбор телефонного номера в Twilio для аренды

Выберем нужный телефонный номер и нажмем кнопку "Buy".

В следующем окне подтвердим покупку.

Подтверждение покупки телефонного номера Twilio
Подтверждение покупки телефонного номера Twilio

6. Регистрация WhatsApp отправителя в Twilio

Для регистрации WhatsApp отправителя в Twilio перейдем в раздел «WhatsApp Senders» по ссылке www.twilio.com/console/sms/whatsapp/senders и нажмем иконку «плюс».

Добавление отправителя WhatsApp в Twilio
Добавление отправителя WhatsApp в Twilio

Пока создадим WhatsApp отправителя только для ответов на сообщения пользователей, то есть сами первыми писать не будем. Создание шаблонов для возможности написать пользователю первым будем рассматривать в следующих публикациях.

Заполним открывшуюся форму:

Select a Number (Required) - Выберем номер телефона, который мы купили в Twilio выше.

Business Display Name (Required) - Отображаемое имя, которое должно соотносится с вашей компанией в соответствии с требованиями Facebook. Можно указать просто название компании, которое мы вводили при регистрации аккаунта в Facebook Business Manager.

Company Address (Optional) - Адрес компании (можно не указывать).

Company Email (Optional) - Электронный адрес компании (можно не указывать).

Website (Optional) - Веб-сайт компании (можно не указывать).

Link to Logo (Optional) - Ссылка на логотип компании (можно не указывать). Минимальный размер изображения 640x640 px в форматах PNG или JPG (JPG рекомендуется), фон не должен быть прозрачным.

Check if profile is for a client. I've read the third party guidelines - Эту галочку не ставим.

Форма регистрации WhatsApp отправителя в Twilio
Форма регистрации WhatsApp отправителя в Twilio

Для отправки нажмем кнопку "Submit Request", которая станет активной после после заполнения обязательных полей формы.

В списке отправителей появится запись со статусом "Waiting for Approval from WhatsApp", означающая что теперь нужно подождать подтверждения со стороны WhatsApp.

Статус WhatsApp отправителя "Waiting for Approval from WhatsApp" в Twilio
Статус WhatsApp отправителя "Waiting for Approval from WhatsApp" в Twilio

И получаем письмо от Twilio, что они рассматривают наш запрос, и свяжутся с нами в ближайшее время.

Письмо от Twilio после отправки формы регистрации WhatsApp отправителя
Письмо от Twilio после отправки формы регистрации WhatsApp отправителя

Ждем ответа от Twilio.

7. Подтверждение компании в Facebook Business Manager

Примерно через полтора часа получаем от Twilio еще одно письмо, что в Facebook Business Manager необходимо принять запрос от Twilio, чтобы предоставить им разрешение на создание учетной записи WhatsApp Business.

Для этого переходим по ссылке https://business.facebook.com/settings/requests/received_requests (Facebook Business Manager -> Настройки компании -> Запросы -> Полученные) и нажимаем кнопку "Одобрить".

Принятие запроса от Twilio в Facebook Business Manager
Принятие запроса от Twilio в Facebook Business Manager

После принятия запроса от Twilio, необходимо подтвердить компанию в Facebook Business Manager. Для этого переходим по ссылке https://business.facebook.com/settings/security (Facebook Business Manager -> Настройки компании -> Центр безопасности) и в разделе "Подтверждение компании" нажимаем кнопку "Начать подтверждение", которая станет активной после принятия запроса от Twilio.

Начать подтверждение компании в Facebook Business Manager
Начать подтверждение компании в Facebook Business Manager

С официальной информацией от Facebook о подтверждении компании можно ознакомиться по ссылке: https://www.facebook.com/business/help/2058515294227817?id=180505742745347.

На первом шаге подтверждения введем данные нашей компании:

Юридическое название компании - название компании, как в указано в документах на регистрацию компании.

Страна - страна регистрации компании.

Адрес (улица, № дома) - улица и номер дома юридического адреса компании, как в указано в документах на регистрацию компании.

Адрес 2/Населенный пункт - вводим, если имеется.

Город - город юридического адреса компании, как в указано в документах на регистрацию компании.

Штат/провинция/регион - регион юридического адреса компании, как в указано в документах на регистрацию компании.

Почтовый индекс - почтовый индекс юридического адреса компании, как в указано в документах на регистрацию компании.

Номер телефона компании - номер телефона, который принадлежит данному юридическому лицу (должны быть подтверждающие документы: договор, счета на оплату за телефон и т.п.).

Сайт - адрес веб-сайта компании (домен сайта должен совпадать с доменом электронного адреса компании).

Подтверждение компании в Facebook Business Manager. Шаг 1 - ввод данных компании
Подтверждение компании в Facebook Business Manager. Шаг 1 - ввод данных компании

На втором шаге подтверждения компании необходимо подтвердить юридическое название компании.

Для этого нужно загрузить документы из списка:

  • Лицензия на ведение коммерческой деятельности (если имеется);
  • Свидетельства о регистрации или учредительные договоры (ОГРН или учредительный договор);
  • Свидетельство о регистрации налогоплательщика (ИНН).

Я загрузил сканы ОГРН и ИНН компании.

Подтверждение компании в Facebook Business Manager. Шаг 2 - подтверждение юридического названия компании
Подтверждение компании в Facebook Business Manager. Шаг 2 - подтверждение юридического названия компании

На третьем шаге подтверждения компании необходимо подтвердить юридический адрес и номер телефона компании.

Для этого нужно загрузить документы из списка:

  • Счет за коммунальные услуги, например электроэнергию или телефон;
  • Справка из банка, на которой указан адрес;
  • Лицензия на ведение коммерческой деятельности с адресом или телефоном компании (если имеется).

Я загрузил сканы: договора на аренду офисного помещения по юридическому адресу, информационного письма об учете в Статрегистре Росстата, счета на оплату за телефонный номер от оператора связи.

Подтверждение компании в Facebook Business Manager. Шаг 3 - подтверждение юридического адреса и номера телефона компании
Подтверждение компании в Facebook Business Manager. Шаг 3 - подтверждение юридического адреса и номера телефона компании

На четвертом шаге необходимо получить и ввести код подтверждения.

Для этого нужно в разделе "Выберите, как с вами связаться" выбрать телефон и нажать кнопку "Позвоните мне". Поле "Мой рабочий электронный адрес" оставляем пустым.

Позвонит робот и продиктует цифры, которые нужно ввести в поле ввода кода подтверждения.

Вводим цифры кода подтверждения и нажимаем кнопку "Отправить".

Ждем подтверждения от Facebook, как нам пишут в письме Twilio, это может занять 4-7 рабочих дней.

Я получил подтверждение компании от Facebook в течении 1-го рабочего дня.

Письмо от Facebook с уведомлением, что компания успешно подтверждена
Письмо от Facebook с уведомлением, что компания успешно подтверждена
Сообщение в Facebook Business Manager, что компания успешно подтверждена
Сообщение в Facebook Business Manager, что компания успешно подтверждена
Зеленая иконка в Центре безопасности в Facebook Business Manager, что компания подтверждена
Зеленая иконка в Центре безопасности в Facebook Business Manager, что компания подтверждена
Зеленая галочка в Информации о компании в Facebook Business Manager, что компания подтверждена
Зеленая галочка в Информации о компании в Facebook Business Manager, что компания подтверждена

Ждем завершения регистрации WhatsApp отправителя от Twilio.

8. Завершение регистрации WhatsApp отправителя в Twilio

Через 4 часа получаем письмо от Twilio, что они проверили наш бизнес-профиль в WhatsApp и отправили на рассмотрение отображаемое название нашей компании. Срок выполнения проверки отображаемого имени обычно составляет 24–48 часов.

Письмо от Twilio, что они проверили наш бизнес-профиль в WhatsApp
Письмо от Twilio, что они проверили наш бизнес-профиль в WhatsApp

Переводим сообщение на русский:

Перевод на русский письма от Twilio, что они проверили наш бизнес-профиль в WhatsApp
Перевод на русский письма от Twilio, что они проверили наш бизнес-профиль в WhatsApp

Ждем ответа от Twilio 24-48 часов, как указано в письме.

Примерно через 30 часов получаем письмо от Twilio, что наш профиль отправителя WhatsApp с выбранным номером телефона успешно зарегистрирован.

Письмо от Twilio, что профиль отправителя WhatsApp с выбранным номером телефона успешно зарегистрирован
Письмо от Twilio, что профиль отправителя WhatsApp с выбранным номером телефона успешно зарегистрирован

Переводим сообщение на русский:

Перевод на русский письма от Twilio, что профиль отправителя WhatsApp с выбранным номером телефона успешно зарегистрирован
Перевод на русский письма от Twilio, что профиль отправителя WhatsApp с выбранным номером телефона успешно зарегистрирован

Заходим в аккаунт Twilio, в раздел WhatsApp Senders по ссылке https://www.twilio.com/console/sms/whatsapp/senders и видим, что у записи сменился статус на "Approved" ("Одобрено").

WhatsApp отправитель одобрен в Twilio и готов к работе
WhatsApp отправитель одобрен в Twilio и готов к работе

Итог

На этом подключение официального бизнес API WhatsApp через Twilio успешно завершено. По времени, со всеми ожиданиями, у меня это заняло примерно один месяц. Теперь его можно использовать для интеграции с различными сервисами для коммуникации с пользователями и для создания чат-ботов.

33
20 комментариев

Комментарий недоступен

Спасибо за отзыв :) Обращайтесь, если будут вопросы)

1

Спасибо, интересная статья. 
Может встречались провайдеры без оплаты за входящие/исходящие?
В описании API сказано, что платные только сообщения рассылки, а сесационные бесплатны,  т.е мне удобнее платить абонентскую плату нежели 0.005 за каждое сообщение. 

Игорь, спасибо за оценку)

Если бы сам WhatsApp предоставлял возможность подключиться напрямую, то сессионные сообщения и были бы бесплатными. По сути, WhatsApp дает возможность партнерам зарабатывать на предоставлении доступа.

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

Я в свою очередь искал вариант без абонентской платы, так как нужен был дополнительный канал для поддержки пользователей. Этот канал был не единственным и как потом выяснилось не самым популярным, так как пользователи могли писать еще и в онлайн-чат на сайте и в телеграм. В онлайн-чат, кстати, и писали в итоге больше всего. Если бы мне приходилось платить ежемесячно абонентскую плату за WhatsApp бизнес API, независимо от того как часто туда пишут пользователи, то расходы были бы на порядки выше.

Многие воспринимают WhatsApp, как канал для рассылок, которые зачастую являются спамом. Со спамом сейчас борются все мессенджеры, а не только WhatsApp. Основным будет кейс, когда пользователь напишет первым и будет 24 часа, чтобы ответить на сообщение. В шаблонных сообщениях запрещена какая-либо реклама и по сути их можно использовать только как сервисные сообщения, к примеру "… Ваш заказ № такой-то принят..." и т.п. Поэтому и расчеты расходов нужно вести исходя из этих соображений.

Интересно!
А стоимость?

Минимальная сумма пополнения в Twilio - 20$. Потом эти деньги можно будет тратить на аренду телефонных номеров для WhatsApp отправителей и оплату входящих и исходящих сообщений в WhatsApp. Аренда телефонного номера в Twilio стоит от $1 в месяц. Входящие и исходящие сообщения в WhatsApp - $0.005 за 1 сообщение. Если отправлять сообщение пользователю первым, по заранее одобренному шаблону, то стоить оно будет $0.0477.

Я включил на 2-х сайтах виджет "Написать в WhatsApp" месяц назад для консультирования пользователей, они пишут первыми, 20$ так еще и не израсходовались, так как пишут не только в WhatsApp, но еще и в онлайн-чат и в Telegram.

Вообщем по сравнению с другими поставщиками, где есть довольно высокая ежемесячная абонентская плата, независимо от того пишут тебе в WhatsApp или нет, данный вариант подключения очень даже привлекательный.

Вообщем по сравнению с другими поставщиками, где есть довольно высокая ежемесячная абонентская плата, независимо от того пишут тебе в WhatsApp или нет, данный вариант подключения очень даже привлекательный.

Ну, скажем, есть и попривлекательнее поставщики, у которых так же нет абонентской платы, а стоимость сообщений в 5 раз дешевле:)
Так что, если это, действительно, ваш кейс, я бы советовала перейти к другому провайдеру