借助 Business 管理 API,您可创建和管理 WhatsApp 相关的业务资产,如 WhatsApp Business 商业帐号和消息模板。此 API 建立在市场营销 API 基础之上,并利用了后者的一些端点,因此本文档可能会在相应的地方包含指向市场营销 API 文档的链接。
该开放平台支持以下访问口令类型。您使用的类型取决于使用您应用的用户,以及您是否是解决方案提供方。
系统用户访问口令代表您、您的企业或组织或者您企业或组织内的用户。这些口令的主要优点是不会过期,相当于您企业中不需要任何用户输入的自动化服务。
系统用户访问口令是解决方案合作伙伴可用来与已注册客户共享额度的唯一一类口令。
必须先创建系统用户,才能生成系统用户访问口令。大多数端点会检查由该口令确定身份的用户是否有权访问所查询的资源。如果用户无权访问该资源,请求将遭到拒绝,并收到错误代码 200
。
工作人员系统用户必须获得权限授权,才能访问由 Meta 企业拥有的或与该企业共享的各个 WhatsApp Business 商业帐号。如果您的应用仅需访问您拥有的几个 WhatsApp Business 帐号,工作人员系统用户应该就足以满足需求。
创建后,您必须向系统用户需要访问的每个 WhatsApp Business 帐号授予部分或全部业务资产访问权限。
默认情况下,管理员级系统用户可以完全访问所有 WhatsApp Business 帐号及其下由您或您企业拥有的或与您或您企业共享的资产。
如果您的应用需要访问最近与您企业共享的 WhatsApp Business 帐号,可使用管理员级系统用户;如果您使用工作人员级系统用户,则必须向已与您共享的每个 WhatsApp Business 帐号手动授予业务资产访问权限。
请注意,您可以通过向每个 WhatsApp Business 帐号授予部分访问权限,来覆盖管理员级系统用户的默认业务资产访问权限。请参阅业务资产访问权限,了解如何设置和覆盖访问权限。
如要创建系统用户,请执行以下操作:
创建系统用户之后,如要生成系统用户访问口令,请执行以下操作:
业务集成工具系统用户访问口令的使用范围限定于单个已注册客户。技术代理和解决方案合作伙伴在访问已注册客户的数据时,应使用这类访问口令。
这些口令适用于以下应用:在客户 WhatsApp Business 商业帐号上执行程序化自动操作而无需依赖应用用户输入的应用;或要求将来重新验证身份的应用。
如要生成业务集成工具系统用户访问口令,您必须实现嵌入式注册(使用企业版 Facebook 登录进行配置),并交换在客户完成流程时向您返回的代码。
请参阅嵌入式注册文档和业务集成工具系统用户访问口令文档,详细了解这些口令及其生成方法。
虽然所有应用开发者都支持且可以使用用户访问口令,但可能仅在您首次使用应用面板发送您的第一条测试消息时才会用到这些口令。但是,在开发应用时,您很可能会切换到系统用户访问口令(如果您是技术代理或解决方案提供方,最终会切换到业务系统用户访问口令)。这是因为用户访问口令很快就会过期,您必须每隔几个小时就要生成一个新口令。
生成用户访问口令有以下几种方法:
在发出 API 请求时,应在授权请求标头中加入您的口令,并在口令前添加前缀 Bearer
。例如:
curl 'https://graph.facebook.com/v18.0/102290129340398/message_templates' \ -H 'Authorization: Bearer EAAJB...' \
创建系统用户后,您必须设置业务资产访问级别。很多端点都具备以下要求:在 API 请求中加入自己口令的系统用户必须拥有对所查询的 WhatsApp Business 帐号(或其资产)的部分或全部业务资产访问权限。如果该系统用户不具备这些权限,这些端点将返回错误代码 200
。
请注意,如果您将系统用户对 WhatsApp Business 帐号的业务资产访问权限设为部分,您可以进一步限制对该 WhatsApp Business 帐号的某些资产或操作的访问权限。例如,如果您有一个大型企业,然后希望某个部门对某个 WhatsApp Business 帐号的模板和公司电话号码数据仅具有读取权限,您可以为该部门创建一个系统用户,并将细化权限设置为仅可查看这些数据。
如要设置对某个 WhatsApp Business 帐号的业务资产访问权限,请执行以下操作:
测试端点时,建议使用我们的 Postman 收藏夹或 cURL。虽然您可以使用图谱 API 探索工具,但该工具会以查询字符串参数的形式来传递口令,我们不建议采用此种方式(建议采用在请求标头中加入口令的传递方式)。
如要获取特定企业的相关信息,请向 WhatsAppBusinessAccount
端点发送 GET
请求,其中,<WHATSAPP_BUSINESS_ACCOUNT_ID>
是您的 WhatsApp Business 商业帐号编号。
curl -i -X GET 'https://graph.facebook.com/v21.0
/<WHATSAPP_BUSINESS_ACCOUNT_ID>' \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
{ "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>", "name": "Your WhatsApp Business Account Name", "timezone_id": "1", "message_template_namespace": "05155c78_261e_4b2f_82b3_d7958d4cf75f" }
如要获取某个企业的特定信息(例如名称、消息模板和电话号码),请向 WhatsAppBusinessAccount
端点发送 GET
请求(其中 <WHATSAPP_BUSINESS_ACCOUNT_ID>
是您的 WhatsApp Business 商业帐号编号),并将 fields
参数设置为您希望返回的项目清单。
curl -i -X GET 'https://graph.facebook.com/v21.0
/<WHATSAPP_BUSINESS_ACCOUNT_ID>?fields=id,name,message_templates,phone_numbers' \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
{ "id": "<WHATSAPP_BUSINESS_ACCOUNT_ID>", "name": "Your WhatsApp Business Account Name", "message_templates": { "data": [ { "name": "hello_world", "components": [ { "type": "HEADER", "format": "TEXT", "text": "Hello World" }, { "type": "BODY", "text": "Welcome and congratulations!! This message demonstrates your ability to send a message notification from WhatsApp Business Platform. Thank you for taking the time to test with us." }, { "type": "FOOTER", "text": "WhatsApp Business Team" } ], "language": "en_US", "status": "APPROVED", "category": "ACCOUNT_UPDATE", "id": "307191531401674" }, { "name": "sample_flight_confirmation", "components": [ { "type": "HEADER", "format": "DOCUMENT" }, { "type": "BODY", "text": "Confirmamos tu vuelo a {{1}}-{{2}} para el {{3}}." }, { "type": "FOOTER", "text": "Este mensaje proviene de un negocio no verificado." } ], "language": "es", "status": "APPROVED", "category": "TICKET_UPDATE", }, ...
调用类型 | 端点 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
调用类型 | 端点 |
---|---|
|
|
|
|
|
|
|
|