公共集成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_uri | 字符串 | 流程端点的 URL。如果克隆的是 Flow JSON 版本低于 3.0,则不要提供此字段。 | 否 | 
此 API 用于更新流程的元数据。
有效负载和签名上下文 需要包含在请求头中。
| 名称 | 类型 | 描述 | 必填 | 
|---|---|---|---|
| flowId | 字符串 | 正在更新的流程 ID | 是 | 
| name | 字符串 | 流程的新名称 | 否 | 
| categories | 数组 | 流程的新类别 | 否 | 
| endpoint_uri | 字符串 | 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 用于获取企业公钥。
有效负载和签名上下文 需要包含在请求头中。