apimatic-unofficial / unifonicnextgen
## 简介 使用 Unifonic 消息 API 发送短信。获取您的专用通用号码,并开始发送短信。Unifonic NextGen RESTful 和 HTTP **API** 使用基本认证协议。所有请求和响应体都采用 JSON 格式。## 获取账号 为了开始使用 API,您需要向 Unifonic 发送电子邮件以为您创建 Appsid。
Requires
- php: >=5.4.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- apimatic/jsonmapper: ^1.3.1
- apimatic/unirest-php: ^2.0.0
Requires (Dev)
This package is auto-updated.
Last update: 2024-08-28 04:20:44 UTC
README
简介
使用 Unifonic 消息 API 发送短信。获取您的专用通用号码,并开始发送短信。
Unifonic NextGen RESTful 和 HTTP API 使用基本认证协议。所有请求和响应体都采用 JSON 格式。
获取账号
要开始使用 API,您需要向 Unifonic 发送电子邮件以创建 Appsid。
基本 URL
文档中引用的所有 URL 都具有以下基本 URL
basic.unifonic.com
安全
为确保隐私,我们建议您对所有 Unifonic API 请求使用 HTTPS。您可以下载我们的 HTTPS 证书。
[下载] (https://api.unifonic.com/udm/https.zip)
格式
Unifonic API 只支持 JSON 格式。所有请求必须使用 Content-type 头设置为 application/json。
支持
我们在这里帮助您!请联系 support@unifonic.com 获取支持,我们将尽快回复您,或者您可以通过我们的 [网站] (http://www.unifonic.com) 上的实时聊天与我们联系。
如何构建
生成的代码依赖于外部库,如 UniRest。这些依赖关系在 SDK 中的 composer.json 文件中定义。为了解决这些依赖关系,我们使用 Composer 包管理器,它需要系统上安装 PHP 大于 5.3.2。请访问 https://getcomposer.org.cn/download/ 下载 Composer 安装文件并在您的系统上运行它。打开命令提示符并输入 composer --version
。如果安装成功,这应该会显示已安装的 Composer 的当前版本。
- 使用命令行,导航到包含生成的文件(包括 composer.json)的 SDK 目录。
- 运行命令
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 安装位置的 php.ini 文件中。"PATH_TO" 必须是包含 .pem 文件的绝对路径。
[curl] ; A default value for the CURLOPT_CAINFO option. This is required to be an ; absolute path. ;curl.cainfo =
如何使用
以下部分解释了如何在新的项目中使用 UnifonicNextGen 库。
1. 在 IDE 中打开项目
打开 PHP 的 IDE,如 PhpStorm。这里展示的基本工作流程也适用于您更喜欢使用不同的编辑器或 IDE 的情况。
在PhpStorm中点击 打开
,浏览到生成的SDK目录,然后点击 确定
。
2. 添加一个新的测试项目
如图所示,在解决方案名称上右键点击以创建一个新目录
将目录命名为 "test"
向该项目添加一个PHP文件
命名为 "testSDK"
根据您的项目设置,您可能需要在PHP代码中包含composer的自动加载器,以启用类的自动加载。
require_once "../vendor/autoload.php";
确保require_once中的路径正确指向在依赖项安装期间创建的vendor目录中的autoload.php
文件。
之后,您可以添加代码来初始化客户端库并获取Controller类实例。下一节提供了初始化客户端库和使用控制器方法的示例代码。
3. 运行测试项目
要运行您的项目,您必须设置项目的解释器。解释器是安装在您计算机上的PHP引擎。
从文件
菜单打开 设置
。
在语言 & 框架
中选择 PHP
在解释器
选项附近浏览解释器并选择您的解释器。
选择解释器后,点击 确定
要运行您的项目,在测试项目中的PHP文件上右键点击,然后点击 运行
如何测试
此SDK中的单元测试可以使用PHPUnit运行。
- 首先使用composer安装依赖项,包括
require-dev
依赖项。 - 从命令行运行
vendor\bin\phpunit --verbose
来执行测试。如果您已全局安装PHPUnit,请使用phpunit --verbose
运行测试。
您可以在phpunit.xml
文件中更改PHPUnit测试配置。
初始化
身份验证
为了设置身份验证和API客户端的初始化,您需要以下信息。
API客户端可以按以下方式初始化。
$basicAuthUserName = 'basicAuthUserName'; // The username to use with basic authentication $basicAuthPassword = 'basicAuthPassword'; // The password to use with basic authentication $client = new UnifonicNextGenLib\UnifonicNextGenClient($basicAuthUserName, $basicAuthPassword);
类参考
控制器列表
WrapperController
获取单例实例
可以通过API客户端访问WrapperController
类的单例实例。
$wrapper = $client->getWrapper();
createSendMessage
Unifonic Send Wrapper API 允许您同时向多个用户发送短信
function createSendMessage( $appsid, $msg, $to, $sender, $baseEncode = false, $encoding = 'UCS2')
参数
示例用法
$appsid = '6v253153s1g7831s5'; $msg = 'Test'; $to = 966505980169; $sender = 'sender'; $baseEncode = false; $encoding = 'UCS2'; $result = $wrapper->createSendMessage($appsid, $msg, $to, $sender, $baseEncode, $encoding);
错误
createGetMsgQuery
Unifonic Get message query API 允许您获取指定短信的详细信息。
function createGetMsgQuery( $appsid, $msgid, $to = null)
参数
示例用法
$appsid = '6v253153s1g7831s5'; $msgid = 3200017891630; $to = 966505980169; $result = $wrapper->createGetMsgQuery($appsid, $msgid, $to);
错误
RestController
获取单例实例
可以从API客户端访问RestController
类的单例实例。
$rest = $client->getRest();
getScheduledMessageDetails
Unifonic计划消息详情功能允许您通过简单的RESTful API获取计划消息的详细信息
function getScheduledMessageDetails($appSid)
参数
示例用法
$appSid = '6v253153s1g7831s5'; $result = $rest->getScheduledMessageDetails($appSid);
错误
createSendMessage
Unifonic发送API允许您通过简单的RESTful API向全球用户发送短信
function createSendMessage( $appSid, $senderID, $body, $recipient, $responseType = null, $correlationID = null, $baseEncode = null, $statusCallback = null, $async = false)
参数
示例用法
$appSid = '6v253153s1g7831s5'; $senderID = 'sender'; $body = 'Test'; $recipient = 966505980169; $responseType = 'responseType'; $correlationID = 'CorrelationID'; $baseEncode = true; $statusCallback = 'statusCallback'; $async = false; $result = $rest->createSendMessage($appSid, $senderID, $body, $recipient, $responseType, $correlationID, $baseEncode, $statusCallback, $async);
错误
createSendScheduledMessages
Unifonic发送计划API允许您通过简单的RESTful API安排未来发送的全球用户短信
function createSendScheduledMessages( $appSid, $senderID, $recipient, $body, $timeScheduled, $responseType = null, $correlationID = null, $baseEncode = null)
参数
示例用法
$appSid = '6v253153s1g7831s5'; $senderID = 'sender'; $recipient = 966505980169; $body = 'Test'; $timeScheduled = 2020-04-12 11:50:00; $responseType = 'responseType'; $correlationID = 'CorrelationID'; $baseEncode = true; $result = $rest->createSendScheduledMessages($appSid, $senderID, $recipient, $body, $timeScheduled, $responseType, $correlationID, $baseEncode);
错误
deleteStopScheduledMessages
Unifonic停止计划消息API允许您通过简单的RESTful API删除(停止)计划消息,如果指定了MessageID,则只停止一条消息,否则停止所有消息。
function deleteStopScheduledMessages( $appSid, $messageID = null, $responseFormat = null, $baseEncode = null)
参数
示例用法
$appSid = '6v253153s1g7831s5'; $messageID = 3200017889502; $responseFormat = 'responseFormat'; $baseEncode = true; $result = $rest->deleteStopScheduledMessages($appSid, $messageID, $responseFormat, $baseEncode);
错误
createGetMessageDetails
Unifonic获取消息详情API允许您通过简单的RESTful API获取带有可选过滤器的消息详情,返回分页消息、下一页或上一页。
function createGetMessageDetails( $appSid, $messageID = null, $senderID = null, $recipient = null, $dateFrom = null, $dateTo = null, $correlationID = null, $limit = null, $baseEncode = null)
参数
示例用法
$appSid = '6v253153s1g7831s5'; $messageID = 2000000172800; $senderID = 'sender'; $recipient = 966505980169; $dateFrom = 2018-04-12; $dateTo = 2018-09-12; $correlationID = 'CorrelationID'; $limit = 20; $baseEncode = true; $result = $rest->createGetMessageDetails($appSid, $messageID, $senderID, $recipient, $dateFrom, $dateTo, $correlationID, $limit, $baseEncode);