Скрипт для отправки сообщений с сайта в мессенджер WhatsApp

Лично на мой взгляд решение не идеальное. Но другого я не вижу, если вы конечно не используете какие-то плагины на 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 image

WhatsApp, пожалуй, самый популярный мессенджер в России, среди общего количества пользователей. Для многих не секрет, что в uKit вышло новое обновление и теперь в виджете «Соц. Сети» можно указать ссылку на WhatsApp по номеру телефона. Но мы решили дать возможность пользователям написать сообщение прямо с вашего сайта.

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

Настройки данного виджета: https://ukit.top/screen/76.png.

  1. Укажите свой номер в WhatsApp
  2. Задержка появления формы в миллисекундах
  3. Текст приветствия, при открытии формы 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:

Оцените статью
Рейтинг автора
4,8
Материал подготовил
Егор Новиков
Наш эксперт
Написано статей
127
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий