L'account business di Meta, a volte chiamato account Business Manager o semplicemente account business, è stato rinominato in portfolio business. Questa modifica sarà introdotta gradualmente in tutte le tecnologie di Meta. La modifica è solo di carattere estetico e non influisce sugli ID di account business di Meta (ID del portfolio business).

Stato integrità messaggi

Questo documento descrive come determinare se puoi inviare messaggi con successo usando una data risorsa API.

I seguenti nodi hanno un campo health_status:

Se richiedi il campo health_status su uno di questi nodi, l'API restituirà un riepilogo dello stato di integrità dei messaggi di tutti i nodi coinvolti nelle richieste di messaggi se usi il nodo specifico. Questo riepilogo indica se potrai usare l'API per inviare messaggi correttamente, se l'operazione andrà parzialmente a buon fine a causa di qualche limitazione su uno o più nodi o se ti sarà impedito del tutto di inviare messaggi.

Sintassi della richiesta

GET /<NODE_ID>?fields=health_status

Risposta

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

Contenuti della risposta

SegnapostoDescrizioneValore di esempio

<APP_ID>

ID dell'app.

634974688087057

<APP_MESSAGING_STATUS>

Lo stato di integrità dei messaggi dell'app. Consulta Stato integrità messaggi.

AVAILABLE

<BUSINESS_PORTFOLIO_ID>

ID del portfolio business.

506914307656634

<BUSINESS_PORTFOLIO_MESSAGING_STATUS>

Lo stato di integrità dei messaggi del portfolio business. Consulta Stato integrità messaggi.

AVAILABLE

<BUSINESS_PHONE_NUMBER_ID>

ID del numero di telefono aziendale.

106540352242922

<BUSINESS_PHONE_NUMBER_MESSAGING_STATUS>

Lo stato di integrità dei messaggi del numero di telefono aziendale. Consulta Stato integrità messaggi.

AVAILABLE

<NODE_ID>

L'ID del nodo specifico.

161311403722088

<OVERALL_MESSAGING_STATUS>

Lo stato di integrità complessivo dei messaggi, considerati tutti i nodi coinvolti in una richiesta di messaggi, se si utilizza il nodo specifico. Consulta Stato integrità messaggi.

AVAILABLE

<TEMPLATE_ID>

ID del modello.

1421988012088524

<TEMPLATE_MESSAGING_STATUS>

Lo stato di integrità dei messaggi del modello. Consulta Stato integrità messaggi.

AVAILABLE

<WABA_ID>

ID dell'account WhatsApp Business.

102290129340398

<WABA_MESSAGING_STATUS>

Lo stato di integrità dei messaggi dell'account WhatsApp Business. Consulta Stato integrità messaggi.

AVAILABLE

Stato integrità messaggi

Quando tenti di inviare un messaggio, sono coinvolti più nodi, tra cui l'app, il portfolio business che la possiede o l'ha reclamata, un account WhatsApp Business, un numero di telefono aziendale e un modello (se invii un modello di messaggio).

Ognuno di questi nodi può avere uno dei seguenti stati di integrità assegnati alla proprietà can_send_message:

  • AVAILABLE: indica che il nodo soddisfa tutti i requisiti dei messaggi.
  • LIMITED: indica che il nodo soddisfa i requisiti dei messaggi, ma ha alcune limitazioni. Se un determinato nodo ha questo valore, saranno incluse informazioni aggiuntive.
  • BLOCKED: indica che il nodo non soddisfa uno o più requisiti dei messaggi. Se un determinato nodo ha questo valore, sarà inclusa la proprietà errors, che descrive l'errore e una possibile soluzione.

Stato complessivo

La proprietà dello stato di integrità complessivo (health_status.can_send_message) sarà impostata come segue:

  • Se uno o più nodi è bloccato, lo stato sarà impostato su BLOCKED.
  • Se non vi sono nodi bloccati, ma uno o più nodi sono limitati, lo stato sarà impostato su LIMITED.
  • Se tutti i nodi sono disponibili, lo stato sarà impostato su AVAILABLE.

Esempio di richiesta

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

Esempio di risposta

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

Proprietà additional_info

Se la proprietà can_send_message di un dato nodo è impostata su LIMITED, sarà inclusa la proprietà additional_info, che fornisce un contesto aggiuntivo per la limitazione.

Esempio di risposta con stato Limited

Questo è un esempio di risposta a una richiesta su un numero di telefono aziendale che può essere usato per inviare messaggi, ma che ha un limite al numero di messaggi che può inviare perché il suo nome visualizzato non è stato approvato.

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

Proprietà errors

Se la proprietà can_send_message di un dato nodo è impostata su BLOCKED, sarà inclusa la proprietà errors, che descrive il motivo dello stato e una possibile soluzione.

Esempio di risposta con stato Blocked

Questo è un esempio di risposta a una richiesta su un modello che non può essere inviato in un modello di messaggio perché è ancora in stato in sospeso.

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