Я пытаюсь программно отправлять SMS-сообщения в своем php-коде, используя API REST от Clickatell. У меня есть этот код:
<?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"}
]
}
}
Тем не менее, я не получил сообщение на моем устройстве. Это то, что я могу отладить, или это вне меня?
Полученный вами apiMessageId (код отслеживания) не подтверждает фактическую доставку — он просто означает, что сообщение было принято к обработке.
Похоже, вы отправили сообщение в США с учетной записью, которая не имеет доступа к США. Вы можете связаться со службой поддержки, чтобы помочь вам с настройкой / получением правильной учетной записи, которая позволяет доставку в США.
Других решений пока нет …