La cuenta comercial de Meta, también conocida como cuenta del administrador comercial o simplemente cuenta comercial, cambiará su nombre por el de portfolio comercial. Este cambio se implementará gradualmente en las tecnologías de Meta. El cambio es únicamente estético y no afecta los identificadores de la cuenta comercial de Meta (identificadores del portfolio comercial).

Estado general de los mensajes

En este documento, te explicamos cómo determinar si puedes enviar mensajes correctamente con un recurso de API determinado.

Los siguientes nodos tienen un campo health_status:

Si solicitas el campo health_status en cualquiera de estos nodos, la API devolverá un resumen del estado de los mensajes de todos los nodos involucrados en las solicitudes de mensajes si se utiliza el nodo objetivo. En este resumen, se indica si podrás usar la API para enviar mensajes correctamente; si podrás hacerlo, pero no del todo correctamente debido a alguna limitación en uno o más nodos; o si se te impedirá enviar mensajes por completo.

Sintaxis de la solicitud

GET /<NODE_ID>?fields=health_status

Respuesta

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

Contenido de la respuesta

Marcador de posiciónDescripciónValor de ejemplo

<APP_ID>

Identificador de la app.

634974688087057

<APP_MESSAGING_STATUS>

Estado general del envío de mensajes de la app. Consulta Estado general de los mensajes.

AVAILABLE

<BUSINESS_PORTFOLIO_ID>

Identificador del portfolio comercial.

506914307656634

<BUSINESS_PORTFOLIO_MESSAGING_STATUS>

Estado general de los mensajes del portfolio comercial. Consulta Estado general de los mensajes.

AVAILABLE

<BUSINESS_PHONE_NUMBER_ID>

Identificador del número de teléfono del negocio.

106540352242922

<BUSINESS_PHONE_NUMBER_MESSAGING_STATUS>

Estado general de los mensajes del número de teléfono del negocio. Consulta Estado general de los mensajes.

AVAILABLE

<NODE_ID>

Identificador del nodo objetivo.

161311403722088

<OVERALL_MESSAGING_STATUS>

Estado general de los mensajes, en función de todos los nodos involucrados en la solicitud de envío de mensaje, si se usa el nodo objetivo. Consulta Estado general de los mensajes.

AVAILABLE

<TEMPLATE_ID>

Identificador de la plantilla.

1421988012088524

<TEMPLATE_MESSAGING_STATUS>

Estado de los mensajes de la plantilla. Consulta Estado general de los mensajes.

AVAILABLE

<WABA_ID>

Identificador de la WABA.

102290129340398

<WABA_MESSAGING_STATUS>

Estado de los mensajes de la WABA. Consulta Estado general de los mensajes.

AVAILABLE

Estado general de los mensajes

Cuando intentas enviar un mensaje, hay múltiples nodos involucrados, entre ellos la app, el portfolio comercial que la posee o la reclamó, una WABA, un número de teléfono de negocio y una plantilla (si envías un mensaje de plantilla).

Cada uno de estos nodos puede tener uno de los siguientes estados asignados a la propiedad can_send_message:

  • AVAILABLE: indica que el nodo cumple con todos los requisitos de envío de mensajes.
  • LIMITED: indica que el nodo cumple con los requisitos de envío de mensajes, pero tiene algunas limitaciones. Si un nodo tiene este valor, se incluirá additional_info.
  • BLOCKED: indica que el nodo no cumple con uno o más requisitos de envío de mensajes. Si un nodo tiene este valor, se incluirá la propiedad errors, que describe el error y una posible solución.

Estado general

La propiedad de estado general (health_status.can_send_message) se configurará de la siguiente manera:

  • Si uno o más nodos están bloqueados, se configurará en BLOCKED.
  • Si no hay nodos bloqueados, pero uno o más tienen limitaciones, se configurará en LIMITED.
  • Si todos los nodos están disponibles, se configurará en AVAILABLE.

Ejemplo de solicitud

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

Ejemplo de respuesta

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

Propiedad additional_info

Si la propiedad can_send_message de un nodo determinado está configurada en LIMITED, se incluirá la propiedad additional_info, que proporciona información contextual adicional sobre la limitación.

Ejemplo de respuesta limitada

Este es un ejemplo de respuesta a una solicitud en un número de teléfono de negocio que se puede usar para enviar mensajes, pero tiene un límite porque el nombre para mostrar no se aprobó.

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

Propiedad errors

Si la propiedad can_send_message de un nodo determinado está configurada en BLOCKED, se incluirá la propiedad errors, que describe el motivo del estado y una posible solución.

Ejemplo de respuesta bloqueada

Este es un ejemplo de respuesta a una solicitud en una plantilla que no se puede enviar en un mensaje de plantilla porque todavía está pendiente.

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