apimaticsupport/conversationsapi

## 简介 使用 Unifonic 的 Conversations API 发送消息。通过社交渠道(WhatsApp for Business、Messenger、短信等)与目标受众进行消息沟通。Unifonic 的 Conversations API 使用基于基本身份验证协议的 Restful 和 HTTP **API**。所有请求和响应体都采用

0.1.0 2023-04-05 09:30 UTC

This package is auto-updated.

Last update: 2024-09-05 12:59:26 UTC


README

简介

使用 Unifonic 的 Conversations API 发送消息。通过社交渠道(WhatsApp for Business、Messenger、短信等)与目标受众进行消息沟通。

Unifonic 的 Conversations API 使用基于基本身份验证协议的 Restful 和 HTTP API。所有请求和响应体都采用 JSON 格式。

获取账户

要开始使用 API,您需要发送一封电子邮件至 support@unifonic.com 以为您创建账户。

基本 URL

文档中引用的所有 URL 都有以下基本地址: apis.unifonic.com

安全

为了确保隐私,我们建议您对所有 Unifonic API 请求使用 HTTPS。

格式

conversations API 仅支持 JSON 格式。所有请求必须使用 Content-type 头设置为 application/json。

支持

我们在这里为您提供帮助!通过 support@unifonic.com 联系支持,我们将尽快回复您,或者您可以通过我们网站上的实时聊天与我们联系 [网站] (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 =

如何使用

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

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

要运行您的项目,在Test项目中右键单击您的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客户端可以按以下方式初始化。

$publicId = '{{PublicId}}'; // PublicId from application's API keys tab.
$secret = '{{Secret}}'; // Secret from application's API keys tab.

$client = new ConversationsAPILib\ConversationsAPIClient($publicId, $secret);

类参考

控制器列表

Class: OutboundMessagesController

获取单例实例

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

$outboundMessages = $client->getOutboundMessages();

Method: sendMessage

此端点允许您通过我们的任何对话渠道发送消息,支持的消息类型可以在结构部分找到。

function sendMessage($body)

参数

示例用法

$body = new GenericMessageStructure();

$result = $outboundMessages->sendMessage($body);

错误

返回控制器列表

Class: WhatsappOutboundTemplateMessageController

获取单例实例

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

$whatsapp_OutboundTemplateMessage = $client->getWhatsappOutboundTemplateMessage();

Method: sendTemplateTextMessage

此API仅与WhatsApp渠道一起工作,它允许您检查电话号码是否有活跃的WhatsApp账户。此端点允许您实现呼叫中心IVR到WhatsApp的转接。

function sendTemplateTextMessage(
        $body,
        $contentType)

参数

示例用法

$body = new GenericMessageStructureWithTemplate();
$contentType = 'application/json';

$result = $whatsapp_OutboundTemplateMessage->sendTemplateTextMessage($body, $contentType);

错误

返回控制器列表

类: WhatsappOutboundSessionMessageController

获取单例实例

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

$whatsapp_OutboundSessionMessage = $client->getWhatsappOutboundSessionMessage();

方法: sendTextSessionMessage

此端点允许您通过我们的任何对话渠道发送消息,支持的消息类型可以在结构部分找到。

function sendTextSessionMessage($body)

参数

示例用法

$body = new GenericMessageStructureWithText();

$result = $whatsapp_OutboundSessionMessage->sendTextSessionMessage($body);

错误

方法: sendImageSessionMessage

此端点允许您通过我们的任何对话渠道发送消息,支持的消息类型可以在结构部分找到。

function sendImageSessionMessage($body)

参数

示例用法

$body = new GenericMessageStructureWithImage();

$result = $whatsapp_OutboundSessionMessage->sendImageSessionMessage($body);

错误

方法: sendVideoSessionMessage

此端点允许您通过我们的任何对话渠道发送消息,支持的消息类型可以在结构部分找到。

function sendVideoSessionMessage($body)

参数

示例用法

$body = new GenericMessageStructureWithVideo();

$result = $whatsapp_OutboundSessionMessage->sendVideoSessionMessage($body);

错误

方法: sendAudioSessionMessage

此端点允许您通过我们的任何对话渠道发送消息,支持的消息类型可以在结构部分找到。

function sendAudioSessionMessage($body)

参数

示例用法

$body = new GenericMessageStructureWithAudio();

$result = $whatsapp_OutboundSessionMessage->sendAudioSessionMessage($body);

错误

方法: sendFileSessionMessage

此端点允许您通过我们的任何对话渠道发送消息,支持的消息类型可以在结构部分找到。

function sendFileSessionMessage($body)

参数

示例用法

$body = new GenericMessageStructureWithFile();

$result = $whatsapp_OutboundSessionMessage->sendFileSessionMessage($body);

错误

方法: sendContactsSessionMessage

此端点允许您通过我们的任何对话渠道发送消息,支持的消息类型可以在结构部分找到。

function sendContactsSessionMessage($body)

参数

示例用法

$body = new GenericMessageStructureWithContacts();

$result = $whatsapp_OutboundSessionMessage->sendContactsSessionMessage($body);

错误

方法: sendLocationSessionMessage

此端点允许您通过我们的任何对话渠道发送消息,支持的消息类型可以在结构部分找到。

function sendLocationSessionMessage($body)

参数

示例用法

$body = new GenericMessageStructureWithLocation();

$result = $whatsapp_OutboundSessionMessage->sendLocationSessionMessage($body);

错误

方法: sendListMessage

此端点允许您通过我们的任何对话渠道发送消息,支持的消息类型可以在结构部分找到。

function sendListMessage($body)

参数

示例用法

$body = new GenericMessageStructureWithListMessage();

$result = $whatsapp_OutboundSessionMessage->sendListMessage($body);

错误

方法: sendReplyButtonMessage

此端点允许您通过我们的任何对话渠道发送消息,支持的消息类型可以在结构部分找到。

function sendReplyButtonMessage($body)

参数

示例用法

$body = new GenericMessageStructureWithReplyButton();

$result = $whatsapp_OutboundSessionMessage->sendReplyButtonMessage($body);

错误

方法: sendProductMessage

此端点允许您通过我们的任何对话渠道发送消息,支持的消息类型可以在结构部分找到。

function sendProductMessage($body)

参数

示例用法

$body = new GenericMessageStructureWithProduct();

$result = $whatsapp_OutboundSessionMessage->sendProductMessage($body);

错误

方法: sendProductListMessage

此端点允许您通过我们的任何对话渠道发送消息,支持的消息类型可以在结构部分找到。

function sendProductListMessage($body)

参数

示例用法

$body = new GenericMessageStructureWithProductList();

$result = $whatsapp_OutboundSessionMessage->sendProductListMessage($body);

错误

返回控制器列表