Api whatsapp com что это
Внимание! Для использования данного вида интеграции необходимо обратиться к своему менеджеру для настройки доступа.
Используемые типы данных:
Тип данных | Описание |
---|---|
Integer | Положительные числа больше нуля |
DateTime | Значение, обозначающее дату и время, представляются в пакетах в формате «yyyy-MMdd hh:mm:ss», например, 1999-05-31 13:20:00 |
Address | Адрес абонента. Номер мобильного телефона абонента в международном формате (в формате E.164). Например, 79031112233, для России или 491791112233 для Германии |
String | Строка символов в формате UTF-8 |
Ограничения и допустимые значения описаны далее в разделе описания пакетов протокола.
- true – переотправка включена,
- false – переотправка выключена.
Все подписи предварительно должны регистрироваться на платформе Devino.
Длина имени не более 11 символов.
- low – низкий приоритет,
- normal – нормальный приоритет,
- high – высокий приоритет,
- realtime – высочайший приоритет.
Допустимые значения: от 30 до 86400 секунд
Допустимые значения: whatsapp
Если contentType не text , то указывается URL на медиа-контент.
Длина имени не более 11 латинский символов
Допустимые значения: от 30 до 86400 секунд
Статус ответа на запрос /send/whatsapp
Список возможных кодов и их значений указан в таблице кодов возврата
Код ответа провайдера для конкретного
Пример ответа на запрос статуса доставки:
Описание полей ответа на запрос статуса доставки
Результат обработки запроса
Возможные коды ошибок и их описание определены в таблице кодов возврата.
Возможные коды ошибок и их описание определены в таблице кодов возврата.
Прием статусов с помощью callback-запросов¶
Ответ сообщающий о приеме должен быть 200 OK с пустым телом запроса.
Пример запроса
Описание полей запроса со статусами доставки
В случае, если сервер возвращает ошибку или не предоставляет ответ, то платформа будет совершать повторные запросы в течение 1 часа.
Ответ сообщающий о приеме должен быть 200 OK с пустым телом запроса.
Пример запроса отправляемого на URL:
- text
- image
- audio
- video
- document
Таблица кодов возврата¶
Коды возврата обработки запроса (status)
Официального API в релизе тогда ещё не было. Но Facebook успел прислать ссылку на форму, для подключения официального API, находящегося в тестировании.
2. Сторонний сервис. Подключение через WhatsApp WEB
Но это зависимость от чужого API, в любой момент может всё отвалиться, да и передавать чужому сервису номера клиентов не хотелось. А ещё писать под чужой авторский API, да ещё который придётся переписывать, при переезде на другой сервис, тоже такое себе удовольствие.
Ну и ещё требуется держать телефон включенным (хотя некоторые сервисы за доп плату решали эту проблему :)
3. Ручной режим
Решение
Есть такая программка для автоматизации действий под Android, называется Tasker, одна из первых подобных программ. Но я в ней не разобрался с первого раза… Поискал аналоги, наткнулся на программу Automagic. В ней события, действия и ветвления рисуются как блок схема.
Передаю привет конструктору HiAsm, благодаря которому когда то научился понимать концепцию программирования.
Плюсы, минусы, доработка и планы
Чуть позже хочу сверху виртуальной машины, где запущен мессенджер, написать SIP транк, через который можно будет звонить через WhatsApp как через SIP ^.^ что может сэкономить расходы на связь.
Ещё хочу делать скриншоты аватарок и отправлять их на сервер, для прикрепления миниатюры к контакту в CRM системе.
Ну и вообще самое интересное: Данный способ обёртывания в API подойдёт почти для любого приложения под Android :)
Всё изначально разрабатывал и запускал на Android 9, xiaomi mi 9 se, root прав нет.
UPD:
Пример на Python3.8 в качестве бекенда доступен на GitHub, доработан алгоритм ловли уведомлений и код отправки из комментариев от ivan909020
Как происходит подключение к WhatsApp Business API
Только очень крупные компании могут напрямую подключаться к WhatsApp API. Большинство компаний, желающих использовать такое подключение к WhatsApp, должны подключиться с помощью платформ мессенджер-маркетинга, которые подключаются к API через официальных партнёров WhatsApp.
Пример такой платформы мессенджер-маркетинга — TextBack, а пример официального партнёра WhatsApp — 360dialog (впрочем, с последними вы пересечётесь только на этапе заполнения заявки на подключение).
В России официальные партнёры WhatsApp не работают напрямую с компаниями, а просто предоставляют прокси-API платформам для мессенджер-маркетинга. Это позволяет всей системе работать стабильно и надёжно.
Сколько стоит использование WhatsApp Business API
В первую очередь, чтобы подключить WhatsApp Business API, вы должны зарегистрироваться на платформе мессенджер-маркетинга и приобрести у них тарифный план, который включает в себя этот канал общения. У платформ тарифы различаются. Некоторые отдельно берут плату за само подключение и за активацию номера сверх стоимости тарифа, на других же — бесплатно. TextBack, например, не берёт плату ни за подключение, ни за активацию номера.
Профиль WhatsApp Business API
Для работы в WhatsApp Business API не требуется телефон. Тем не менее, профиль вашего аккаунта со стороны клиента будет выглядеть практически так же, как и стандартный контакт в WhatsApp. Но вот небольшие отличия:
- в профиле не показывается статус «онлайн» и в шапке не отображается день и время последнего посещения;
- в профиль добавляется адрес компании, сайт, электронная почта, обновляется обложка и описание;
- компании могут получить зелёную галочку и статус верифицированного бизнес-аккаунта.
У подтверждённых аккаунтов крупных компаний в профиле написано «Официальный бизнес-аккаунт», впрочем, вы легко узнаете это по зелёной галочке напротив имени
Пройти верификацию сложно, но возможно. Для этого необходимо подать заявку через платформу мессенджер-маркетинга, у которой вы подключили WhatsApp Business API. В заявке предоставляются сведения о компании: название бренда и сайт компании, страница на Facebook и в Википедии, ссылки на материалы о компании на внешних ресурсах и т.д. На основе этих данных англоязычные сотрудники Facebook будут принимать решение о присвоении этого статуса.
Процесс от подачи запроса на зелёную галочку и до её получения обычно занимает от одной до трёх недель. WhatsApp не берёт плату за верификацию аккаунта, а платформа мессенджер-маркетинга, с которой вы работаете, поможет вам всё сделать.
Правила общения с клиентами в WhatsApp Business API
Как связаться с пользователем
Обычно платформы мессенджер-маркетинга предоставляют готовые инструменты, облегчающие эту задачу. Если платформой поддерживаются несколько мессенджеров, вы сможете дать клиенту выбор, в какой из них написать, если захотите.
Рекомендации — как сделать так, чтобы клиент написал вам первым в WhatsApp
Когда клиент стал общаться с вами в WhatsApp, избегайте частых маркетинговых рассылок, иначе клиенты могут пожаловаться на ваш аккаунт и пометить ваш бизнес как спам. Если на вас будет много жалоб (окей, достаточно даже немного), то снизится рейтинг качества вашего аккаунта (расскажем об этом далее). В результате WhatsApp вас не заблокирует, но может на сутки ограничить возможность делать рассылки и писать первым.
После закрытия 24- часового окна
Актуальную информацию о наличии и отсутствии проблем в работе платформы API можно найти на странице статуса WhatsApp Business API.
Начало работы
Соединение с пользователями WhatsApp Business API, управляющими конечной точкой API на своих серверах, считается защищенным сквозным шифрованием, так как никакая третья сторона не может получить доступ к контенту между конечными точками.
Некоторые организации предпочитают передать управление конечной точкой WhatsApp Business API стороннему поставщику решений для компаний. В таких ситуациях для передачи данных используется то же шифрование по протоколу Signal. Однако в этих случаях соединение не считается защищенным сквозным шифрованием, так как пользователь WhatsApp Business API привлекает третью сторону для управления конечной точкой. В 2021 г. этот подход будет применяться также для компаний, которые пользуются облачной версией API, размещенной на серверах Facebook.
Подробные сведения см. в этом техническом документе.
Нет, в экземпляре может использоваться только один аккаунт. Если вам нужен второй тестовый аккаунт, используйте для второго экземпляра другой номер.
НЕТ. Одновременно может быть запущен только один экземпляр клиента API WhatsApp Business с определенным номером телефона. Как только вы зарегистрируете ещё один экземпляр, предыдущий завершит работу. Мы работаем над решением этой проблемы. Следите за новостями.
Дополнительную информацию см. в статье Безопасность в WhatsApp. Там также можно найти документ с техническим описанием шифрования в WhatsApp.
Нет. На данный момент невозможно использовать несколько номеров для одного клиента WhatsApp Business API. Мы работаем над решением, которое позволит делать это в будущем.
Установка
Да. По умолчанию клиент WhatsApp Business API устанавливает соединение с помощью chatd через порт 5222. Порт 5222 следует открыть для любого исходящего трафика. Это безопасно, так как вы отправляете трафик только из своего центра обработки данных.
Если порт 5222 закрыт, клиент WhatsApp Business API попытается использовать порт 443. Если брандмауэр или прокси продолжает блокировать соединения, обратитесь в прямую поддержку, чтобы получить помощь от команды WhatsApp.
Нет. Клиент API WhatsApp Business открывает исходящее TCP-подключение к порту 5222 или 443 на серверах WhatsApp. Трафик TCP передается через это долговременное подключение. В брандмауэрах он обычно классифицируется как исходящий и подтвержденный трафик. Конечно, пакеты будут передаваться в обе стороны, но подключение исходит из клиента API WhatsApp Business, поэтому правило, разрешающее входящие подключения, не требуется.
Требования зависят от нагрузки и ситуации. Это решение будет работать на любом устройстве, если оно подключено к Интернету и на нем работает платформа Docker. Например, простое тестирование можно выполнить на обычном ноутбуке.
Минимальные требования к рабочему серверу с одним экземпляром: твердотельный накопитель емкостью 250 ГБ, 16 ГБ ОЗУ, четырехъядерный ЦП. Использовать обычные жесткие диски не рекомендуется из-за низкой скорости ввода-вывода: при высокой нагрузке это будет мешать работе.
Минимальные требования к рабочему серверу с распределением нагрузки: твердотельный накопитель емкостью 50 ГБ, 4ГБ ОЗУ, двухъядерный ЦП для каждого контейнера Coreapp, Master или Webapp.
В общем случае база данных должна работать на отдельном физическом сервере (не на том, где размещены контейнеры Coreapp и Webapp). Допустимая задержка при передаче данных между этим сервером и компьютером — не более нескольких миллисекунд.
Необходима версия MySQL 5.7.x либо версия PostgreSQL 9.5.x, 9.6.x или 10.x. При использовании более ранних версий возникает ошибка Unable to initialize config store .
Локально настройте MySQL, следуя этому руководству.
Локально настройте PostgreSQL, следуя этому руководству.
В общем случае база данных должна работать на отдельном физическом сервере (не на том, где размещены контейнеры Coreapp и Webapp). Допустимая задержка при передаче данных между этим сервером и компьютером — не больше нескольких миллисекунд.
Белый список можно создавать на основе и имен хоста, и IP-адресов.
Дополнительную информацию см. в разделе Имена хостов документа Требования к сети.
Да, подключение TCP обязательно. Если вы не можете использовать дополнительные порты, воспользуйтесь дешифрованным протоколом SSL.
Подробнее см. в статье Требования к сети.
Нет. Мы не поддерживаем KOPS. Мы предлагаем поддержку решения AWS на основе ECS. Также можно воспользоваться руководством по настройке Kubernetes Minikube.
Управление данными
Поддерживаются MySQL и PostgreSQL. Если вы настраиваете Docker самостоятельно, потребуется база данных MySQL или PostgreSQL, к которой будут подключаться контейнеры. При использовании шаблона AWS по умолчанию настраивается база данных MySQL.
Нет. В настоящее время клиент API WhatsApp Business не работает в Docker для Windows. В целях разработки рекомендуется запускать Docker на виртуальной машине Linux. В рабочей среде во избежание проблем с совместимостью и производительностью мы рекомендуем использовать сервер Linux.
Чтобы перезапустить контейнеры Docker, выполните указанные ниже команды.
Контейнер Coreapp
Контейнер Webapp
Webapp: хранятся последние 30 файлов журналов. Ротация выполняется, только если размер файла превышает 20 МБ. Coreapp: хранятся последние 30 файлов журналов. Ротация выполняется, только если размер файла превышает 15 МБ. Файлы после ротации сжимаются.Очистить старые записи журнала контейнера можно с помощью следующего скрипта:
Его можно использовать как для контейнеров Webapp, так и для Coreapp. Скрипт удаляет старые файлы и оставляет последние 30 файлов журнала контейнера.
Медиафайлы, которые вы получаете от пользователей, скачиваются на тома медиаданных. Вы сами решаете, какие файлы нужно удалить. В большинстве случаев можно удалять все медиафайлы. Проверить путь к тому медиаданных можно с помощью команды docker inspect your-container-id .
Да, если это не влияет на таблицы, связанные с WhatsApp.
В версии v2.25.x по сравнению с предыдущими повышена производительность обработки входящего и исходящего трафика. Для такой оптимизации используются дополнительные соединения с базой данных. В результате в некоторых развертываниях количество соединений может превзойти ограничение. Чтобы сохранить высокую производительность, увеличьте максимальное количество соединений, которое может принимать ваш сервер базы данных. Если это невозможно, измените значение параметра axolotl_context_striping_disabled, чтобы отключить оптимизацию. Подробнее о том, как его изменить, см. в документации.
Таблицы messages и messages_reciept_log периодически очищаются от мусора.
Coreapp собирает мусор со случайными интервалами (каждые несколько часов). Это необходимо, чтобы избежать снижения производительности в стеках повышенной доступности из-за заполнения базы данных.
Сбор мусора не затрагивает очередь обратных вызовов. Например, если сервер Webhooks недоступен в течение четырех дней, обратные вызовы сохраняются и будут отправлены, когда сервер станет доступен.
Если вы создадите резервную копию текущей конфигурации и восстановите ее на новом компьютере, регистрационные данные должны быть перенесены вместе с остальными настройками. Дополнительные сведения см. в разделе Резервное копирование и восстановление настроек.
Аутентификация
При выходе пользователя с помощью конечной точки users все маркеры аутентификации, привязанные к его аккаунту, становятся недействительными. Кроме того, чтобы сделать маркеры недействительными, можно удалить пользователя, однако это крайняя мера. Обратите внимание: при выходе пользователя с помощью конечной точки users возвращается новый маркер аутентификации, но маркеры, которые уже используются, не становятся недействительными. Если у пользователя есть доступ к этим маркерам, он сможет пользоваться ими до тех пор, пока их срок действия не истечет или вы не сделаете их недействительными одним из указанных выше способов.
Причин может быть множество. Например, пользователь может выходить в сеть лишь время от времени или быть неактивным в течение некоторого времени.
Если проблемы с доставкой наблюдаются продолжительное время, подайте заявку в Прямую поддержку.
Приём упрощает начало диалога с потенциальных покупателем, и сразу даёт доступ к его номеру телефона, что может быть важно в будущем для закрытия сделки.
В любом случае, это удобно обеим сторонам.
Юзер кликает, переадресуется и сразу может начать предметный диалог.
Наиболее часто я вижу, как схема применяется для быстрой связи через Instagram
и для точек входа в чат-боты, Вотсап-лэндинги.
Как сделать ссылку на WhatsApp в Инстаграм
Связка работает только для мобильного трафика, что идеально в Instagram.
Вместо вопросов вставьте ваш номер телефона в международном стандарте, начиная с 7 для России, 380 для Украины (без плюсов).
Все остальные вариации работать не будут.
Чуть не забыл, будет действовать только с теми у кого уже установлен Вацап (благо таких сейчас солидное большинство).
Инструкция по размещению в профиле Инстаграм
Этот вариант логично применять, если планируется акция с кодовым словом, фразой
или в виде подсказки для начала диалога.
По этому типу можно отслеживать эффективность разных каналов рекламы через уникальное текстовое обращение или промокод.
Простой пример.
Кликаем и в окне диалога видим
Подсказка: если привязываете нечто чат-ботное или автовороночное к глобальной кодовой фразе, позаботьтесь о том, чтобы люди высылали именно её.
Как сделать
Знакомую нам конструкцию с номером телефона, дополняем меткой &text= и после каждого слова вписываем %20
Особенно полезным это становится, когда задействуется вотсап-лэндинг или чат-бот, где бывают несколько мини-лэндингов и нужно как-то сегментировать посетителей.
Есть сложность.
Мне не до конца понятен механизм, что прописывать, когда надо написать два предложения или добавить EMOJI.
Как видно из скриншота, моя формула разбивается, когда нужны знаки препинания.
Поэтому, при потребности я использую конструктор для быстрых ссылок — whatsapp-link-constructor (переход на сторонний сайт)
Он бесплатный.
Буду рад вашим мыслям и решениям на эту тему в конце материала.
Факты
Для услуг и некрупных проектов — решение находка.
Автор этого сайта. Основатель и руководитель LJT target. Интернет-маркетёр и стратег в 100+ клиентских проектах с 2011 г.
Откручиваю 2 000 000 + руб. в месяц через таргетированную рекламу VK, FB, INST.
Читайте также: