Лично на мой взгляд решение не идеальное. Но другого я не вижу, если вы конечно не используете какие-то плагины на WordPress, и то сомнительно)
Собственно, вся суть находится на этой странице. Нужно по сути отправлять запрос по ссылке, передавая номер телефона (обязательно уже зарегистрированного в WhatsApp и текст письма). Конечно, в плане больших данных придется довольствоваться только строчным представлением, типа: Телефон: 123456, Имя: Алексей, email: alexey@gmail.com. По крайней мере пока я не разобрался с переносами).
Итак, нам нужно сперва создать html-разметку:
HTML
<</span>form action="#" class="form" method="POST"> <</span>input type="text"> <</span>button type="submit">Отправить</</span>button> </</span>form>
JS
const form = document.querySelector('.form'); const number = '7911352392'; function sendToWhatsapp(text, phone) { text = encodeURIComponent(text); let url = `https://web.whatsapp.com/send?phone=${phone}&text=${text}&source=&data=`; window.open(url); } form.addEventListener('submit', (e) => { e.preventDefault(); const text = e.currentTarget.querySelector('input').value; sendToWhatsapp(text, number); });
Пишем функцию sendToWhatsapp
, передавая два параметра – текст и телефон. Внутри обрабатываем текст с помощью encodeURIComponent(), чтобы убрать пробелы и верно закодировать строку для урла. Далее формируем сам урл, с помощью шаблонных строк вставляем наши текст и телефон. После этого через window.open()
переходим по этой ссылке в новой вкладке.
Ниже же получаем при клике на кнопку телефон и текст и вызываем написанную функцию sendToWhatsapp
.
Собственно, этот код перебросит нас сразу в чат с собеседником, останется только нажать кнопку “отправить”. Ну и нужно понимать, что у отправляющего тоже должна быть настроена web-версия. Как я и говорил, способ не идеальный, но самый простой.
Всем успехов в применении 🙂
В настоящее время WhatsApp считается одним из лучших приложений для обмена сообщениями в мире и используется многими людьми. Использование мессенджеров стало новым прорывом для компаний в сфере общения с клиентами. А знаешь почему? Клиенты не всегда готовы ждать информации по электронной почте или по телефону, им требуется мгновенное обслуживание, мгновенный ответ и информация. И WhatsApp – один из самых привлекательных каналов связи: более высокая скорость открытия и больше доверия.
Рынок разработки чат-ботов для WhatsApp быстро развивается. Это руководство для программистов поможет сделать первый шаг в создании бота.
Я расскажу вам, как отправить сообщение WhatsApp на PHP с помощью Chat API. Кстати, вы можете посмотреть видео версию данной статьи.
Для начала
Убедитесь, что в вашей локальной среде разработки установлен PHP.
Создайте свою учетную запись в Chat-Api. Это бесплатно! После этого вы будете перенаправлены на панель администратора, где будет создан ваш ключ.
Перейдите в свой личный аккаунт и получите там QR-код. Затем откройте WhatsApp на своем мобильном телефоне, перейдите в «Настройки» -> WhatsApp Web -> Сканируйте QR-код.
Всё просто. Теперь используйте этот код:
$data = [ 'phone' => '79995253422', // Телефон получателя 'body' => 'Привет, Андрей!', // Сообщение ]; $json = json_encode($data); // Закодируем данные в JSON // URL для запроса POST /message $token = '83763g87x'; $instanceId = '777'; $url = 'https://api.chat-api.com/instance'.$instanceId.'/message?token='.$token; // Сформируем контекст обычного POST-запроса $options = stream_context_create(['http' => [ 'method' => 'POST', 'header' => 'Content-type: application/json', 'content' => $json ] ]); // Отправим запрос $result = file_get_contents($url, false, $options);
Вам нужно будет только заменить свой токен из своего личного аккаунта на переменную $token и номер инстанса (или ApiURL) Получить ключ API , попробуйте прямо сейчас!
Не стесняйтесь обратиться и поделиться своим опытом или задать любые вопросы.
Скрипты для uKit 17
WhatsApp, пожалуй, самый популярный мессенджер в России, среди общего количества пользователей. Для многих не секрет, что в uKit вышло новое обновление и теперь в виджете «Соц. Сети» можно указать ссылку на WhatsApp по номеру телефона. Но мы решили дать возможность пользователям написать сообщение прямо с вашего сайта.
Поэтому, специально для пользователей uKit мы решили написать скрипт, который будет генерировать сообщение в мессенджер WhatsApp.
Настройки данного виджета: https://ukit.top/screen/76.png.
- Укажите свой номер в WhatsApp
- Задержка появления формы в миллисекундах
- Текст приветствия, при открытии формы WhatsApp
Код
Здравствуйте! Напишите нам сообщение в WhatsApp
Во вкладке «Настройки» в разделе «Выводить код» отметьте пункт «В конец ». (скриншот). Сохраните код и опубликуйте ваш сайт.
Установить сторонний код на ваш сайт, вы можете на тарифе «Про». Ознакомиться с тарифом вы можете на следующей странице: blog-ru.ukit.com/updates/tariffs. Также отмечу, что вы можете обратиться в службу поддержки uKit за помощью в установке кода на тарифах «Премиум» и выше, через раздел «Помощь» (скриншот). Демо страница Написать автору статьи Донат автору Похожие материалы:
–>Всего комментариев–>: 17 |
–>
Содержание
- Отправка сообщений в WhatsApp с сайта.
- 1. Первый вариант. Chat-api
- 2. Второй вариант. Готовые плагины
Отправка сообщений в WhatsApp с сайта
1. Первый вариант. Chat-api
Chat-api это неофициальный шлюз для отправки сообщений в WhatsApp с сайта. Он платный. Можно использовать в php скриптах. Подходит для массовой рассылки одно и того же сообщения пользователям/клиентам. Или для уведомлений о каком-нибудь событии(к примеру: отработал cron по расписанию.)
2. Второй вариант. Готовые плагины
В интернете очень много различных WhatsApp плагинов для WordPress. Что бы вы не тратили время на поиск и тестирование, рекомендую вам плагин WhatsApp Contact Button 2.0
API (программный интерфейс приложения) позволяет выполнять некоторые функции программы не нажимая кнопки, не вводя тексты, а отправляя специальные запросы к программе и получать на них ответы. Используя API можно делать автоматические рассылки сообщений из других программ, получать тексты и статусы сообщений, добавлять и обновлять контакты.
Далее описаны имеющиеся функции. Персональный токен (код) для подключения к API указан в разделе Настройки, доступный пользователям с ролью Администратор
👉 Отправка сообщений
Используйте GET-запрос, где номер телефона в международном формате (79001234567 и тп, но может содержать пробелы, скобки, тире и др) и текст в кодировке UTF-8 (может включать ссылки, смайлы). Для переноса текста на новую строку используйте в сообщении символы – %0A
При отправке по API нескольких сообщений, они выстраиваются в очередь отправки с интервалом от 5 до 12 сек (в случайном порядке) между сообщениями. Для тестовых аккаунтов есть ограничение – не более 30 отправленных сообщений по API в день.
Запрос GET: https://wamm.chat/api2/msg_to/токен/?phone=номер-телефона&text=текст-сообщения
Ответ при успехе: JSON: {"err":0,"msg_id":1хххххх}
, где msg_id – номер сообщения
Ответ при ошибке: JSON: {"err":"phone fail"}
Варианты ошибок:
- token fail – ошибка в токене
- acc not authorized – подключение к WhatsApp не авторизовано
- phone fail – ошибка в номере телефона
- no WhatsApp on the number – нет WhatsApp с таким номером
- phone not checked for WhatsApp, please retry – не проверен номер на наличие WhatsApp
- text fail – пустой текст
- text fail, more 1500 – текст слишком большой, превышает 1500 символов
👉 Получение статуса сообщения
Запрос GET: https://wamm.chat/api2/msg_state/токен/?msg_id=номер-сообщения
Ответ при успехе: JSON: {"err":0,"msg_data":{"msg_id":"1хххххх","phone":"79ххххххх","state":"viewed"}}
Ответ при ошибке: JSON: {"err":"msg_id fail"}
Варианты ошибок:
- token fail – ошибка в токене
- acc not authorized – подключение к WhatsApp не авторизовано
- msg_id fail – ошибка в номере
- msg not be – не найден номер сообщения
👉 Проверить наличие WhatsApp по номеру телефона
Запрос GET: https://wamm.chat/api2/check_phone/токен/?phone=номер-телефона
Ответ при успехе: JSON: {"err":0,"result":"exists"}
Варианты ответов:
- exists – есть WhatsApp на номере
- none – нет WhatsApp на номере
Ответ при ошибке: JSON: {"err":"fail execution", "result":"error"}
Варианты ошибок:
- token fail – ошибка в токене
- acc not authorized – подключение к WhatsApp не авторизовано
- fail execution – ошибка проверки, стоит повторить
👉 Отправка файлов / картинок / документов
Используйте GET-запрос, где номер телефона в международном формате (79001234567 и тп, но может содержать пробелы, скобки, тире и др) и URL – публичная ссылка к файлу (доступная из Интернета, вида: https://wamm.chat/i/images/wamm-chat-logo.png).
При отправке по API нескольких сообщений, они выстраиваются в очередь отправки с интервалом от 5 до 12 сек (в случайном порядке) между сообщениями. Для тестовых аккаунтов есть ограничение – не более 30 отправленных сообщений по API в день.
Запрос GET: https://wamm.chat/api2/file_to/токен/?phone=номер-телефона&url=ссылка-на-файл
Ответ при успехе: JSON: {"err":0,"msg_id":1хххххх}
, где msg_id – номер сообщения
Ответ при ошибке: JSON: {"err":"phone fail"}
Варианты ошибок:
- token fail – ошибка в токене
- acc not authorized – подключение к WhatsApp не авторизовано
- phone fail – ошибка в номере телефона
- no WhatsApp on the number – нет WhatsApp с таким номером
- phone not checked for WhatsApp, please retry – не проверен номер на наличие WhatsApp
- url fail – пустая ссылка или в ней отсутствует http / https
👉 Получение статуса сообщения
Запрос GET: https://wamm.chat/api2/msg_state/токен/?msg_id=номер-сообщения
Ответ при успехе: JSON: {"err":0,"msg_data":{"msg_id":"1хххххх","phone":"79ххххххх","state":"viewed"}}
Ответ при ошибке: JSON: {"err":"msg_id fail"}
Варианты ошибок:
- token fail – ошибка в токене
- acc not authorized – подключение к WhatsApp не авторизовано
- msg_id fail – ошибка в номере
- msg not be – не найден номер сообщения
👉 Получение сообщений
Этой функцией можно получить до 100 последних исходящих и входящих текстовых сообщений
Запрос GET: https://wamm.chat/api2/msg_get_last/токен/?col=кол-во(1-100)
В запросе также можно указать необязательный GET-параметр from_me=0
или from_me=1
, который позволит вывести не все последние сообщения, а лишь отправленные (1) или полученные (0)
Ответ при успехе: JSON: {"err":0,"msg_data":[{"msg_id":"1xxxxxx","from_me":"1","phone":"79xxxxxxxxx","chat_name":"Олег Иванов","tip_msg":"textMessage","msg_text":"текст сообщения","msg_link":"URL","date_ins":"2021-01-24 19:52:00","date_upd":"2021-01-24 19:52:22","state":"delivered"},…….. }]}
Описание переменных:
- msg_id – номер сообщения
- from_me – входящее (0) или исходящее (1) сообщение
- phone – номер телефона
- chat_name – имя контакта
- tip_msg – тип сообщения: текст – textMessage, file_link – файл/картинка/голосовое и т.п.
- msg_text – текст сообщения
- msg_link – ссылка на файл
- date_ins – дата отправки/получения
- state – статус сообщения (sending, viewed, received и другие)
Ответ при ошибке: JSON: {"err":"col fail or more 100"}
Варианты ошибок:
- token fail – ошибка в токене
- acc not authorized – подключение к WhatsApp не авторизовано
- col fail or more 100 – ошибка в кол-ве или превышает 100
- msgs not be – не найдены сообщения
👉 Получение сообщений по номеру телефона
Этой функцией можно получить до 100 последних исходящих и входящих текстовых сообщений по конкретному номеру телефона
Запрос GET: https://wamm.chat/api2/msg_get/токен/?phone=телефон&col=кол-во(1-100)
Ответ при успехе: JSON: {"err":0,"msg_data":[{"msg_id":"1xxxxxx","from_me":"1","phone":"79xxxxxxxxx","chat_name":"Олег Иванов","tip_msg":"textMessage","msg_text":"текст сообщения","msg_link":"URL","date_ins":"2021-01-24 19:52:00","date_upd":"2021-01-24 19:52:22","state":"delivered"},…….. }]}
Описание переменных:
- msg_id – номер сообщения
- from_me – входящее (0) или исходящее (1) сообщение
- phone – номер телефона
- chat_name – имя контакта
- tip_msg – тип сообщения: текст – textMessage, file_link – файл/картинка/голосовое и т.п.
- msg_text – текст сообщения
- msg_link – ссылка на файл
- date_ins – дата отправки/получения
- state – статус сообщения (sending, viewed, received и другие)
Ответ при ошибке: JSON: {"err":"col fail or more 100"}
Варианты ошибок:
- token fail – ошибка в токене
- acc not authorized – подключение к WhatsApp не авторизовано
- col fail or more 100 – ошибка в кол-ве или превышает 100
- msgs not be – не найдены сообщения
- phone fail – ошибка в номере телефона
👉 Добавление и обновление контактов
Этот запрос добавляет контакт в WAMM.chat или обновляет имя, если существует.
Запрос GET: https://wamm.chat/api2/contact_to/токен/?phone=номер-телефона&name=имя контакта
Запрос GET: https://wamm.chat/api2/contact_to/токен/?phone=номер-телефона&name=имя контакта&info=Заметка, примечание к контакту&email=e-mail&web=URL
Где, параметры info, email, web – необязательные, их можно не отправлять в запросе
Ответ при успехе: JSON: {"err":0,"result":"insert"}
или JSON: {"err":0,"result":"update"}
Ответ при ошибке: JSON: {"err":"phone fail"}
Варианты ошибок:
- token fail – ошибка в токене
- acc not authorized – подключение к WhatsApp не авторизовано
- phone fail – ошибка в номере телефона
- no WhatsApp on the number – нет WhatsApp с таким номером
- phone not checked for WhatsApp, please retry – не проверен номер на наличие WhatsApp
- name fail – не указано имя
- name fail, more 250 – имя слишком большое, превышает 250 символов
- web fail, more 150 – URL слишком большое, превышает 150 символов
- email fail, more 150 – email слишком большое, превышает 150 символов
👉 Удаление контактов
Этот запрос удаляет контакт в WAMM.chat, при этом в WhatsApp на смартфоне он остаётся.
Запрос GET: https://wamm.chat/api2/contact_delete/токен/?phone=номер-телефона
Ответ при успехе: JSON: {"err":0,"result":"delete"}
Ответ при ошибке: JSON: {"err":"phone fail"}
Варианты ошибок:
- token fail – ошибка в токене
- acc not authorized – подключение к WhatsApp не авторизовано
- phone fail – ошибка в номере телефона
- phone not found – не найден телефон в контактах
👉 Смайлы
Текст сообщения должен быть в UTF-8 и он позволяет вставить смайлы, как отдельные символы: 🤗💐😂🤩😭 и тд. Если вы используете системы, которые по тем или иным причинам не могут отправить смайлы, то можете использовать спецсимволы, которые будут заменены на смайлы:
🤗 | :sm01: |
💐 | :sm02: |
😂 | :sm03: |
🤩 | :sm04: |
😭 | :sm05: |
😤 | :sm06: |
🤝 | :sm07: |
😃 | :sm08: |
😉 | :sm09: |
😍 | :sm10: |
😘 | :sm11: |
😷 | :sm12: |
😕 | :sm13: |
🙏 | :sm14: |
👉 | :sm15: |
👍 | :sm16: |
💐 | :sm17: |
🔥 | :sm18: |
🕒 | :sm19: |
🎁 | :sm20: |
📺 | :sm21: |
☎ | :sm22: |
ли со статьей или есть что добавить?