chibex / ozioma-php
Ozioma for PHP库帮助您调用Ozioma云消息和通信平台,用于生日联系人短信和短信新闻订阅的API调用。
Requires (Dev)
- guzzlehttp/guzzle: ^6.2
- phpunit/phpunit: ~5.3
- scrutinizer/ocular: ^1.1
- squizlabs/php_codesniffer: ^2.3
- vlucas/phpdotenv: ^2.2
This package is auto-updated.
Last update: 2024-09-11 21:20:22 UTC
README
A PHP API wrapper for Ozioma.
要求
- Curl 7.34.0或更高版本(除非使用Guzzle)
- PHP 5.4.0或更高版本
- OpenSSL v1.0.1或更高版本
安装
通过Composer
$ composer require chibex/ozioma-php
通过下载
从发布页面下载一个版本。解压缩后
require 'path/to/src/autoload.php';
重要
这是Ozioma API版本2的第一个实现。
用法
实例化Ozioma类,并将您的ACCESS-KEY作为参数传递给构造函数。然后您可以通过调用资源方法来满足您的请求
0. 前提条件
确认您的服务器可以与Ozioma的服务器建立TLSv1.2连接。大多数最新的软件都有这个功能。如果您有任何SSL错误,请联系您的服务提供商以获取指导。
1. 启动发送消息
当您提交消息以发送时,我们的服务器将消息排队以供交付,并在交付后调用您的回调URL以通知您的系统/网站您的消息已发送。
$ozioma = new Chibex\Ozioma(ACCESS-KEY); try { $response = $ozioma->message->send(['sender' => 'php lib', 'message' => 'it is awesome', 'recipients' => '23470xxxxxxxx', 'use_corporate_route' => true, // [true or false] 'callback_url' => 'http://your-website/your-callback-url', ]); var_dump($response); } catch(\Chibex\Ozioma\Exception\ApiException $e){ print_r($e->getResponseObject()); die($e->getMessage()); }
send方法参数
sender
是您消息的自定义名称/标题,不应超过11个字符(空格也被计算为字符)recipients
是您要发送消息的号码message
是您要发送给收件人的内容use_corporate_route
可以是true或false。值'true'表示您希望消息发送到具有dnd政策的国家的勿扰(DND)号码callback_url
当您提交消息以发送时,我们的服务器将消息排队以供交付,并在交付后调用您的回调URL以通知您的系统/网站您的消息已发送。然后您可以使用作为查询字符串传递的消息ID检索交付详情。如果不想接收回调,此参数是可选的
2. 安排消息
大多数参数与上面的send
方法相同。在安排消息之前,您需要包括time_zone_id
,调用$ozioma->timezone->list();
以获取时区和它们的ID列表。
$ozioma = new Chibex\Ozioma(ACCESS-KEY); try { $response = $ozioma->message->schedule(['sender' => 'php lib', 'message' => 'it is awesome', 'recipients' => '23470xxxxxxxx', 'use_corporate_route' => true, 'callback_url' => 'http://your-website/your-callback-url', 'extras' => [[ 'deliver_at' => '2019-07-23 10:10', 'time_zone_id' => 2, ]]]); var_dump($response); } catch(\Chibex\Ozioma\Exception\ApiException $e){ print_r($e->getResponseObject()); die($e->getMessage()); }
extras
接受一个包含交付时间的数组,如果您希望安排的消息在不同的时间交付。time_zone_id
您可以通过我们的时区端点获取时区及其ID的列表。它用于设置您希望安排的消息交付给收件人的时区
3. 将订阅者添加到您的新闻通讯列表
要将系统/网站中的订阅者添加到您的新闻通讯列表,首先登录到您的Ozioma仪表板并创建新闻通讯列表。然后调用新闻通讯$ozioma->newsletter->list();
以获取包含它们的ID的列表
$ozioma = new Chibex\Ozioma(ACCESS-KEY); try { $response = $ozioma->newsletter->addSubscriber([ 'id' => 2, //sms newsletter id 'name' => 'Chibuike Mba', 'phone_no' => '23470xxxxxxxx']); var_dump($response); } catch(\Chibex\Ozioma\Exception\ApiException $e){ print_r($e->getResponseObject()); die($e->getMessage()); }
4. 将订阅者添加到您的新闻通讯列表
这与添加单个订阅者相同,但在此情况下,您可以一次性添加多个订阅者
$ozioma = new Chibex\Ozioma(ACCESS-KEY); try { $response = $ozioma->newsletter->addBulkSubscribers([ 'id' => 2, //sms newsletter id 'subscribers' => [[ 'name' => 'Izuchukwugeme Okafor', 'phone_no' => '23470xxxxxxxx' ],[ 'name' => 'Franklin Nnakwe', 'phone_no' => '23480xxxxxxxx' ]]]); var_dump($response); } catch(\Chibex\Ozioma\Exception\ApiException $e){ print_r($e->getResponseObject()); die($e->getMessage()); }
5. 将生日联系人添加到您的生日组
要将系统/网站中的联系人添加到您的生日组,首先登录到您的Ozioma仪表板并创建生日组。接下来,调用$ozioma->birthday->getGroupList();
以获取您的组及其ID,以及调用$ozioma->month->list();
以获取月份ID。
$ozioma = new Chibex\Ozioma(ACCESS-KEY); try { $response = $ozioma->birthday->addContactToGroup([ 'group_id' => 7, 'name' => 'Dennis Okonnachi', 'phone_no' => '23470xxxxxxxx', 'day' => 9, 'month_id' => 1, ]); var_dump($response); } catch(\Chibex\Ozioma\Exception\ApiException $e){ print_r($e->getResponseObject()); die($e->getMessage()); }
6. 将生日联系人添加到生日组
这与添加单个联系人的操作相同,但在此情况下,您可以一次性添加多个联系人。
$ozioma = new Chibex\Ozioma(ACCESS-KEY); try { $response = $ozioma->birthday->addBulkContactsToGroup([ 'group_id' => 7, 'contacts' => [[ 'name' => 'Caleb', 'phone_no' => '23470xxxxxxxx', 'day' => 9, 'month_id' => 1, ]]]); var_dump($response); } catch(\Chibex\Ozioma\Exception\ApiException $e){ print_r($e->getResponseObject()); die($e->getMessage()); }
7. 结束语
通常,在构建ozioma对象后进行API请求,请按以下方式调用资源/方法:$ozioma->{resource}->{method}()
;对于获取,使用$ozioma->{resource}(id)
,并列出资源使用$ozioma->{resource}s()
。
目前,我们支持:'message'、'newsletter'、'birthday'、'month'、'balance'和'timezones'。查看我们的API参考(链接-ozioma-api-reference)以获取支持的函数。要指定参数,请发送数组。
查看更多示例调用,请参考SAMPLES
MetadataBuilder
此类帮助您构建在执行交易请求时发送的有效JSON元数据字符串。
$builder = new MetadataBuilder();
添加元数据
要关闭自动将键名转换为snake_case,请在
MetadataBuilder::$auto_snake_case = false;
开始向$builder
添加元数据之前执行。
构建JSON
最后调用build()
以获取您的JSON元数据字符串。
变更日志
有关最近更改的更多信息,请参阅CHANGELOG
测试
$ composer test
贡献
请参阅CONTRIBUTING和CONDUCT以获取详细信息。查看我们的待办事项列表以获取已计划的功能。
安全
如果您发现任何安全相关的问题,请通过电子邮件chibexme@gmail.com报告,而不是使用问题跟踪器。
致谢
- Chibex Technologies
- Chibuike Mba
- Yabaconn - 跟随他在创建Paystack PHP Wrapper时采用的风格。
- 所有贡献者
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件