2017-02-06 3 views
2

Я искал подобные темы и could't найти какое-либо решение, Я надеюсь, что кто-то может мне помочь ..Прием смс терпит неудачу на Nexmo Отправить СМС

Примечания: Я бег сценария на XAMPP localhost и код моей страны +90 Я следил за документацией Nexmo для отправки смс. и ниже - скрипт php.

и следующие результаты. кажется, что он отправляет его, но я не получаю sms на мобильном телефоне, что может привести к этому?

{ "message-count": "1", "messages": [{ "to": "90542xxxxxxx", "message-id": "0C00000016FF36E9", "status": "0", "remaining-balance": "1.77080000", "message-price": "0.01910000", "network": "28602" }] } 

ответ

1

Причины, почему SMS не могут быть доставлены:

  1. буквенно-цифровой отсылка используется в регионе, где такой идентификатор отправителя не разрешается использовать. Это юридическое требование для региона Турции (+90). В этом случае Nexmo изменит идентификатор отправителя на NXSMS. Подробнее о поддержке буквенно-цифрового идентификатора отправителя см .: https://docs.nexmo.com/messaging/sms-api/building-global-apps#country_specific_features
  2. Перевозчик не смог доставить сообщение. Возможно (и рекомендуется) настроить обратный вызов webhook, чтобы ваше приложение было уведомлено о квитанциях о доставке. См https://docs.nexmo.com/messaging/sms-api/api-reference#delivery_receipt

Один из способов улучшить шансы исполнимости является использование from номера, который был куплен через Nexmo. В этих примерах также имеется набор параметров callback, чтобы приложение было уведомлено о доставке SMS.

Использование с помощью Nexmo PHP client library:

<?php 
$client = new Nexmo\Client(new Nexmo\Client\Credentials\Basic(API_KEY, API_SECRET)); 

$message = $client->message()->send([ 
    'to' => '90542xxxxxxx', 
    'from' => '90555xxxxxxx', 
    'text' => 'Working', 
    'callback' => 'https://example.com/dlr; 
]); 

Или на основе кода в вопросе:

<?php 

$url = 'https://rest.nexmo.com/sms/json?' . http_build_query(
    [ 
     'api_key' => 'xxxxxxxx', 
     'api_secret' => 'xxxxxxxxxxx', 
     'to' => '90542xxxxxxx', 
     'from' => '90555xxxxxxx', 
     'text' => 'Working', 
     'callback' => 'https://example.com/dlr; 
    ] 
); 

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$response = curl_exec($ch); 

echo $response; 

Связанные: Nexmo FAQ on SMS delivery in Turkey