codechito/php-client-sdk

PHP客户端,用于使用TransmitMessage的API。

dev-master 2020-01-29 01:17 UTC

This package is auto-updated.

Last update: 2024-09-29 05:35:55 UTC


README

针对您业务的定制化消息服务

如何构建

生成的代码依赖于外部库,如UniRest。这些依赖在SDK提供的composer.json文件中定义。为了解决这些依赖,我们使用Composer包管理器,该管理器要求您的系统安装PHP 5.3.2以上版本。请访问https://getcomposer.org.cn/download/下载Composer安装程序文件,并在您的系统中运行它。打开命令提示符,输入composer --version。如果安装成功,这将显示已安装的Composer的当前版本。

  • 使用命令行,导航到包含生成的SDK文件的目录(包括composer.json)。
  • 运行命令composer install。这将安装所有必需的依赖,并在您的项目目录中创建vendor目录。

Building SDK - Step 1

仅限Windows用户] 在php.ini中配置CURL证书路径

CURL曾经包含一个接受CA的列表,但现在不再捆绑任何CA证书。因此,默认情况下,它将拒绝所有SSL证书为不可验证。您将需要获取您的CA证书,并将curl指向它。步骤如下

  1. https://curl.haxx.se/docs/caextract.html下载证书捆绑包(.pem文件)到您的系统中。
  2. 将curl.cainfo = "PATH_TO/cacert.pem"添加到您的php.ini文件中,该文件位于您的php安装目录。“PATH_TO”必须包含.pem文件的绝对路径。
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
;curl.cainfo =

如何使用

以下部分解释了如何在新的项目中使用TransmitMessage库。

1. 在IDE中打开项目

打开PHP的IDE,如PhpStorm。这里展示的基本工作流程也适用于您更喜欢使用不同编辑器或IDE的情况。

Open project in PHPStorm - Step 1

在PhpStorm中点击打开,浏览到生成的SDK目录,然后点击确定

Open project in PHPStorm - Step 2

2. 添加新的测试项目

如下所示,在解决方案名称上右键单击以创建新的目录

Add a new project in PHPStorm - Step 1

将目录命名为"test"

Add a new project in PHPStorm - Step 2

向此项目添加一个PHP文件

Add a new project in PHPStorm - Step 3

命名为"testSDK"

Add a new project in PHPStorm - Step 4

根据您的项目设置,您可能需要在PHP代码中包含composer的自动加载器,以启用类的自动加载。

require_once "../vendor/autoload.php";

确保require_once中的路径正确指向依赖安装期间在vendor目录中创建的autoload.php文件。

Add a new project in PHPStorm - Step 4

之后,您可以添加初始化客户端库和获取控制器类实例的代码。后续部分提供了初始化客户端库和使用控制器方法的示例代码。

3. 运行测试项目

要运行您的项目,您必须为项目设置解释器。解释器是安装在您计算机上的PHP引擎。

文件菜单中打开设置

Run Test Project - Step 1

语言与框架中从解释器选项中选择PHP

Run Test Project - Step 2

浏览到解释器选项附近的解释器,并选择您的解释器。

Run Test Project - Step 3

选择解释器后,点击确定

Run Test Project - Step 4

要运行您的项目,在测试项目中的PHP文件上右键单击,然后点击运行

Run Test Project - Step 5

如何测试

此SDK中的单元测试可以使用PHPUnit运行。

  1. 首先使用Composer安装依赖,包括require-dev依赖。
  2. 从命令行运行vendor\bin\phpunit --verbose以执行测试。如果您已全局安装PHPUnit,请使用phpunit --verbose运行测试。

您可以在phpunit.xml文件中更改PHPUnit测试配置。

初始化

认证

为了设置API客户端的认证和初始化,您需要以下信息。

API客户端可以按以下方式初始化。

$xApiKey = 'xApiKey'; // Your Api key

$client = new TransmitMessageLib\TransmitMessageClient($xApiKey);

类参考

控制器列表

Class: ContactsController

获取单例实例

可以通过API客户端访问ContactsController类的单例实例。

$contacts = $client->getContacts();

Method: getLists

获取您账户中定义的所有联系人列表的元数据。元数据包括列表名称和对应的描述,每个列表中的联系人数量,每个列表的创建/更新日期和时间,应用在列表上的过滤器(如果有)和列表类型。

function getLists(
        $sort = 'updated_at',
        $filters = null,
        $page = 0,
        $limit = 25)

参数

示例用法

$sort = 'updated_at';
$filters = 'filters';
$page = 0;
$limit = 25;

$result = $contacts->getLists($sort, $filters, $page, $limit);

Method: createList

创建一个新的(静态或动态)联系人列表。注意:只有在动态列表的情况下才需要过滤器,对于静态列表则不是必需的。

function createList($body)

参数

示例用法

$body = new ContactList();

$result = $contacts->createList($body);

Method: deleteList

删除一个联系人列表。

function deleteList($id)

参数

示例用法

$id = 'id';

$result = $contacts->deleteList($id);

Method: addListContacts

将联系人添加到静态列表中。注意:此端点不能用于将联系人添加到动态列表中。

function addListContacts(
        $id,
        $body)

参数

示例用法

$id = 'id';
$body = new AddToContactList();

$result = $contacts->addListContacts($id, $body);

Method: removeListContacts

从列表中删除联系人。注意:此端点只能用于从静态列表中删除联系人。

function removeListContacts(
        $id,
        $body)

参数

示例用法

$id = 'id';
$body = new AddToContactList();

$result = $contacts->removeListContacts($id, $body);

方法: formatNumber

将任何格式的有效手机号码格式化为国际格式。

function formatNumber($body)

参数

示例用法

$body = new PhoneNumber();

$result = $contacts->formatNumber($body);

方法: getAList

获取所选联系人列表的元数据。

function getAList($iD)

参数

示例用法

$iD = 'ID';

$result = $contacts->getAList($iD);

方法: removeContactField

删除自定义联系人字段

function removeContactField($id)

参数

示例用法

$id = 'id';

$result = $contacts->removeContactField($id);

方法: updateContactField

更新联系人字段信息

function updateContactField(
        $id,
        $body)

参数

示例用法

$id = 'id';
$body = new ContactField();

$result = $contacts->updateContactField($id, $body);

方法: getContactFields

获取自定义联系人字段列表及其对应字段详情(名称、类型等)

function getContactFields()

示例用法

$result = $contacts->getContactFields();

方法: createContactField

创建自定义联系人字段。输入与字段类型相关的附加参数值,例如数值类型字段的十进制值,或列表类型字段的值等。

function createContactField($body)

参数

示例用法

$body = new ContactField();

$result = $contacts->createContactField($body);

方法: getListContacts

获取联系人列表中联系人的信息。

function getListContacts(
        $id,
        $sort = 'updated_at',
        $filters = null,
        $page = 0,
        $limit = 25)

参数

示例用法

$id = 'id';
$sort = 'updated_at';
$filters = array('filters');
$page = 0;
$limit = 25;

$result = $contacts->getListContacts($id, $sort, $filters, $page, $limit);

方法: getContacts

获取TransmitMessage联系人数据库中所有联系人的信息

function getContacts(
        $sort = 'updated_at',
        $filters = null,
        $page = 0,
        $limit = 25)

参数

示例用法

$sort = 'updated_at';
$filters = 'filters';
$page = 0;
$limit = 25;

$result = $contacts->getContacts($sort, $filters, $page, $limit);

方法: getAContact

获取TransmitMessage联系人数据库中某位联系人的信息

function getAContact($id)

参数

示例用法

$id = 'id';

$result = $contacts->getAContact($id);

方法: createOrUpdateContact

创建新的联系人或更新现有联系人的详细信息

function createOrUpdateContact(
        $contactRef,
        $body)

参数

示例用法

$contactRef = 'contact_ref';
$body = new Contact();

$result = $contacts->createOrUpdateContact($contactRef, $body);

方法: removeAContact

删除联系人记录

function removeAContact($id)

参数

示例用法

$id = 'id';

$result = $contacts->removeAContact($id);

返回控制器列表

类: AccountsController

获取单例实例

AccountsController 类的单例实例可以通过 API 客户端访问。

$accounts = $client->getAccounts();

方法: getAccountBalance

获取账户余额

function getAccountBalance()

示例用法

$result = $accounts->getAccountBalance();

方法: getSenderIds

获取发送者 ID

function getSenderIds(
        $sort = 'name',
        $filters = null,
        $page = 0,
        $limit = 25)

参数

示例用法

$sort = 'name';
$filters = 'filters';
$page = 0;
$limit = 25;

$result = $accounts->getSenderIds($sort, $filters, $page, $limit);

返回控制器列表

类: MMSController

获取单例实例

MMSController 类的单例实例可以通过 API 客户端访问。

$mMS = $client->getMMS();

方法: cancelMMSCampaign

取消 MMS 活动。注意:只能取消处于“已计划”或“验证中”状态的活动

function cancelMMSCampaign($id)

参数

示例用法

$id = 'id';

$result = $mMS->cancelMMSCampaign($id);

方法: getMMSCampaignLinkHits

获取成功发送的 MMS 活动链接点击信息

function getMMSCampaignLinkHits(
        $id,
        $sort = 'last_hit',
        $filters = null,
        $page = 0,
        $limit = 25)

参数

示例用法

$id = 'id';
$sort = 'last_hit';
$filters = 'filters';
$page = 0;
$limit = 25;

$result = $mMS->getMMSCampaignLinkHits($id, $sort, $filters, $page, $limit);

方法: getMMSMessage

获取 MMS 消息信息

function getMMSMessage($id)

参数

示例用法

$id = 'id';

$result = $mMS->getMMSMessage($id);

方法: getMMSCampaigns

获取所有 MMS 活动信息

function getMMSCampaigns(
        $sort = 'updated_at',
        $filters = null,
        $page = 0,
        $limit = 25)

参数

示例用法

$sort = 'updated_at';
$filters = 'filters';
$page = 0;
$limit = 25;

$result = $mMS->getMMSCampaigns($sort, $filters, $page, $limit);

方法: getMMSCampaign

获取特定 MMS 活动信息

function getMMSCampaign($id)

参数

示例用法

$id = 'id';

$result = $mMS->getMMSCampaign($id);

方法: sendMMS

向单个联系人发送MMS

function sendMMS($body)

参数

示例用法

$body = new MMS();

$result = $mMS->sendMMS($body);

方法: sendMMSCampaign

发送一个MMS活动

function sendMMSCampaign($body)

参数

示例用法

$body = new MMSCampaign();

$result = $mMS->sendMMSCampaign($body);

返回控制器列表

类: SMSController

获取单例实例

可以从API客户端访问SMSController类的单例实例。

$sMS = $client->getSMS();

方法: getSMSInbox

获取所有传入的SMS消息(MO和回复)

function getSMSInbox(
        $sort = 'received_at',
        $filters = null,
        $page = 0,
        $limit = 25)

参数

示例用法

$sort = 'received_at';
$filters = 'filters';
$page = 0;
$limit = 25;

$result = $sMS->getSMSInbox($sort, $filters, $page, $limit);

方法: cancelSMSCampaign

取消一个SMS活动。注意:只有处于计划或验证状态的活动才能被取消

function cancelSMSCampaign($id)

参数

示例用法

$id = 'id';

$result = $sMS->cancelSMSCampaign($id);

方法: getSMSCampaignLinkHits

获取SMS活动链接点击量

function getSMSCampaignLinkHits(
        $id,
        $sort = 'last_hit',
        $filters = null,
        $page = 0,
        $limit = 25)

参数

示例用法

$id = 'id';
$sort = 'last_hit';
$filters = 'filters';
$page = 0;
$limit = 25;

$result = $sMS->getSMSCampaignLinkHits($id, $sort, $filters, $page, $limit);

方法: getSMSCampaignReplies

从接收者那里检索对活动的回复

function getSMSCampaignReplies(
        $id,
        $sort = 'received_at',
        $filters = null,
        $page = 0,
        $limit = 25)

参数

示例用法

$id = 'id';
$sort = 'received_at';
$filters = 'filters';
$page = 0;
$limit = 25;

$result = $sMS->getSMSCampaignReplies($id, $sort, $filters, $page, $limit);

方法: getSMSCampaignReport

获取已发送的SMS活动的活动详情报告。注意:只能检索那些已经发送、正在发送或至少部分已发送的延迟活动的信息。

function getSMSCampaignReport($id)

参数

示例用法

$id = 'id';

$result = $sMS->getSMSCampaignReport($id);

方法: getSMSCampaigns

获取所有SMS活动的列表和详细信息,包括所有状态下的TransmitMessage账户

function getSMSCampaigns(
        $sort = 'updated_at',
        $filters = null,
        $page = 0,
        $limit = 25)

参数

示例用法

$sort = 'updated_at';
$filters = 'filters';
$page = 0;
$limit = 25;

$result = $sMS->getSMSCampaigns($sort, $filters, $page, $limit);

方法: getSMSCampaign

获取特定短信营销活动的详细信息

function getSMSCampaign($id)

参数

示例用法

$id = 'id';

$result = $sMS->getSMSCampaign($id);

方法: sendSMS

发送短信

function sendSMS($body)

参数

示例用法

$body = new SMS();

$result = $sMS->sendSMS($body);

方法: getSMSRecord

获取已发送短信的详细信息

function getSMSRecord($id)

参数

示例用法

$id = 'id';

$result = $sMS->getSMSRecord($id);

方法: sendSMSCampaign

发送短信营销活动

function sendSMSCampaign($body)

参数

示例用法

$body = new SMSCampaign();

$result = $sMS->sendSMSCampaign($body);

返回控制器列表