公共集成API允许你查询WhatsApp云集成的某些信息,或在无需操作平台UI的情况下执行某些操作。
请使用以下公共API端点URL:https://api.whatsapp-cloud.woztell.sanuker.com/v1.2/api/
例如,PUT /whatsapp-message-template的端点为:https://api.whatsapp-cloud.woztell.sanuker.com/v1.2/api/whatsapp-message-template
WhatsApp云渠道的访问令牌可以用于公共API,但不包括GET /conversation-analytics
、业务加密API和流程API。
此认证方式仅适用于GET /conversation-analytics
、GET /whatsapp-displayname-status
、业务加密API和流程API。
要对公共集成API进行认证,需使用集成所需的相应Payload和SignedContext。
{"app":"appId","appIntegration":"appIntegrationId","channel":"channelId"}
(signature).{{base64(JSON.stringify(payload))}}
channel
并使用开放API,获取相应WhatsApp云渠道的信息。按照以下格式创建Payload:
{"app":"appId","appIntegration":"appIntegrationId","channel":"channelId"}
将Payload编码为Base64格式
将编码后的Payload与Signature结合,以创建以下格式的SignedContext:
(signature).{{base64(JSON.stringify(payload))}}
X-Woztell-Payload
和X-Woztell-SignedContext
添加到请求头中。此API调用可获取与WABA相关的信息,包括频道的WABA名称、电话号码、WABA命名空间和WABA ID。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
accessToken | 字符串 | 从WhatsApp云渠道生成的访问令牌 | 是 |
channelId | 字符串 | 频道ID | 此项或wabaID 必填 |
wabaId | 字符串 | WABA ID | 此项或channelId 必填 |
或
此API调用可获取WhatsApp号码的商业资料。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
accessToken | 字符串 | 从WhatsApp云渠道生成的访问令牌 | 是 |
phoneNumberId | 字符串 | 电话号码ID | 是 |
此API调用用于获取与WhatsApp号码相关的详细信息
请求头中需要包含Payload和签名上下文。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
accessToken | 字符串 | 从WhatsApp云渠道生成的访问令牌 | 是 |
phoneNumberId | 字符串 | 电话号码ID | 是 |
此API调用可更新WhatsApp号码的商业资料。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
accessToken | 字符串 | 从WhatsApp云渠道生成的访问令牌 | 是 |
phoneNumberId | 字符串 | 电话号码ID | 是 |
profile | 对象 | 要更新的商业资料内容 | 是 |
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
messaging_product | 字符串 | 只接受whatsapp |
是 |
about | 字符串 | “关于”文本 | 否 |
address | 字符串 | 您的企业地址 | 否 |
description | 字符串 | “描述”文本 | 否 |
字符串 | 您的企业邮箱地址 | 否 | |
vertical | 字符串 | 企业所属行业,详情请参见 此处 | 否 |
website | 数组 | 您的企业网址URL,必须包含http:// 或https:// ;最多2个网址。 |
否 |
profile_picture_url | 字符串 | 头像URL | 否 |
此API调用可以向WhatsApp服务器上传媒体文件,以获取媒体ID。
上传的媒体文件将在WhatsApp云服务器上保存30天。过期后,用户需要重新上传以获取新的媒体ID。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
phoneNumberId | 字符串 | 电话号码ID | 是 |
accessToken | 字符串 | 从WhatsApp云渠道生成的访问令牌 | 是 |
type | 字符串 | image 、audio 、video 、file |
是 |
url | 字符串 | 媒体文件链接 | 是 |
此API用于检索所选日期范围内的对话分析数据。
请求头中需要包含Payload 和签名上下文。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
from | UNIX时间戳 | 目标日期范围的开始日期 | 是 |
to | UNIX时间戳 | 目标日期范围的结束日期 | 是 |
granularity | 字符串 | 分析数据的粒度;支持 HALF_HOUR 、DAILY 和 MONTHLY |
是 |
numbers | 数组 | 需要获取分析的电话号码列表 | 否 |
metric_types | 字符串 | 需要获取的指标列表;支持 COST 和 CONVERSATION |
否 |
conversation_types | 字符串 | 对话类型列表;包括 FREE_ENTRY_POINT 、FREE_TIER 、REGULAR 和 UNKNOWN |
否 |
conversation_directions | 字符串 | 发起对话方向列表;包括 business_initiated 和 user_initiated |
否 |
dimensions | 字符串 | 应用于分析的细分列表;包括 phone 、country 、conversation_type 和 conversation_reaction |
否 |
此API调用用于列出与特定WABA关联的目录。
请求头中需要包含Payload 和签名上下文。
此API调用可列出与特定WABA关联的目录下的产品。
请求头中需要包含Payload 和签名上下文。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
catalogId | 字符串 | 目录ID | 是 |
此API调用可分页列出特定WABA的WhatsApp消息模板,并支持可选筛选条件。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
wabaId | 字符串 | 目标WABA ID | 是 |
first | 整数 | 消息模板数量;最大为100 | 是 |
after | 字符串 | 用于获取下一页分页结果的游标;必须指定“after”或“before” | 否 |
before | 字符串 | 用于获取上一页分页结果的游标;必须指定“after”或“before” | 否 |
status | 字符串 | 要过滤的状态数组;默认值为:["APPROVED"] 、["PENDING"] 、["REJECTED"] 、["PENDING_DELETION"] 和 ["DELETED"] (若未指定) |
否 |
category | 字符串 | 消息模板类别:["TRANSACTIONAL"] 、["MARKETING"] 或 ["OTP"] |
否 |
quality_score | 字符串 | 模板质量评分:GREEN 、YELLOW 或 RED |
否 |
language | 数组 | 消息模板语言;必须是数组且使用支持的语言代码,如en_US 、es 等 |
否 |
name | 字符串 | 消息模板名称搜索 | 否 |
content | 内容 | 消息模板内容搜索 | 否 |
name or content | 字符串 | 消息模板名称或内容搜索 | 否 |
此API调用可创建全新的WhatsApp消息模板。
每个WhatsApp商务账户每小时允许创建100个消息模板。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
wabaId | 字符串 | WABA ID | 是 |
accessToken | 字符串 | 从WhatsApp云渠道生成的访问令牌 | 是 |
name | 字符串 | 消息模板名称 | 是 |
language | 字符串 | 消息模板语言 | 是 |
category | 字符串 | 消息模板类别:TRANSACTIONAL 、MARKETING 或 OTP |
是 |
components | 数组 | 消息模板内容。请参见这里了解组件结构。 | 是 |
通过在"example":{"header_handle":["IMAGE_URL"]}
中插入图片URL,创建消息模板时,此API会自动上传该示例图片。
请求示例(图片头部)
请求示例(参数、页脚和操作按钮)
请求示例(参数与快速回复按钮)
此 API 调用可用于编辑现有消息模板。
每个消息模板在 24 小时内只能编辑一次,且在 30 天内最多可编辑 10 次。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
wabaId | string | WABA ID | 是 |
accessToken | string | 从 WhatsApp Cloud 渠道生成的访问令牌 | 是 |
messageTemplateName | string | 消息模板的名称 | 是 |
messageTemplateLanguage | string | 消息模板的语言 | 是 |
messageTemplateId | string | 消息模板的唯一 ID | 是 |
components | array | 要更新到消息模板的内容 | 是 |
每个消息模板的语言版本都有自己唯一的 ID。若要使用 PATCH /whatsapp-message-templates
编辑模板,必须指定所要编辑的语言版本。
通常,GET /whatsapp-message-templates
只会返回最新语言版本的 ID。因此,应首先通过语言筛选器,在 GET /whatsapp-message-templates
中获取特定语言的 ID。
此 API 调用可删除现有的消息模板。
名称 | 类型 | 描述 | 是否必填 |
---|---|---|---|
wabaId | string | WABA 账户 ID | 是 |
accessToken | string | 从 WhatsApp Cloud 渠道生成的访问令牌 | 是 |
name | string | 消息模板名称 | 是 |
此 API 用于获取流程列表。
有效负载和签名上下文 需要包含在请求头中。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
limit | integer | 要获取的流程数量 | 是 |
after | string | 用于获取下一批线程,可从响应中的 paging.cursors 获取 | 否 |
before | string | 用于获取上一批线程,可从响应中的 paging.cursors 获取 | 否 |
此 API 用于获取流程屏幕负载。
有效负载和签名上下文 需要包含在请求头中。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
flowId | 字符串 | 流程的唯一 ID。 | 是 |
此 API 用于获取流程预览的 URL。
有效负载和签名上下文 需要包含在请求头中。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
flowId | 字符串 | 流程的唯一 ID。 | 是 |
此 API 用于获取流程的详细信息。
有效负载和签名上下文 需要包含在请求头中。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
flowId | 字符串 | 流程的唯一 ID。 | 是 |
此 API 用于创建新的流程。
有效负载和签名上下文 需要包含在请求头中。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
name | 字符串 | 新流程的名称。 | 是 |
categories | 数组 | 流程类别列表。可以包含多个值,但至少需要一个:SIGN_UP ,SIGN_IN ,APPOINTMENT_BOOKING ,LEAD_GENERATION ,CONTACT_US ,CUSTOMER_SUPPORT ,SURVEY ,OTHER |
是 |
clone_flow_id | 字符串 | 要克隆的流程 ID | 否 |
endpoint_url | 字符串 | 流程端点的 URL。如果克隆的是 Flow JSON 版本低于 3.0,则不要提供此字段。 | 否 |
此 API 用于更新流程的元数据。
有效负载和签名上下文 需要包含在请求头中。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
flowId | 字符串 | 正在更新的流程 ID | 是 |
name | 字符串 | 流程的新名称 | 否 |
categories | 数组 | 流程的新类别 | 否 |
endpoint_url | 字符串 | WA 流程端点的 URL。如果更新的流程 JSON 版本低于 3.0,请勿提供此字段。 | 否 |
此 API 用于更新流程的 JSON。
有效负载和签名上下文 需要包含在请求头中。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
name | 字符串 | 流程的名称 | 是 |
version | 字符串 | 流程 JSON 版本 | 是 |
screens | JSON | 可在 WhatsApp 管理器的流程构建器中输入的流程屏幕 | 是 |
此 API 用于删除流程。
有效负载和签名上下文 需要包含在请求头中。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
flowId | 字符串 | 要删除的流程 ID | 是 |
此 API 用于发布流程。
有效负载和签名上下文 需要包含在请求头中。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
flowId | 字符串 | 要发布的流程 ID | 是 |
此 API 用于废弃流程。
有效负载和签名上下文 需要包含在请求头中。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
flowId | 字符串 | 要废弃的流程 ID | 是 |
此 API 用于设置企业公钥。
有效负载和签名上下文 需要包含在请求头中。
名称 | 类型 | 描述 | 必填 |
---|---|---|---|
publicKey | 字符串 | 生成的 2048 位 RSA 企业公钥。请参阅 这里 了解如何生成公钥 | 是 |
此 API 用于获取企业公钥。
有效负载和签名上下文 需要包含在请求头中。