努力将媒体传递到whatsapp客户端

时间:2019-11-14 13:10:21

标签: php whatsapp twilio-api

我正在努力获取CURL以将媒体发送到WhatsApp上的手机中。正文通过文件传递,但我似乎无法使媒体通过。

这是我的代码:

$data = array (
    "To" => "whatsapp:+2783272####",
    "Body" => "check the owl out",
    "From" => "whatsapp:+14155238886", 
    "mediaUrl" => "https://demo.twilio.com/owl.png"
);

$post = http_build_query($data);
$x = curl_init('https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXX/Messages.json');

curl_setopt($x, CURLOPT_POST, true);
curl_setopt($x, CURLOPT_RETURNTRANSFER, true);
curl_setopt($x, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($x, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($x, CURLOPT_USERPWD, 'eaXXXXXXXXXXXX');
curl_setopt($x, CURLOPT_POSTFIELDS, $post);

$result =  curl_exec($x);

我收到的手机全部是机身,而不是媒体。知道我要去哪里错了吗?

1 个答案:

答案 0 :(得分:0)

documentation,可能会有几个问题,但是最可能的候选者是mediaUrl应该指向一个字符串数组,而不仅仅是一个字符串:

$data = array (
            "To" => "whatsapp:+2783272####",
            "Body" => "check the owl out",
            "From" => "whatsapp:+14155238886", 
            "mediaUrl" => ["https://demo.twilio.com/owl.png"]
            );

如果不是,它们的文档中还有一些其他注释可能也与您相关。

  

如果您超过24小时前加入了沙盒,则需要向您的WhatsApp号发送一条新的入站消息,然后再向自己发送一条媒体消息。 WhatsApp当前不支持在24小时会话之外发生的“模板”消息中的媒体。

还有一个:

  

WhatsApp媒体内容当前仅在会话消息中受支持。如果与用户的WhatsApp会话到期,则必须等待入站消息创建新会话,然后才能向他们发送媒体消息。

此外,尽管您当然可以自由使用低级curl,但如果使用free SDKs之一,则可能会获得更好的调试支持。