Das Meta-Unternehmenskonto, manchmal auch Business Manager-Konto oder Business-Konto genannt, wird in Business-Portfolio umbenannt. Diese Änderung wird schrittweise in den Meta-Technologien eingeführt. Die Änderung wirkt sich nur auf den Namen und nicht auf Meta-Unternehmenskonto-IDs (Business-Portfolio-IDs) aus.

Health-Status für Nachrichten

In diesem Dokument wird beschrieben, wie du feststellen kannst, ob du mit einer bestimmten API-Ressource erfolgreich Nachrichten senden kannst.

Die folgenden Nodes verfügen über ein health_status-Feld:

Wenn du das Feld health_status für einen dieser Nodes anforderst, gibt die API eine Zusammenfassung des Nachrichtenzustands aller Nodes zurück, die an Nachrichtenanforderungen beteiligt sind, wenn der Ziel-Node verwendet wird. In dieser Zusammenfassung wird erläutert, ob du die API zum erfolgreichen Senden von Nachrichten verwenden kannst, ob dies aufgrund einer Einschränkung auf einem oder mehreren Nodes nur teilweise möglich ist oder du komplett am Senden von Nachrichten gehindert wirst.

Anfragesyntax

GET /<NODE_ID>?fields=health_status

Antwort

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

Antwortinhalt

PlatzhalterBeschreibungBeispielwert

<APP_ID>

App-ID.

634974688087057

<APP_MESSAGING_STATUS>

Der Health-Status für Nachrichten der App. Siehe Health-Status für Nachrichten.

AVAILABLE

<BUSINESS_PORTFOLIO_ID>

Business-Portfolio-ID.

506914307656634

<BUSINESS_PORTFOLIO_MESSAGING_STATUS>

Der Health-Status für Nachrichten des Business-Portfolios. Siehe Health-Status für Nachrichten.

AVAILABLE

<BUSINESS_PHONE_NUMBER_ID>

ID der Unternehmenstelefonnummer.

106540352242922

<BUSINESS_PHONE_NUMBER_MESSAGING_STATUS>

Der Health-Status für Nachrichten der Unternehmenstelefonnummer. Siehe Health-Status für Nachrichten.

AVAILABLE

<NODE_ID>

Die ID des Ziel-Nodes

161311403722088

<OVERALL_MESSAGING_STATUS>

Der gesamte Health-Status anhand aller in einer Nachrichtenanforderung einbezogenen Nodes unter Verwendung eines bestimmten Ziel-Nodes. Siehe Health-Status für Nachrichten.

AVAILABLE

<TEMPLATE_ID>

Vorlagen-ID.

1421988012088524

<TEMPLATE_MESSAGING_STATUS>

Der Health-Status für Nachrichten der Vorlage. Siehe Health-Status für Nachrichten.

AVAILABLE

<WABA_ID>

WABA-ID

102290129340398

<WABA_MESSAGING_STATUS>

Der Health-Status für Nachrichten des WABA. Siehe Health-Status für Nachrichten.

AVAILABLE

Health-Status für Nachrichten

Wenn du versuchst, eine Nachricht zu senden, sind mehrere Nodes beteiligt, darunter die App, das Business-Portfolio, das diese besitzt oder beansprucht hat, ein WABA, eine Unternehmenstelefonnummer und eine Vorlage (wenn du eine Vorlagennachricht sendest).

Für jeden dieser Nodes kann einer der folgenden Health-Status der can_send_message-Eigenschaft zugewiesen werden:

  • AVAILABLE: Gibt an, dass der Node alle Nachrichtenanforderungen erfüllt.
  • LIMITED: Gibt an, dass der Node die Nachrichtenanforderungen erfüllt, jedoch einige Einschränkungen aufweist. Wenn ein bestimmter Node diesen Wert aufweist, werden zusätzliche Informationen einbezogen.
  • BLOCKED: Gibt an, dass der Node mindestens eine Nachrichtenanforderung nicht erfüllt. Wenn ein bestimmter Node diesen Wert aufweist, wird die Eigenschaft „errors“ einbezogen, die den Fehler und eine mögliche Lösung beschreibt.

Gesamtstatus

Die Eigenschaft für den gesamten Health-Status (health_status.can_send_message) wird folgendermaßen festgelegt:

  • Wenn mindestens ein Node blockiert ist, wird sie auf BLOCKED festgelegt.
  • Wenn keine Nodes blockiert sind, aber mindestens ein Node beschränkt ist, wird sie auf LIMITED festgelegt.
  • Wenn alle Nodes verfügbar sind, wird sie auf AVAILABLE festgelegt.

Beispielanfrage

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

Beispielantwort

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

Eigenschaft „additional_info“

Wenn die Eigenschaft can_send_message eines bestimmten Nodes auf LIMITED festgelegt ist, wird die Eigenschaft additional_info einbezogen, welche zusätzlichen Kontext für die Einschränkung bereitstellt.

Beispielantwort bei Einschränkung

Dies ist eine Beispielantwort auf eine Anfrage zu einer Unternehmenstelefonnummer, die zum Senden von Nachrichten verwendet werden kann, deren Nachrichtenanzahl jedoch begrenzt ist, da ihr Display-Name nicht genehmigt wurde.

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

Eigenschaft „errors“

Wenn die Eigenschaft can_send_message eines bestimmten Nodes auf BLOCKED festgelegt ist, wird die Eigenschaft errors einbezogen, die den Grund für den Status und eine mögliche Lösung beschreibt.

Beispielantwort bei Blockierung

Dies ist eine Beispielantwort auf eine Anfrage zu einer Vorlage, die nicht in einer Vorlagennachricht gesendet werden kann, da sie sich noch in einem Status befindet, der angibt, dass sie ausstehend ist.

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