Как отправить сообщение в ватсап php
Отправляем сообщение в WhatsApp за 30 секунд с помощью PHP
Рынок разработки чат-ботов для WhatsApp быстро развивается. Это руководство для программистов поможет сделать первый шаг в создании бота.
Я расскажу вам, как отправить сообщение WhatsApp на PHP с помощью Chat API. Кстати, вы можете посмотреть видео версию данной статьи.
Для начала
Убедитесь, что в вашей локальной среде разработки установлен PHP.
Создайте свою учетную запись в Chat-Api. Это бесплатно!
После этого вы будете перенаправлены на панель администратора, где будет создан ваш ключ.
Всё просто. Теперь используйте этот код:
Просто скопируйте и используйте его!
Не используйте скобки, дефисы и любые другие символы форматирования в телефоне. Используйте только цифры.
Не стесняйтесь обратиться и поделиться своим опытом или задать любые вопросы.
Рекомендуем
Проверь работу чат-бота на нашем API лично
Send a message to +54 9 11 3633-1413 through WhatsApp and test the our API.
Шлюз WhatsApp API подойдет для отправки и получения сообщений, уведомлений, планировщика, напоминаний, групповых сообщений, отслеживания и чат-ботов с простой интеграцией для вашего бизнеса
Questions and wishes: nik@chat-api.com
Рынок разработки чат-ботов для WhatsApp быстро развивается. Это руководство для программистов поможет сделать первый шаг в создании бота.
Я расскажу вам (в статье есть и видео версия), как отправить сообщение WhatsApp на PHP с помощью Chat API.
Отправляем сообщение в WhatsApp через API (на PHP)
Как отправить сообщение с помощью Whatsapp Api, PHP
Здесь мы указываем APiURL и токен.
Мы будем использовать GET-параметры для установки адресата и содержания сообщения.
Укажите рабочий URL для API. Он содержит APIurl, метод и токен в GET-параметре.
Теперь мы можем отправить запрос в API.
А вот и весь скрипт:
Используйте такого рода ссылку: https://yoursite.com/path/to/script/yourscript.php?text=Hello&phone=70123456789
И не используйте скобки, дефисы и любые другие символы форматирования в телефоне. Используйте только цифры.
Не стесняйтесь обратиться и поделиться своим опытом или задать любые вопросы.
Рекомендуем
Проверь работу чат-бота на нашем API лично
Send a message to +54 9 11 3633-1413 through WhatsApp and test the our API.
Шлюз WhatsApp API подойдет для отправки и получения сообщений, уведомлений, планировщика, напоминаний, групповых сообщений, отслеживания и чат-ботов с простой интеграцией для вашего бизнеса
Questions and wishes: nik@chat-api.com
Руководство: Как отправить сообщение с помощью WhatsApp API, на PHP
WhatsApp API SDK
Подписывайтесь
Немного о Чат Апи
Сhat API предназначен для создания чат-ботов и интеграции WhatsApp с бизнес-системами: CRM, ERP или сайтом. Сделать бота на Whatsapp теперь очень просто. Пожалуй, самый многофункциональный API на данный момент
Документация
REST API позволяет принимать и отправлять сообщения через аккаунт WhatsApp. Зарегистрировать аккаунт WhatsApp API
Параметры в GET запросах передавайте через query string. Параметры в POST запросах — через JSON-encoded тело запроса. Токен авторизации всегда передается в query string (?token=xxxxxx).
К каждому запросу необходимо прибавить токен в GET параметре token.
API WhatsApp работает на основе протокола WhatsApp WEB и исключает бан как при использовании библиотек от mgp25 и подобных. Несмотря на это, Ваш аккаунт может быть забанен анти-спам системой WhatsApp после нескольких нажатий кнопки «в спам».
GET /status
Получить статус аккаунта и QR код для авторизации. Повторная авторизация нужна только в случае смены устройства или ручного нажатия «Выйти из всех устройств» на телефоне. Держите приложение WhastsApp открытым во время авторизации.
Пример ответа:
GET /qr_code
Прямая ссылка на QR-код в виде изображения, а не base64.
POST /group
Создание группы и отправка сообщения в созданную группу. Если хост iPhone, то наличие всех в списке контактов обязательно.
Группа будет добавлена в очередь на отправку и рано или поздно создана, даже если телефон отключен от интернета или авторизация не пройдена.
Обновление от 2 октября 2018: параметр chatId будет заполнен, если удалось создать группу на вашем телефоне в течении 20 секунд.
Параметры:
groupName | Название группы, строка, обязательное. |
phones | Массив телефонов, начинающийся с кода страны. Свой номер добавлять не надо. Для России и Казахстана это всегда 7, затем 10 цифр. Пример: 79995253422. |
messageText | Текст сообщения, строка |
Пример запроса:
POST /sendMessage
Отправка сообщения в новый или существующий чат. Сообщение будет добавлено в очередь на отправку и доставлено даже если телефон отключен от интернета или авторизация не пройдена.
Параметры:
phone | Обязателен если не указан chatId | Номер телефона, начинающийся с кода страны. Для России и Казахстана это всегда 7, затем 10 цифр. Сообщения на номера телефона с 8 не будут доставлены. Пример: 79995253422. |
chatId | Обязателен если не указан phone | ID чата из списка сообщений. Примеры: 79633123456@c.us для личных сообщений и 79680561234-1479621234@g.us для группы. Используется вместо параметра phone |
body | Обязателен | Текст сообщения, любая строка включая emoji 🍏 |
Примеры запросов:
Пример ответа:
POST /sendFile
Отправка файла в новый или существующий чат. Сообщение будет добавлено в очередь на отправку и доставлено даже если телефон отключен от интернета или авторизация не пройдена.
Параметры:
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 метод по тому же адресу.
Параметры:
Пример ответа:
GET /logout
Выйти из аккаунта и запросить новый QR-код.
Пример ответа:
GET /reboot
Перезагрузить Ваш инстанс WhatsApp.
Пример ответа:
GET /showMessagesQueue
Показать список сообщений, которые стоят в очереди на отправку, но еще не отправлены.
Пример ответа:
GET /clearMessagesQueue
Очистить очередь на отправку сообщений. Этот метод нужен когда вы случайно отправили тысячи сообщений подряд.
Создание бота Whatsapp на PHP. Полное руководство
Расскажем, как написать простого бота на PHP, используя API WhatsApp.
Демонстрационный бот будет реагировать на команды, поступающие ему в виде обычных сообщений в WhatsApp и отвечать на них. Сейчас в нашем демо чатботе присутствует следующий функционал:
Внимание: чтобы бот работал, телефон должен быть всегда подключен к интернету и не должен использоваться для Whatsapp Web. Удобнее всего заводить отдельное устройство для этих целей.
Подготовительная работа
Теперь, чтобы сервер вызывал наш скрипт при новых сообщениях, нужно указать WebHook URL. Укажите там прямую ссылку на ваш скрипт, например, https://domain.com/PHP/whatsappbot.php. Нельзя указать просто IP-адрес сервера. Можно указать порт.
Теперь давайте создадим файл whatsappbot.php и создадим в нем класс: class whatsAppBot
Создадим в нем переменные, в которые поместим API Url и токен. Их можно узнать в личном кабинете.
Теперь объявим функцию __construct(), которая будет вызываться автоматически при каждом запуске скрипта. Сервер ChatAPI будет обращаться к боту при поступлении новых сообщений (об этом подробнее ниже), присылая данные о новом сообщении в JSON-формате. Сразу ловим эти данные в начале функции и помещаем в переменные.
Продолжаем писать код функции. Опционально мы можем сохранить пришедшие данные в файл для последующего анализа и отладки, если это потребуется. Для этого мы воспользуемся буфером вывода.
Теперь напишем обработку входящих сообщений и вызов соответствующих функций. Будет много вложенного кода, но мы его разберем построчно.
if(isset($decoded[‘messages’]))
Уведомления типа «пользователь покинул чат» тоже присылаются сервером, но в них будет отсутствовать массив сообщений. Данная проверка предотвращает ошибку «Undefined index».
if(!$message[‘fromMe’])
Эта проверка нужна, чтобы бот не ушел в рекурсию. Отметка «fromMe» означает, что сообщение было послано самим ботом. Поэтому выполнение продолжаем только для входящих сообщений.
switch(mb_strtolower($text[0],’UTF-8′))
Блок switch, который определяет, что за команда содержится в первом слове. Команду приводим в строчной регистр, чтобы бот реагировал на нее независимо от того, капсом она написана, с заглавной буквы или зАбОрЧиКоМ.
case ‘hi’: <$this->welcome($message[‘chatId’],false)>
Собственно, выполнение соответствующей команды в зависимости от первого слова. В вызываемую функцию передаем chatId из сообщения, чтобы отправка происходила в соответствующий чат. В принципе, все следующие строки одинаковые, но обратите внимание на:
case ‘file’: <$this->file($message[‘chatId’],$text[1])>
Здесь мы передаем еще один параметр, а именно второе слово сообщения, т.к. оно является параметром команды. Об этом ниже. Также обратите внимание на:
case ‘me’: <$this->me($message[‘chatId’],$message[‘senderName’])>
Здесь в качестве второго параметра стоит имя собеседника, взятое также из данных сообщения. А в default мы вызываем функцию, выводящую список команд, но с параметром true, что означает получение неправильной команды.
Теперь создадим управляющие функции из блока switch. Функции, посылающие простое текстовое сообщение, в большинстве своем просто вызывают sendMessage() с определенным текстом. Функции, посылающие различное медиа, формируют свои массивы данных и вызывают sendRequest() с другими методами.
Здесь нам требуется указать номера телефонов пользователей, которые будут добавлены в конференцию. В первой строке извлечем номер телефона пользователя из его личного ID, который имеет вид 79991234567@c.us Затем формируем массив:
Обратите внимание, что это единственная функция, где НЕ НАДО передавать chatId. И передаем массив в sendRequest().
Теперь, когда мы закончили работать с функциями, после закрывающей класс скобки напишите строчку: new whatsAppBot();
Чтобы класс вызвался автоматически при обращении к скрипту.
Итоговый код будет выглядеть следующим образом
Отправка файла через API WhatsApp на PHP
Как отправить файл с помощью WhatsApp API на PHP
Укажите APiURL и token.
Мы будем использовать GET-параметры для установки адресата и содержания сообщения.
Вы можете указать имя файла в параметре «filename» и добавить текстовое сообщение к файлу в параметре «caption». Все данные должны быть в формате JSON.
Укажите действительный URL для API. Он содержит APIurl, метод и токен в GET-параметре.
Теперь мы можем отправить запрос в API.
А вот и весь скрипт:
Используйте такого рода ссылку: https://yoursite.com/path/to/script/yourscript.php?text=Hello&phone=70123456789
И не используйте скобки, дефисы и любые другие символы форматирования в телефоне. Используйте только цифры.
Не стесняйтесь обратиться и поделиться своим опытом или задать любые вопросы.
Рекомендуем
Проверь работу чат-бота на нашем API лично
Send a message to +54 9 11 3633-1413 through WhatsApp and test the our API.
Шлюз WhatsApp API подойдет для отправки и получения сообщений, уведомлений, планировщика, напоминаний, групповых сообщений, отслеживания и чат-ботов с простой интеграцией для вашего бизнеса
Questions and wishes: nik@chat-api.com
Туториал: Как отправить файл с помощью WhatsApp API на PHP
WhatsApp API SDK
Подписывайтесь
Немного о Чат Апи
Сhat API предназначен для создания чат-ботов и интеграции WhatsApp с бизнес-системами: CRM, ERP или сайтом. Сделать бота на Whatsapp теперь очень просто. Пожалуй, самый многофункциональный API на данный момент