apimatic-unofficial/unifonicnextgen

## 简介 使用 Unifonic 消息 API 发送短信。获取您的专用通用号码,并开始发送短信。Unifonic NextGen RESTful 和 HTTP **API** 使用基本认证协议。所有请求和响应体都采用 JSON 格式。## 获取账号 为了开始使用 API,您需要向 Unifonic 发送电子邮件以为您创建 Appsid。

dev-master 2020-04-27 17:31 UTC

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 目录。

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 安装位置的 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 的情况。

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

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

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客户端可以按以下方式初始化。

$basicAuthUserName = 'basicAuthUserName'; // The username to use with basic authentication
$basicAuthPassword = 'basicAuthPassword'; // The password to use with basic authentication

$client = new UnifonicNextGenLib\UnifonicNextGenClient($basicAuthUserName, $basicAuthPassword);

类参考

控制器列表

Class: WrapperController

获取单例实例

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

$wrapper = $client->getWrapper();

Method: 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);

错误

Method: createGetMsgQuery

Unifonic Get message query API 允许您获取指定短信的详细信息。

function createGetMsgQuery(
        $appsid,
        $msgid,
        $to = null)

参数

示例用法

$appsid = '6v253153s1g7831s5';
$msgid = 3200017891630;
$to = 966505980169;

$result = $wrapper->createGetMsgQuery($appsid, $msgid, $to);

错误

返回控制器列表

Class: 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);

错误

返回控制器列表