「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>

WhatsApp Business 帳戶編號。

102290129340398

<WABA_MESSAGING_STATUS>

WhatsApp Business 帳戶的訊息傳送功能健康狀態。請參閱訊息傳送功能健康狀態

AVAILABLE

訊息傳送功能健康狀態

傳送訊息涉及多個節點,包括應用程式、擁有或已認領此應用程式的商家、WhatsApp Business 帳戶、商家資產管理組合,以及範本(如果傳送範本訊息)。

以上每個節點的 can_send_message 屬性可以是以下其中一種健康狀態:

  • AVAILABLE:表示節點符合傳送訊息的所有要求。
  • LIMITED:表示節點符合傳送訊息的要求,但存在某些限制。如果特定節點包含此值,則此節點亦會包含額外資料
  • BLOCKED:表示節點不符合傳送訊息的一項或多項要求。如果特定節點包含此值,則此節點亦會包含錯誤屬性,此屬性描述錯誤及可行解決方案。

整體狀態

整體健康狀態屬性(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"
}

額外資料屬性

如果特定節點的 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"
}

錯誤屬性

如果特定節點的 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"
}