artesaos/zenvia-php

此包已被废弃,不再维护。未建议替代包。

使用您的 PHP 应用程序构建在 psr-7 组件之上的 Zenvia API 2.0。

dev-develop 2016-03-17 10:38 UTC

This package is not auto-updated.

Last update: 2022-07-04 01:53:50 UTC


README

Build Status

⚠️ 正在开发 🚧

简介

此包将 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']);

sendsendMultiple 方法默认返回一个 psr7 响应,但您可以选择响应类型,通过将第三个参数传递给发送方法。第二个参数是一个可选的 aggregateId 参数。响应类型参数是一个字符串,需要是以下之一:arrayobjstringstreamsimple_xmlpsr7(默认)。示例

$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响应转换为上述格式之一

arrayobjstringstreamsimple_xml

注意:要转换的响应必须是有效的PSR-7格式!

$converted_response = Artesaos\Zenvia\Http\ResponseHandler::convert($response, $format);

工作中!

许可证

此项目为开源,并使用MIT许可证授权