2012-09-04 163 views
3

我想(並且必須)使用twilio rest api to send sms而不是使用助手php庫。 下面是我的代碼:我面臨的問題是,它給我的錯誤,91xxxxxxxxxx不是一個有效的電話號碼。但是,我通過電話號碼以「+」作爲前綴來休息api。twilio rest api,發送短信

我正在使用試用帳戶,並使用twilio驗證了該號碼,並使用幫助程序庫進行了測試。

<?php 
$url = "https://api.twilio.com/2010-04-01/Accounts/MYID/SMS/Messages.json"; 
$from = "MY_TWILIO_NUMBER without + prefix"; 
$to = "+91xxxxxxxxxx"; // twilio trial verified number 
$body = "using twilio rest api"; 
$id = "MY_ID"; 
$token = "MY_TOKEN"; 
$data = array (
     'From' => $from, 
     'To' => $to, 
     'Body' => $body, 

    ); 
$post = ''; 
foreach ($data as $parameter => $value) 
{ 
    $post .= "&$parameter=$value"; 
} 
$x = curl_init($url); 
curl_setopt($x, CURLOPT_POST, true); 
curl_setopt($x, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($x, CURLOPT_USERPWD, "$id:$token"); 
curl_setopt($x, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt($x, CURLOPT_POSTFIELDS, $post); 
$y = curl_exec($x); 
var_dump($y); 
curl_close($x); 
?> 

捲曲請求

string(157) "{"status":400,"message":"The 'To' number 91xxxxxxxxxx is not a valid phone number.","code":21211,"more_info":"http://www.twilio.com/docs/errors/21211"}" 

它做的完全轉儲說,錯號(缺少「+」),但我沒有得到地方。

+0

您嘗試啓動出站的電話,但是你提供的「到」手機號不是一個有效的電話號碼。 Twilio接受E164格式(即「+1格式」)的電話號碼,或者使用任意非數字分隔符組合的10位美國和加拿大號碼。 – user1614526

回答

5

那麼錯過了什麼,所以終於解決了。

這裏的代碼

<?php 
$url = "https://api.twilio.com/2010-04-01/Accounts/MYID/SMS/Messages.json"; 
$from = "MY_TWILIO_NUMBER without + prefix"; 
$to = "+91xxxxxxxxxx"; // twilio trial verified number 
$body = "using twilio rest api"; 
$id = "MY_ID"; 
$token = "MY_TOKEN"; 
$data = array (
     'From' => $from, 
     'To' => $to, 
     'Body' => $body, 

    ); 
$post = http_build_query($data); 
$x = curl_init($url); 
curl_setopt($x, CURLOPT_POST, true); 
curl_setopt($x, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($x, CURLOPT_USERPWD, "$id:$token"); 
curl_setopt($x, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt($x, CURLOPT_POSTFIELDS, $post); 
var_dump($post); 
$y = curl_exec($x); 
var_dump($y); 
curl_close($x); 
?>