Meta 业务账户(有时被称为“商务管理平台账户”,或简称“业务账户”)将更名为业务资产组合。这项变更将在 Meta 技术中逐步实施。此变更仅为名称上的变化,不会影响 Meta 业务账户编号(将更名为“业务资产组合编号”)。

消息运行状况

本文档介绍如何确定您能否使用给定 API 资源成功发送消息。

以下节点都具有 health_status 字段:

如果您请求上述任意节点上的 health_status 字段,并使用该目标节点发出请求,API 将返回消息请求中所涉及的全部节点的消息运行状况摘要。此摘要将说明:您能否使用相应 API 成功发送消息;是否由于一个或多个节点受到某种限制,而只能在有限情况下成功发送消息;或是否被完全禁止发送消息。

请求语法

GET /<NODE_ID>?fields=health_status

响应

{
  "health_status": {
    "can_send_message": "<OVERALL_MESSAGING_STATUS>",
    "entities": [
    
      /* Only included if targeting a business phone number */
      {
        "entity_type": "PHONE_NUMBER",
        "id": "<BUSINESS_PHONE_NUMBER_ID>",
        "can_send_message": "<BUSINESS_PHONE_NUMBER_MESSAGING_STATUS>"
      },
      
      /* Only included if targeting a template */
      {
        "entity_type": "MESSAGE_TEMPLATE",
        "id": "<TEMPLATE_ID>",
        "can_send_message": "<TEMPLATE_MESSAGING_STATUS>"
      },
      
      /* WABA, business, and app always included */
      {
        "entity_type": "WABA",
        "id": "<WABA_ID>",
        "can_send_message": "<WABA_MESSAGING_STATUS>"
      },
      {
        "entity_type": "BUSINESS",
        "id": "<BUSINESS_PORTFOLIO_ID>",
        "can_send_message": "<BUSINESS_PORTFOLIO_MESSAGING_STATUS>"
      },
      {
        "entity_type": "APP",
        "id": "<APP_ID>",
        "can_send_message": "<APP_MESSAGING_STATUS>"
      }
    ]
  },
  "id": "<NODE_ID>"
}

响应内容

占位符描述值示例

<APP_ID>

应用编号。

634974688087057

<APP_MESSAGING_STATUS>

应用的消息运行状况。请参阅消息运行状况部分。

AVAILABLE

<BUSINESS_PORTFOLIO_ID>

业务资产组合编号。

506914307656634

<BUSINESS_PORTFOLIO_MESSAGING_STATUS>

业务资产组合的消息运行状况。请参阅消息运行状况部分。

AVAILABLE

<BUSINESS_PHONE_NUMBER_ID>

公司电话号码编号。

106540352242922

<BUSINESS_PHONE_NUMBER_MESSAGING_STATUS>

企业电话号码的消息运行状况。请参阅消息运行状况部分。

AVAILABLE

<NODE_ID>

目标节点的编号。

161311403722088

<OVERALL_MESSAGING_STATUS>

消息运行整体状况。如果使用目标节点,响应中便会返回此参数。此参数会考虑到消息请求中所涉及的全部节点。请参阅消息运行状况部分。

AVAILABLE

<TEMPLATE_ID>

模板编号。

1421988012088524

<TEMPLATE_MESSAGING_STATUS>

模板的消息运行状况。请参阅消息运行状况部分。

AVAILABLE

<WABA_ID>

WABA 编号。

102290129340398

<WABA_MESSAGING_STATUS>

WABA 的消息运行状况。请参阅消息运行状况部分。

AVAILABLE

消息运行状况

在您尝试发送消息时,会涉及多个节点,包括应用、拥有或已认领该应用的业务资产组合、WABA、企业电话号码和模板(如果发送模板消息)。

上述每个节点的 can_send_message 属性均可设为以下运行状况值之一:

  • AVAILABLE:表示该节点符合所有消息要求。
  • LIMITED:表示该节点符合消息要求,但受到一些限制。如果给定节点具有此值,响应中将包含 additional_info 属性
  • BLOCKED:表示该节点不符合一项或多项消息要求。如果给定节点具有此值,响应中将包含 errors 属性,用于说明错误及可能的解决方案。

整体状况

整体运行状况属性 (health_status.can_send_message) 的设置将如以下所示:

  • 如果一个或多个节点被屏蔽,此属性将设为 BLOCKED
  • 如果没有节点被屏蔽,但一个或多个节点受到限制,此属性将设为 LIMITED
  • 如果所有节点均可用,此属性将设为 AVAILABLE

请求示例

curl 'https://graph.facebook.com/v21.0/106540352242922?fields=health_status' \
-H 'Authorization: Bearer EAAJB'

响应示例

{
  "health_status": {
    "can_send_message": "AVAILABLE",
    "entities": [
      {
        "entity_type": "PHONE_NUMBER",
        "id": "106540352242922",
        "can_send_message": "AVAILABLE"
      },
      {
        "entity_type": "WABA",
        "id": "102290129340398",
        "can_send_message": "AVAILABLE"
      },
      {
        "entity_type": "BUSINESS",
        "id": "506914307656634",
        "can_send_message": "AVAILABLE"
      },
      {
        "entity_type": "APP",
        "id": "634974688087057",
        "can_send_message": "AVAILABLE"
      }
    ]
  },
  "id": "106540352242922"
}

additional_info 属性

如果给定节点的 can_send_message 属性设为 LIMITED,响应中将包含 additional_info 属性,该属性为该限制提供了更多背景信息。

消息受限时的响应示例

以下示例展示了针对某个企业电话号码上的请求而返回的响应。该电话号码可用来发送消息,但由于显示名尚未获得批准,可发送的消息数量有限。

{
  "health_status": {
    "can_send_message": "LIMITED",
    "entities": [
      {
        "entity_type": "PHONE_NUMBER",
        "id": "106540352242922",
        "can_send_message": "LIMITED",
        "additional_info": [
          "Your display name has not been approved yet. Your message limit will increase after the display name is approved."
        ]
      },
      {
        "entity_type": "WABA",
        "id": "102290129340398",
        "can_send_message": "AVAILABLE"
      },
      {
        "entity_type": "BUSINESS",
        "id": "506914307656634",
        "can_send_message": "AVAILABLE"
      },
      {
        "entity_type": "APP",
        "id": "634974688087057",
        "can_send_message": "AVAILABLE"
      }
    ]
  },
  "id": "105154286024403"
}

errors 属性

如果给定节点的 can_send_message 属性设为 BLOCKED,响应中将包含 errors 属性,该属性用于描述设为该状况的原因及可能的解决方案。

消息被屏蔽时的响应示例

以下示例展示了针对某个模板上的请求而返回的响应。该模板因仍处于待处理状态,而无法在模板消息中发送。

{
  "health_status": {
    "can_send_message": "BLOCKED",
    "entities": [
      {
        "entity_type": "MESSAGE_TEMPLATE",
        "id": "2632273056924580",
        "can_send_message": "BLOCKED",
        "errors": [
          {
            "error_code": 141002,
            "error_description": "Message templates can only be sent out if they are approved.",
            "possible_solution": "Edit or appeal the message template review decision."
          }
        ]
      },
      {
        "entity_type": "WABA",
        "id": "102290129340398",
        "can_send_message": "AVAILABLE"
      },
      {
        "entity_type": "BUSINESS",
        "id": "506914307656634",
        "can_send_message": "AVAILABLE"
      },
      {
        "entity_type": "APP",
        "id": "634974688087057",
        "can_send_message": "AVAILABLE"
      }
    ]
  },
  "id": "2632273056924580"
}