quentinrasidy / onesixty
PHP 库,用于与 onesixty API 通信
1.0.0
2019-07-20 12:32 UTC
Requires
- php: >=7.1
- guzzlehttp/guzzle: ~6.0
Requires (Dev)
- phpunit/phpunit: 6.*
README
此包允许您与 OneSixty API 通信,以便向比利时手机号码发送短信。
您需要在 One Sixty 上创建账户。注册后,您将获得10条免费短信以测试此包。
先决条件
Composer
安装
composer require quentinrasidy/onesixty
如何使用
- 创建接收者
- 设置内容
- 使用 OneSixty API 进行认证
- 发送短信
接收者应该是比利时手机号码的数组。
发送
$recipients = []; array_push($recipients,'0492234222'); array_push($recipients,'0492845355'); try{ //Create the sms $s = new Quentinrasidy\Onesixty\Sms; //Set the content; the recipients; authenticate and send $sms = new Quentinrasidy\Onesixty\Sms; $sms->setRecipients($recipients) ->setContent('this is a super sms content') ->authenticate('mytoken') ->send(); }catch(Quentinrasidy\Onesixty\SmsException $e){ //Treat the exception here }
响应
send() 方法将返回一个包含相应 IDs 的已处理短信数组。
如果我们使用上面的相同代码并将 send() 的结果存储到一个变量中
$results = $sms->setRecipients($recipients) ->setContent('this is a super sms content') ->authenticate('mytoken') ->send(); foreach($results as $result){ var_dump($result); }
var_dump 方法将显示以下结果
{
["id"]=>
int(58)
["content"]=>
string(27) "this is a super sms content"
["status"]=>
int(0)
["recipient"]=>
string(12) "+32492234222"
}
array(4) {
["id"]=>
int(59)
["content"]=>
string(27) "this is a super sms content"
["status"]=>
int(0)
["recipient"]=>
string(12) "+32492845355"
}
因此,您可以存储已发送短信的 IDs。这允许您稍后获取它们的状态,例如。
此外,您还会注意到号码已被转换为 E.169 格式。
回调
您可以为每个新的短信状态获取回调。您需要在 "开发者" 页面下设置一个回调 URL。
如果我们保持上面的示例,创建了两个短信,ID 为 58 和 59。
如果短信成功发送,API 将向您的回调 URL 发送以下数据的 HTTP PUT 请求
[{"id":58,"status":"1"},{"id":59,"status":"1"}]
状态
以下是短信的可能状态
- TO_SEND => 您的短信已被存储,我们需要发送它。
- SENT => 您的短信已发送给接收者。
- HANDLED => 您的短信已被我们的后端处理。
- ERROR => 该短信存在问题。
- CANCELLED => 您已通过 DELETE 方法取消此短信。