ochui/d7sms

D7 SMS 允许您通过 D7 自有的全球移动网络连接向客户发送短信。D7 为所有行业的客户提供可靠且成本效益的短信服务,旨在通过直接连接连接所有国家和地区。

1.0.0 2020-08-11 11:47 UTC

This package is auto-updated.

Last update: 2024-09-29 06:14:21 UTC


README

D7 SMS 允许您通过 D7 自有的全球移动网络连接向客户发送短信。D7 为所有行业的客户提供可靠且成本效益的短信服务,旨在通过直接连接连接所有国家和地区。

如何构建

生成的代码依赖于外部库,如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 安装目录中的 php.ini 文件。“PATH_TO” 必须是包含 .pem 文件的绝对路径。
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
;curl.cainfo =

如何使用

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

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

$aPIUsername = 'aPIUsername'; // API Key
$aPIPassword = 'aPIPassword'; // API Token

$client = new D7SMSLib\D7SMSClient($aPIUsername, $aPIPassword);

类参考

控制器列表

类: APIController

获取单例实例

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

$client = $client->getClient();

方法: getBalance

检查账户余额

function getBalance()

示例用法

$client->getBalance();

错误

方法: createSendSMS

使用D7短信网关向收件人发送短信

function createSendSMS($options)

参数

示例用法

$body = new SendSMSRequest();
$collect['body'] = $body;

$contentType = 'Content-Type';
$collect['contentType'] = $contentType;

$accept = 'Accept';
$collect['accept'] = $accept;


$client->createSendSMS($collect);

错误

方法: createBulkSMS

使用D7短信网关向多个收件人发送批量短信

function createBulkSMS(
        $body,
        $contentType,
        $accept)

参数

示例用法

$bodyValue = "{  \"messages\": [    {      \"to\": [        \"971562316353\",        \"971562316354\",        \"971562316355\"      ],      \"content\": \"Same content goes to three numbers\",      \"from\": \"SignSMS\"    }  ]}";
$body = APIHelper::deserialize($bodyValue);
$contentType = 'application/json';
$accept = 'application/json';

$client->createBulkSMS($body, $contentType, $accept);

返回控制器列表