Отправка сообщений через Wapico недорого и всего за 4 шага!

Делитесь своими плагинами и темами оформления.
Ответить
Аватара пользователя
Fait
Инвестор
Инвестор
Сообщения: 740
Зарегистрирован: 19 ноя 2020, 17:46
Имя: Максим Балакшеев
Откуда: Россия, Златоуст
Организация: ИП Балакшеев Максим Георгиевич

Отправка сообщений через Wapico недорого и всего за 4 шага!

Сообщение Fait »

Добрый день, коллеги!
Нашёл такой сервис для интеграции с WhatsApp - Wapico.

По API данные отправляются без проблем!
При этом цена от 590 рублей (ну это чисто для текста).
Неделя тестовая даётся.

Конечно, это у меня не совсем плагин (не умею их делать), но код прилагаю.

Итак, делаем следующее:
1) Регистрируемся на сервисе и получаем API Token и Instance_id
2) Создаём в системе две переменные - VAR_WAPICO_INSTANCE_ID и VAR_WAPICO_TOKEN, записывая в них соответствующие данные.
3) Создаём код в разделе "Пользовательский PHP" и вставляем вот это:

Код: Выделить всё

function wapico_send_message($message,$tel) {    
  global $alerts;
  $tel = str_replace('+','',$tel);
  $tel = str_replace('-','',$tel);
  $tel = str_replace('(','',$tel);
  $tel = str_replace(')','',$tel);
  $tel = str_replace(' ','',$tel);
  
  $params = [
    'number' => $tel,
    'type' => 'text',
    'message' => strip_tags($message,'<b><i><a><code><pre>'),
    'instance_id' => VAR_WAPICO_INSTANCE_ID,
    'access_token' => VAR_WAPICO_TOKEN,
  ];
                                    
  $ch = curl_init("https://biz.wapico.ru/api/send.php");
  curl_setopt($ch, CURLOPT_HEADER, false);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, ($params));
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($ch, CURLOPT_TIMEOUT, 10);            
  $result = curl_exec($ch);
  curl_close($ch);
    
  $result = json_decode($result,true);
  if(isset($result['error_code']) and is_object($alerts))
  {
    $alerts->add('Whatsapp Error: ' . $result['error_code'] . ' ' .  $result['description'],'error');      
  }     
} 
4) Вызываем нашу функцию через кнопку автоматизации (у меня по крайней мере именно так и сделано, так как в моей системе много условий, от которых зависит отправка сообщений.
В параметрах функции wapico_send_message($message,$tel) указываем $message - текст сообщения, а $tel - номер телефона из поля с типом "Телефон". Важно! Российский номер телефона должен начинаться на с 8, а с +7.
Например, вот так:

Код: Выделить всё

$tel = [237];
$message = "Привет!".PHP_EOL."Это тестовое сообщение)";
wapico_send_message($message,$tel)
Ответить