在PHP中使用Clickatell的REST api

时间:2016-02-03 00:08:32

标签: php rest clickatell

我尝试使用Clickatell的REST api以编程方式在我的php代码中发送短信。我有这个代码:

<?php
$message = "Test Message";
$numbers = array("1**********","1**********");
$data = json_encode(array("text"=>$message,"to"=>$numbers));
$authToken = "none of your buisness";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,            "https://api.clickatell.com/rest/message");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST,           1);
curl_setopt($ch, CURLOPT_POSTFIELDS,     $data);
curl_setopt($ch, CURLOPT_HTTPHEADER,     array(
    "X-Version: 1",
    "Content-Type: application/json",
    "Accept: application/json",
    "Authorization: Bearer $authToken"
));

$result = curl_exec ($ch);

echo $result
?>

这一切似乎都有效,因为这是我得到的结果:

{
"data": {
    "message":[
        {
            "accepted":true,
            "to":"1**********",
            "apiMessageId":"e895a0e68089d76fa05f41046a186a70"
        }
    ]
}
}

但是,我的设备上没有收到该消息。这是我可以调试的东西还是超出我的范围?

1 个答案:

答案 0 :(得分:4)

您获得的apiMessageId(跟踪代码)不会确认实际发送 - 它只是表示已接受处理消息。

看起来您向美国发送了一条消息,其帐户无法访问美国。您可以联系支持团队,以帮助您设置/获取允许美国交付的正确帐户。