codechito / php-client-sdk
PHP客户端,用于使用TransmitMessage的API。
Requires
- php: >=5.4.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- apimatic/jsonmapper: ~1.3.0
- mashape/unirest-php: ~3.0.1
Requires (Dev)
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
目录。
仅限Windows用户] 在php.ini中配置CURL证书路径
CURL曾经包含一个接受CA的列表,但现在不再捆绑任何CA证书。因此,默认情况下,它将拒绝所有SSL证书为不可验证。您将需要获取您的CA证书,并将curl指向它。步骤如下
- 从https://curl.haxx.se/docs/caextract.html下载证书捆绑包(.pem文件)到您的系统中。
- 将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的情况。
在PhpStorm中点击打开
,浏览到生成的SDK目录,然后点击确定
。
2. 添加新的测试项目
如下所示,在解决方案名称上右键单击以创建新的目录
将目录命名为"test"
向此项目添加一个PHP文件
命名为"testSDK"
根据您的项目设置,您可能需要在PHP代码中包含composer的自动加载器,以启用类的自动加载。
require_once "../vendor/autoload.php";
确保require_once中的路径正确指向依赖安装期间在vendor目录中创建的autoload.php
文件。
之后,您可以添加初始化客户端库和获取控制器类实例的代码。后续部分提供了初始化客户端库和使用控制器方法的示例代码。
3. 运行测试项目
要运行您的项目,您必须为项目设置解释器。解释器是安装在您计算机上的PHP引擎。
从文件
菜单中打开设置
。
在语言与框架
中从解释器
选项中选择PHP
。
浏览到解释器
选项附近的解释器,并选择您的解释器。
选择解释器后,点击确定
要运行您的项目,在测试项目中的PHP文件上右键单击,然后点击运行
如何测试
此SDK中的单元测试可以使用PHPUnit运行。
- 首先使用Composer安装依赖,包括
require-dev
依赖。 - 从命令行运行
vendor\bin\phpunit --verbose
以执行测试。如果您已全局安装PHPUnit,请使用phpunit --verbose
运行测试。
您可以在phpunit.xml
文件中更改PHPUnit测试配置。
初始化
认证
为了设置API客户端的认证和初始化,您需要以下信息。
API客户端可以按以下方式初始化。
$xApiKey = 'xApiKey'; // Your Api key $client = new TransmitMessageLib\TransmitMessageClient($xApiKey);
类参考
控制器列表
ContactsController
获取单例实例
可以通过API客户端访问ContactsController
类的单例实例。
$contacts = $client->getContacts();
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);
createList
创建一个新的(静态或动态)联系人列表。注意:只有在动态列表的情况下才需要过滤器,对于静态列表则不是必需的。
function createList($body)
参数
示例用法
$body = new ContactList(); $result = $contacts->createList($body);
deleteList
删除一个联系人列表。
function deleteList($id)
参数
示例用法
$id = 'id'; $result = $contacts->deleteList($id);
addListContacts
将联系人添加到静态列表中。注意:此端点不能用于将联系人添加到动态列表中。
function addListContacts( $id, $body)
参数
示例用法
$id = 'id'; $body = new AddToContactList(); $result = $contacts->addListContacts($id, $body);
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);