- Документация
- GET /status
- GET /qr_code
- POST /group
- POST /sendMessage
- POST /sendFile
- GET /messages
- POST /webhook
- GET /webhook
- POST /settings/ackNotificationsOn
- GET /logout
- GET /reboot
- GET /showMessagesQueue
- GET /clearMessagesQueue
- Прямая активная ссылка на Ватсап (WhatsApp) — всё, что нужно знать
- Как сделать ссылку на WhatsApp в Инстаграм
- Инструкция по размещению в профиле Инстаграм
- Активная вотсап ссылка с сообщением
- Как сделать
- Факты
- Как сделать API на любое Android приложение. На примере WhatsApp
- Анализ ситуации.
- 1. Официальный API
- 2. Сторонний сервис. Подключение через WhatsApp WEB
- 3. Ручной режим
- Решение
- Отправка сообщения
- Приём сообщений
- Плюсы, минусы, доработка и планы
Документация
С сожалением сообщаем вам, что эта статья потеряла свою актуальность. Возможно описываемая услуга перестала предоставляться или изменились условия работы API.
Сейчас Chat API предлагает самый доступный и автоматизированный WhatsApp Business API на рынке с Многопользовательским Чатом, Визуальным конструктором ботов, готовыми интеграциями приложений и другими полезными функциями.
Это надежный способ познакомить более чем 2-миллиардную аудиторию мессенджера с вашим бизнесом или продуктом: привлечение клиентов в WhatsApp стало проще.
Спасибо, что посетили наш сайт. Успехов во всех делах!
REST API позволяет принимать и отправлять сообщения через аккаунт WhatsApp. Зарегистрировать аккаунт WhatsApp API
Параметры в GET запросах передавайте через query string. Параметры в POST запросах — через JSON-encoded тело запроса. Токен авторизации всегда передается в query string (?token=xxxxxx).
К каждому запросу необходимо прибавить токен в GET параметре token.
API WhatsApp работает на основе протокола WhatsApp WEB и исключает бан как при использовании библиотек от mgp25 и подобных. Несмотря на это, Ваш аккаунт может быть забанен анти-спам системой WhatsApp после нескольких нажатий кнопки «в спам».
Руководства по созданию Whatsapp бота на PHP , на Python , на Node.JS , на C# и на Java. Бот в связке с Google таблицами.
GET /status
Получить статус аккаунта и QR код для авторизации. Повторная авторизация нужна только в случае смены устройства или ручного нажатия «Выйти из всех устройств» на телефоне. Держите приложение WhastsApp открытым во время авторизации.
init | это начальный статус |
loading | загрузка, повторите через 30 секунд |
got qr code | есть QR код и нужно его сфотографировать в приложении Whatsapp перейдя в Меню > WhatsApp Web > Добавить. QR код действителен в течении одной минуты. Пример отображения base64 картинки на странице. Вручную проще получить изображение QR-кода |
authenticated | авторизация пройдена успешно |
Пример ответа:
GET /qr_code
Прямая ссылка на QR-код в виде изображения, а не base64.
POST /group
Создание группы и отправка сообщения в созданную группу. Если хост iPhone, то наличие всех в списке контактов обязательно.
Группа будет добавлена в очередь на отправку и рано или поздно создана, даже если телефон отключен от интернета или авторизация не пройдена.
Обновление от 2 октября 2018: параметр chatId будет заполнен, если удалось создать группу на вашем телефоне в течении 20 секунд.
Параметры:
groupName | Название группы, строка, обязательное. |
phones | Массив телефонов, начинающийся с кода страны. Свой номер добавлять не надо. Для России и Казахстана это всегда 7, затем 10 цифр. Пример: 79995253422. |
messageText | Текст сообщения, строка |
Пример запроса:
POST /sendMessage
Отправка сообщения в новый или существующий чат. Сообщение будет добавлено в очередь на отправку и доставлено даже если телефон отключен от интернета или авторизация не пройдена.
Нужен только один из двух параметров для определения адресата — chatId или phone.
Параметры:
phone | Обязателен если не указан chatId | Номер телефона, начинающийся с кода страны. Для России и Казахстана это всегда 7, затем 10 цифр. Сообщения на номера телефона с 8 не будут доставлены. Пример: 79995253422. |
chatId | Обязателен если не указан phone | ID чата из списка сообщений. Примеры: 79633123456@c.us для личных сообщений и 79680561234-1479621234@g.us для группы. Используется вместо параметра phone |
body | Обязателен | Текст сообщения, любая строка включая emoji 🍏 |
Примеры запросов:
Пример ответа:
POST /sendFile
Отправка файла в новый или существующий чат. Сообщение будет добавлено в очередь на отправку и доставлено даже если телефон отключен от интернета или авторизация не пройдена.
Нужен только один из двух параметров для определения адресата — chatId или phone.
Параметры:
phone | Обязателен если не указан chatId | Смотрите POST /sendMessage |
chatId | Обязателен если не указан phone | Смотрите POST /sendMessage |
body | Обязателен | Ссылка на файл, например https://upload.wikimedia.org/wikipedia/ru/3/33/NatureCover2001.jpg Или файл в base64, например data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ. Или файл в поле формы |
filename | Обязательно | Имя отправляемого файла, например 1.jpg или hello.xlsx |
caption | Не обязательно | Текст под фотографией |
Примеры запроса:
Пример ответа:
GET /messages
Получить список сообщений. Для получения только новых сообщений передайте параметр lastMessageNumber из последнего запроса.
Файлы из сообщений гарантированно хранятся лишь 10 дней и могут быть удалены. Скачивайте файлы сразу при получении на свой сервер.
Параметры:
lastMessageNumber | Параметр lastMessageNumber из предыдущего запроса |
last | Отображает последние 100 сообщений. Если передан этот параметр, то lastMessageNumber игнорируется. |
Пример ответа:
POST /webhook
Устанавливает URL для получения webhook уведомлений о новых сообщениях и о статусах доставки исходящих сообщений (ack).
Параметры:
webhookUrl | Http или https URL для получения оповещений. Для тестирования рекомендуем использовать requestb.in. |
Пример ответа:
Пример webhook уведомления:
GET /webhook
Возвращает текущий webhook url.
Пример ответа:
POST /settings/ackNotificationsOn
Включить или выключить получение уведомлений о доставке и прочтении отправленных сообщений ack в webhook. Так же работает GET метод по тому же адресу.
Параметры:
ackNotificationsOn | 1 (true) или 0 (false) . |
Пример ответа:
GET /logout
Выйти из аккаунта и запросить новый QR-код.
Пример ответа:
GET /reboot
Перезагрузить Ваш инстанс WhatsApp.
Пример ответа:
GET /showMessagesQueue
Показать список сообщений, которые стоят в очереди на отправку, но еще не отправлены.
Пример ответа:
GET /clearMessagesQueue
Очистить очередь на отправку сообщений. Этот метод нужен когда вы случайно отправили тысячи сообщений подряд.
Пример ответа:
Официальный API шлюз для интеграции WhatsApp. Автоматизируйте продажи и поддержку с помощью чатботов
Источник
Прямая активная ссылка на Ватсап (WhatsApp) — всё, что нужно знать
Всем привет, сегодня учимся делать полезную и бесплатную «фичу» для Вотсапа, так называемую «кнопку связи в один клик» с уводом в мессенджер.
Работает моментально с переадресацией пользователя в чат с вашим номером по клику на неё.
Приём упрощает начало диалога с потенциальных покупателем, и сразу даёт доступ к его номеру телефона, что может быть важно в будущем для закрытия сделки.
В любом случае, это удобно обеим сторонам.
Кстати, можно не использовать прямой линк сразу, а сначала провести пользователя по «мини-лэндингу таплинку». Подобрал 50 примеров реализации этой технологии в соседней статье
Юзер кликает, переадресуется и сразу может начать предметный диалог.
Наиболее часто я вижу, как схема применяется для быстрой связи через Instagram
и для точек входа в чат-боты, Вотсап-лэндинги.
Как сделать ссылку на WhatsApp в Инстаграм
Связка работает только для мобильного трафика, что идеально в Instagram.
Используйте простую конструкцию:
https://api.whatsapp.com/send?phone=.
Вместо вопросов вставьте ваш номер телефона в международном стандарте, начиная с 7 для России, 380 для Украины (без плюсов).
Правильные варианты:
https://api.whatsapp.com/send?phone=7**********
api.whatsapp.com/send?phone=7**********
Все остальные вариации работать не будут.
Чуть не забыл, будет действовать только с теми у кого уже установлен Вацап (благо таких сейчас солидное большинство).
Инструкция по размещению в профиле Инстаграм
- Генерируем ссылку на Whatsapp сами или конструктором (ниже)
- Выделяем и копируем её
- Жмём «редактировать профиль»
- Вставляем в поле «сайт»
- Подтверждаем
- Проверяем работоспособность прямой ссылки, перейдя по ней
- Вы великолепны!
Активная вотсап ссылка с сообщением
При переходе по этой разновидности, покажет в окне диалога автозаполненное сообщение, которое можно сразу отправить.
Этот вариант логично применять, если планируется акция с кодовым словом, фразой
или в виде подсказки для начала диалога.
По этому типу можно отслеживать эффективность разных каналов рекламы через уникальное текстовое обращение или промокод.
Простой пример.
Кликаем и в окне диалога видим
Автоматический месседж не вышлется самостоятельно сразу после перехода , его всё еще нужно отправить самому пользователя, можно стереть или уйти.
Подсказка: если привязываете нечто чат-ботное или автовороночное к глобальной кодовой фразе, позаботьтесь о том, чтобы люди высылали именно её.
Как сделать
Знакомую нам конструкцию с номером телефона, дополняем меткой &text= и после каждого слова вписываем %20
https://api.whatsapp.com/send?phone=7**********&text=Хочу%20получить%20скидку%20
Особенно полезным это становится, когда задействуется вотсап-лэндинг или чат-бот, где бывают несколько мини-лэндингов и нужно как-то сегментировать посетителей.
Есть сложность.
Мне не до конца понятен механизм, что прописывать, когда надо написать два предложения или добавить EMOJI.
Как видно из скриншота, моя формула разбивается, когда нужны знаки препинания.
Поэтому, при потребности я использую конструктор для быстрых ссылок — whatsapp-link-constructor (переход на сторонний сайт)
Он бесплатный.
Буду рад вашим мыслям и решениям на эту тему в конце материала.
Факты
- Быстрая ссылка на диалог WhatsApp экономит время клиента и не даёт ему потеряться в Директе Инсты.
- «Халявный» номер телефона клиента с первого контакта с оператором.
Для услуг и некрупных проектов — решение находка.
Источник
Как сделать API на любое Android приложение. На примере WhatsApp
Анализ ситуации.
Казалось, требуется всего лишь отправлять и принимать сообщения. А столько подводных камней…
1. Официальный API
Официального API в релизе тогда ещё не было. Но Facebook успел прислать ссылку на форму, для подключения официального API, находящегося в тестировании.
2. Сторонний сервис. Подключение через WhatsApp WEB
Рассматривал вариант «серого» способа, использование неофициального сервиса, который отправляет сообщения через WEB интерфейс, подключается сканированием QR кода.
Но это зависимость от чужого API, в любой момент может всё отвалиться, да и передавать чужому сервису номера клиентов не хотелось. А ещё писать под чужой авторский API, да ещё который придётся переписывать, при переезде на другой сервис, тоже такое себе удовольствие.
Ну и ещё требуется держать телефон включенным (хотя некоторые сервисы за доп плату решали эту проблему 🙂
3. Ручной режим
Посадить человека, пускай копипастит сообщения клиентам. Шутки шутками, а из этой идеи родилось решение!
Решение
Отправка сообщения
Есть такая программка для автоматизации действий под Android, называется Tasker, одна из первых подобных программ. Но я в ней не разобрался с первого раза… Поискал аналоги, наткнулся на программу Automagic. В ней события, действия и ветвления рисуются как блок схема.
И вот в ней я то и придумал решение, root права нам не нужны. Получилось методом научного тыка нарисовать скрипт отправки сообщения, далее буду называть поток, так именуется каждый отдельный нарисованный алгоритм в данной программе. А теперь разберём его работу:
- Каждые 5 секунд периодичным таймером генерируется событие и передаётся следующему блоку.
- Блок HTTP Request спрашивает у сервера, есть ли в очереди следующее сообщение, которое нужно отправить? Бэкенд написан на PHP.
- Парсим ответ сервера JSON.
- Если от сервера в ответе пришла метка, что нужно отправить сообщение, идём дальше.
- Проверяем, включен ли экран устройства, если нет, отправляем уведомление, с целью разбудить телефон. Если же экран включен, и не выполняется другой поток, проверяющий статус, доставлено ли сообщение, то:
- Генерируем ссылку и открываем её, что бы инициировать диалог с полученным от сервера номером телефона в WhatsApp’е
- Самое интересное. Блок Control UI. В нём в виде кода реализована логика проверки успешности открытия чата (проверка регистрации в мессенджере), вставка текста в окно ввода и клацанье по кнопке Отправить.
Приём сообщений
Принимать сообщения на много проще. Ставим событие на уведомление от мессенджера. Как только приходит уведомление, помечаем его прочитанным, и отправляем его на сервер как есть. Тот уже спарсит адресата и текст.
Плюсы, минусы, доработка и планы
Основную функцию отправки сообщения алгоритм выполняет отлично. Так как не используется WEB интерфейс, схватить баню от мессенджера тут меньше рисков, как мне кажется. Арендовал слабенький виртуальный сервер, установил туда Android и перенёс всё.
На отправку одного сообщения новому контакту уходит
5 сек. Для проверки доставки и прочтения сообщения, разработал отдельный поток, но он в черновом варианте и иногда не срабатывает. Поэтому о нём позже.
В данный момент не реализована функция приёма медиа сообщений (фото, аудио, вложения), но это можно выгружать из WhatsApp, используя кнопку поделиться сообщением в будущем.
Чуть позже хочу сверху виртуальной машины, где запущен мессенджер, написать SIP транк, через который можно будет звонить через WhatsApp как через SIP ^.^ что может сэкономить расходы на связь.
Ещё хочу делать скриншоты аватарок и отправлять их на сервер, для прикрепления миниатюры к контакту в CRM системе.
Ну и вообще самое интересное: Данный способ обёртывания в API подойдёт почти для любого приложения под Android 🙂
Всё изначально разрабатывал и запускал на Android 9, xiaomi mi 9 se, root прав нет.
UPD:
Пример на Python3.8 в качестве бекенда доступен на GitHub, доработан алгоритм ловли уведомлений и код отправки из комментариев от ivan909020
Источник