artesaos / zenvia-php
使用您的 PHP 应用程序构建在 psr-7 组件之上的 Zenvia API 2.0。
Requires
- php: >=5.5.9
- illuminate/support: ^5.0
- nesbot/carbon: ~1.14
- php-http/client-implementation: ^1.0
- php-http/discovery: ^0.8
- php-http/httplug: ^1.0
- php-http/message: ^1.0
- php-http/message-factory: ^1.0
- puli/cli: ~1.0.0-beta10
- puli/composer-plugin: 1.0.0-beta9
- puli/discovery: ~1.0.0-beta9
Requires (Dev)
- mockery/mockery: ~0.9
- php-http/guzzle6-adapter: ~1.0
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2022-07-04 01:53:50 UTC
README
⚠️ 正在开发 🚧
简介
此包将 Zenvia SMS 网关 API 2.0 集成到您的 PHP 应用程序中,考虑到 PSR-7。
目录
安装
目前不工作!
此项目遵循 psr-7 标准,没有特定 HTTP 客户端的依赖。您需要手动发送 HTTP 请求的库,任选其一。参考此列表以找到支持 php-http/client-implementation 的客户端。有关虚拟包的更多信息,请参阅 Httplug。示例
composer require php-http/guzzle6-adapter
然后使用 composer 安装此包
composer require artesaos/zenvia-php
用法
首先,查看 Zenvia API 文档 以查看请求和响应的结构。
发送短信
您需要使用的用于发送短信的类是 Artesaos\Zenvia\SMS.php
。让我们开始发送一条短信
$sms = new Artesaos\Zenvia\SMS('your_account','your_password'); $response = $sms->send(['id'=>'001','from'=>'sender','to'=>'phone_number','msg'=>'message']);
send
和 sendMultiple
方法默认返回一个 psr7
响应,但您可以选择响应类型,通过将第三个参数传递给发送方法。第二个参数是一个可选的 aggregateId
参数。响应类型参数是一个字符串,需要是以下之一:array
、obj
、string
、stream
、simple_xml
或 psr7
(默认)。示例
$sms = new Artesaos\Zenvia\SMS('your_account','your_password'); $response = $sms->send(['id'=>'001','from'=>'sender','to'=>'phone_number','msg'=>'message'],null,'simple_xml');
如果您需要手动将您的 psr7 响应转换为响应类型之一,请参阅 更改响应格式 部分。
发送多条短信
如果要同时发送多条短信,请使用 sendMultiple
方法而不是 send
方法。此方法具有相同的签名
$messages = [ [ 'id'=>'001', 'from'=>'sender', 'to'=>'phone_number' 'msg'=>'message' ], [ 'id'=>'002', 'from'=>'sender', 'to'=>'phone_number' 'msg'=>'message' ], ]; $sms = new Artesaos\Zenvia\SMS('your_account','your_password'); $response = $sms->sendMultiple($messages);
安排发送短信
您可以通过向短信体传递一个调度属性来安排一条文本消息的发送
$sms = new Artesaos\Zenvia\SMS('your_account','your_password'); $response = $sms->send(['id'=>'001','from'=>'sender','to'=>'phone_number','msg'=>'message','schedule'=>'15/04/2016 17:10:23']);
默认情况下,Zenvia API 接受 ISO 格式,例如 2016-04-15T17:10:23
。感谢 Carbon 扩展使其更加容易。您可以使用 Carbon 接受的多种格式之一,而不是 ISO 日期字符串。
示例
+1 天
明天 13:00
四月一日 17:10:23
本周日 20:20:10
17:10:23
15/04/2016 17:10:23
您可以使用Carbon构造函数(或解析方法)接受的任何格式。更多信息请查看Carbon文档
检查已发送短信的状态
您可以使用check
方法检查已发送短信的状态。第一个参数是短信的id
,第二个参数是响应格式
$sms = new Artesaos\Zenvia\SMS('your_account','your_password'); $response = $sms->check($id, 'obj');
更改响应格式
如果您需要手动更改响应格式,请使用Artesaos\Http\ResponseHandler
类。调用静态convert
方法将您的PSR-7响应转换为上述格式之一
array
,obj
,string
,stream
,simple_xml
注意:要转换的响应必须是有效的PSR-7
格式!
$converted_response = Artesaos\Zenvia\Http\ResponseHandler::convert($response, $format);
工作中!
许可证
此项目为开源,并使用MIT许可证授权