我正在努力获取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);
我收到的手机全部是机身,而不是媒体。知道我要去哪里错了吗?
答案 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会话到期,则必须等待入站消息创建新会话,然后才能向他们发送媒体消息。