ビジネスマネージャアカウントまたは単にビジネスアカウントと呼ばれているMetaビジネスアカウントは、ビジネスポートフォリオに改称されます。この変更は、Metaのテクノロジーに段階的に導入されます。この変更の対象は化粧品のみで、MetaビジネスアカウントID(ビジネスポートフォリオID)には影響はありません。

メッセージ機能の正常性ステータス

このドキュメントでは、特定のAPIリソースを使ってメッセージを正常に送信できるかどうかを判別する方法について説明します。

次のノードには、health_statusフィールドが備わっています。

これらいずれかのノードでhealth_statusフィールドをリクエストすると、対象のノードを使った場合にメッセージのリクエストに関与するすべてのノードについて、メッセージ機能の正常性の概要がAPIから返されます。この概要では、APIを使ってメッセージを正常に送信できるか、1つ以上のノードに何らかの制限があるため一部のメッセージを正常に送信できなくなるか、メッセージを一切送信できなくなるかが示されます。

リクエストの構文

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>

アプリID。

634974688087057

<APP_MESSAGING_STATUS>

アプリのメッセージ機能の正常性ステータス。メッセージ機能の正常性ステータスをご覧ください。

AVAILABLE

<BUSINESS_PORTFOLIO_ID>

ビジネスポートフォリオID。

506914307656634

<BUSINESS_PORTFOLIO_MESSAGING_STATUS>

ビジネスポートフォリオのメッセージ機能の正常性ステータス。メッセージ機能の正常性ステータスをご覧ください。

AVAILABLE

<BUSINESS_PHONE_NUMBER_ID>

ビジネスの電話番号ID。

106540352242922

<BUSINESS_PHONE_NUMBER_MESSAGING_STATUS>

ビジネス用電話番号のメッセージ機能の正常性ステータス。メッセージ機能の正常性ステータスをご覧ください。

AVAILABLE

<NODE_ID>

対象ノードのID。

161311403722088

<OVERALL_MESSAGING_STATUS>

対象のノードを使った場合にメッセージのリクエストに関与するすべてのノードについての、メッセージ機能の全体的な正常性ステータス。メッセージ機能の正常性ステータスをご覧ください。

AVAILABLE

<TEMPLATE_ID>

テンプレートID。

1421988012088524

<TEMPLATE_MESSAGING_STATUS>

テンプレートのメッセージ機能の正常性ステータス。メッセージ機能の正常性ステータスをご覧ください。

AVAILABLE

<WABA_ID>

WABA ID。

102290129340398

<WABA_MESSAGING_STATUS>

WABAのメッセージ機能の正常性ステータス。メッセージ機能の正常性ステータスをご覧ください。

AVAILABLE

メッセージ機能の正常性ステータス

メッセージを送信する際には、アプリ、そのアプリを所有するか取得したビジネスポートフォリオ、WABA、ビジネスの電話番号、テンプレート(テンプレートメッセージを送信する場合)など、複数のノードが関与します。

これらの各ノードで、can_send_messageプロパティに以下の正常性ステータスのいずれかが割り当てられます。

  • AVAILABLE: ノードがすべてのメッセージ要件を満たしていることを示します。
  • LIMITED: ノードがメッセージ要件を満たしているものの、一部制限があることを示します。ノードがこの値になっている場合、追加情報が組み込まれます。
  • BLOCKED: ノードが1つ以上のメッセージ要件を満たしていないことを示します。ノードがこの値になっている場合、エラーの内容と考えられる解決策を記述したエラープロパティが組み込まれます。

全体的なステータス

全体的な正常性ステータスプロパティ(health_status.can_send_message)は、次のように設定されます。

  • 1つ以上のノードがブロックされている場合は、BLOCKEDに設定されます。
  • ノードはブロックされていないものの、1つ以上のノードが制限されている場合は、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プロパティが組み込まれます。

Limitedの応答の例

以下は、メッセージの送信に使用できるものの、表示名が承認されていないために送信可能な件数に制限があるビジネスの電話番号にリクエストがあった場合の応答の例です。

{
  "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プロパティが組み込まれます。

Blockedの応答の例

以下は、処理待ち状態になっているために、テンプレートメッセージで送信できないテンプレートにリクエストがあった場合の応答の例です。

{
  "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"
}