Отправка уведомления WhatsApp с использованием предварительно утвержденного шаблона сообщения на Twilio - PullRequest
1 голос
/ 23 января 2020

Привет! Я только что получил разрешение на использование службы обмена сообщениями WhatsApp на Twilio. У меня нет проблем при тестировании в песочнице, но у меня возникли проблемы, когда я переместил его в производственную среду.

Исходя из объяснения Twilio, я должен начать разговор с клиентом WhatsApp, используя один из pre утвержденные шаблоны . Когда клиент ответил, у нас было 24 часа для отправки сообщений произвольной формы.

Я уже сделал то, что в https://www.twilio.com/docs/sms/whatsapp/tutorial/send-whatsapp-notification-messages-templates, но, к сожалению, данный пример на самом деле относится к сообщению свободной формы.

Вот сценарий:

<?php

require_once '/path/to/vendor/autoload.php';

use Twilio\Rest\Client;

$sid    = "ACxxxxxxxxxxxxxxxxxxxxx";
$token  = "your_auth_token";
$twilio = new Client($sid, $token);

$message = $twilio->messages
                  ->create("whatsapp:+14155238886", // to
                           array(
                               "from" => "whatsapp:+15005550006",
                               "body" => "Hi Joe! Thanks for placing an order with us. We’ll let you know once your order has been processed and delivered. Your order number is O12235234"
                           )
                  );

print($message->sid);

Может кто-нибудь помочь мне с сценарием PHP о том, как отправить сообщение WhatsApp с использованием этого предварительно утвержденного шаблона?

Ответы [ 2 ]

1 голос
/ 08 февраля 2020

Хорошо, возможно, некоторые из вас пришли сюда, пытаясь задать аналогичный вопрос, и вот что я получил после обращения в службу поддержки Twilio:

  • Мой API WhatsApp теперь работает.
  • Есть нет ничего плохого ни в моем коде, ни в их коде (что указано в их документации https://www.twilio.com/docs/sms/whatsapp/tutorial/send-whatsapp-notification-messages-templates), фактически они используют один и тот же код для отправки либо сообщения шаблона, либо сообщения произвольной формы.
  • отправка их шаблона API к WhatsApp содержит ошибку, которая создает несоответствие между тем, что мы фактически имели в Twilio, и тем, что фактически получил WhatsApp. Вот почему первое отправленное мной сообщение (даже несмотря на то, что я использовал предварительно утвержденный шаблон) всегда обрабатывается как сообщение произвольной формы, поэтому оно не доставлено.
  • Twilio WhatsApp API все еще находится на стадии бета-тестирования, поэтому ожидаются ошибки. Пока он находится в бета-версии, они рекомендуют нам создавать шаблоны как можно проще и избегать форматирования, такого как жирный шрифт, курсив, зачеркивание и т. Д. c, а также новые строки (\ n), используемые в шаблонах.

Это все, чем я могу поделиться, и я надеюсь, что у вас нет проблем, как и у меня. Ура!

1 голос
/ 29 января 2020

Ниже приведен наш код с предопределенными шаблонами

    $number = "+919XXXXXXXXX";
    $to = "whatsapp:" . $number;
    $from = "whatsapp:+1YYYYYYYYYY";
    $msg = "Un rendez-vous de {{1}} pour {{2}} avec {{3}} et prévu le {{4}} a été créé.";
    $accountSid = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";
    $authToken = "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB";
    $twilioClient = new Client($accountSid, $authToken);
    $msg_data = array("from" => $from, "body" => $msg);
    try {
        $message = $twilioClient->messages->create($to, $msg_data);
        $response = $message->sid ? $message->sid : '';
        error_log("Twilio msg response : " . print_r($response, true));
    } catch (TwilioException $e) {
        error_log('Could not send whatsapp notification to ' . $number);
        error_log('Could not send whatsapp TwilioException' . $e->getMessage());
    }

Одна проверка на наличие пробелов при создании строки сообщения. Даже за одно пустое пространство они отвергают.

...