kemonai/zigatext-php

Zigatext PHP 库,用于向 Zigatext 云消息平台发起 API 调用,以进行生日联系人短信订阅以及更多功能。

v1.0.1 2022-02-25 17:53 UTC

This package is auto-updated.

Last update: 2024-09-25 23:46:01 UTC


README

Latest Version on Packagist Software License Total Downloads

这是 Zigatext 的 PHP API 包装器。这个库可以帮助你轻松地将 Zigatext 消息平台集成到你的 PHP 项目中。

Zigatext

要求

  • Curl 7.34.0 或更高版本(除非使用 Guzzle)
  • PHP 5.4.0 或更高版本
  • OpenSSL v1.0.1 或更高版本

安装

通过 Composer

    $ composer require kemonai/zigatext-php

通过下载

发布页面下载一个版本。解压缩后

    require 'path/to/src/autoload.php';

重要

这是 Zigatext API 版本 1 的第一个实现。

使用方法

实例化 Zigatext 类并将你的 ACCESS-KEY 作为参数传递给构造函数。然后你可以开始调用资源方法来满足你的请求

0. 前提条件

确认你的服务器可以与 Zigatext 服务器建立 TLSv1.2 连接。大多数最新的软件都具备这个功能。如果你有任何 SSL 错误,请联系你的服务提供商以获取指导。

1. 启动发送消息

当你提交消息以发送时,我们的服务器将消息排队以供投递,投递后,你的回调 URL 会被调用以通知你的系统/网站你的消息已发送。

    $zigatext = new Kemonai\Zigatext(ACCESS-KEY);
    try
    {
        $response = $zigatext->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(\Kemonai\Zigatext\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,调用 $zigatext->timezone->list(); 获取时区列表及其 ID。

    $zigatext = new Kemonai\Zigatext(ACCESS-KEY);
    try
    {
        $response = $zigatext->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(\Kemonai\Zigatext\Exception\ApiException $e){
        print_r($e->getResponseObject());
        die($e->getMessage());
    }
  • extras 接受包含投递时间的数组,如果想要你的安排消息在不同时间投递。
  • time_zone_id 你可以调用我们的时区端点以获取时区列表及其 ID。它用于设置你的安排消息将投递给接收者的时区。

3. 将订阅者添加到你的新闻通讯列表

要将你的系统/网站中的订阅者添加到新闻通讯列表,首先登录到你的 Zigatext 控制台并创建新闻通讯列表。接下来调用新闻通讯 $zigatext->newsletter->list(); 以获取列表及其 ID。

    $zigatext = new Kemonai\Zigatext(ACCESS-KEY);
    try
    {
        $response =  $zigatext->newsletter->addSubscriber([
                                    'id' => 2, //sms newsletter id
                                    'name' => 'Chibuike Mba',
                                    'phone_no' => '23470xxxxxxxx']);
        var_dump($response);

    } catch(\Kemonai\Zigatext\Exception\ApiException $e){
        print_r($e->getResponseObject());
        die($e->getMessage());
    }

4. 将订阅者添加到你的新闻通讯列表

这与添加单个订阅者相同,但在这个案例中,你一次添加多个订阅者。

    $zigatext = new Kemonai\Zigatext(ACCESS-KEY);
    try
    {
        $response =  $zigatext->newsletter->addBulkSubscribers([
                                        'id' => 2, //sms newsletter id
                                        'subscribers' => [
                                            [
                                                'name' => 'Benjamin Akawu',
                                                'phone_no' => '23470xxxxxxxx'
                                            ],
                                            [
                                                'name' => 'Franklin Nnakwe',
                                                'phone_no' => '23480xxxxxxxx'
                                            ]
                                        ]
                                    ]);
        var_dump($response);

    } catch(\Kemonai\Zigatext\Exception\ApiException $e){
        print_r($e->getResponseObject());
        die($e->getMessage());
    }

将生日联系人添加到你的生日组

要将你的系统/网站中的联系人添加到生日组,首先登录到你的 Zigatext 控制台并创建生日组。接下来调用生日 $zigatext->birthday->getGroupList(); 以获取组及其 ID,以及 $zigatext->month->list(); 以获取月份 ID。

    $zigatext = new Kemonai\Zigatext(ACCESS-KEY);
    try
    {
        $response =  $zigatext->birthday->addContactToGroup([
                                        'group_id' => 7,
                                        'name' => 'Dennis Okonnachi',
                                        'phone_no' => '23470xxxxxxxx',
                                        'day' => 9,
                                        'month_id' => 1,
                                    ]);
        var_dump($response);

    } catch(\Kemonai\Zigatext\Exception\ApiException $e){
        print_r($e->getResponseObject());
        die($e->getMessage());
    }

6. 将生日联系人添加到你的生日组

这和添加单个联系人的操作相同,但在这个情况下,您一次可以添加多个联系人。

    $zigatext = new Kemonai\Zigatext(ACCESS-KEY);
    try
    {
        $response =  $zigatext->birthday->addBulkContactsToGroup([
                                        'group_id' => 7,
                                        'contacts' => [
                                            [
                                            'name' => 'Caleb Uche',
                                            'phone_no' => '23470xxxxxxxx',
                                            'day' => 9,
                                            'month_id' => 1,
                                            ],
                                            [
                                            'name' => 'Bernard Inyang',
                                            'phone_no' => '23480xxxxxxxx',
                                            'day' => 19,
                                            'month_id' => 3,
                                            ]
                                        ]
                                    ]);
        var_dump($response);

    } catch(\Kemonai\Zigatext\Exception\ApiException $e){
        print_r($e->getResponseObject());
        die($e->getMessage());
    }

7. 结束语

通常,在构建 Zigatext 对象后进行 API 请求,通过调用资源/方法来完成:$zigatext->{resource}->{method}();对于获取操作,使用 $zigatext->{resource}(id),列出资源使用:$zigatext->{resource}s()

目前,我们支持:'message'、'newsletter'、'birthday'、'month'、'balance' 和 'timezones'。查看我们的 API 参考([链接-Zigatext API 参考][链接-Zigatext API 参考])以获取支持的函数。要指定参数,以数组形式发送。

查看SAMPLES以获取更多示例调用。

MetadataBuilder

此类帮助您构建在发送交易请求时需要发送的有效 JSON 元数据字符串。

    $builder = new MetadataBuilder();

添加元数据

要关闭键名的自动蛇形转换,请在开始添加元数据到 $builder 之前执行以下操作:

    MetadataBuilder::$auto_snake_case = false;

构建 JSON

最后调用 build() 以获取您的 JSON 元数据字符串。

变更日志

请参阅CHANGELOG 以获取最近更改的更多信息。

测试

    $ composer test

贡献

请参阅CONTRIBUTINGCONDUCT 以获取详细信息。查看我们的待办事项列表以获取已打算实现的功能。

安全

如果您发现任何与安全相关的问题,请通过电子邮件 chibexme@gmail.com 而不是使用问题跟踪器来报告。

致谢

许可证

MIT 许可证 (MIT)。请参阅许可证文件以获取更多信息。