Referencia de la API de envío

La API de envío es la API principal utilizada para enviar mensajes a los usuarios, incluidos los mensajes de texto, los archivos adjuntos, las plantillas, las acciones del remitente, etc.

Creación

Crea y envía mensajes a tus clientes o a las personas interesadas en tu página de Facebook.

Antes de empezar

Necesitarás lo siguiente:

  • Un identificador de acceso a la página solicitado por una persona que pueda realizar la tarea MESSAGE en la página.
  • El permiso pages_messaging.
  • El destinatario del mensaje debe haber enviado un mensaje a tu página en las últimas 24 horas o haber aceptado recibir mensajes de tu página fuera del intervalo de mensajes estándar de 24 horas.

Limitaciones

  • No se pueden usar las etiquetas de mensajes para enviar contenido promocional.

Ten en cuenta que la API de envío no incluye recipient_id en la respuesta en el caso de los mensajes enviados mediante recipient.user_ref o recipient.phone_number para identificar al destinatario del mensaje.

Ejemplo de solicitud

Para enviar un mensaje a una persona, envía una solicitud POST al extremo /PAGE-ID/messsages con los parámetros messaging_type y recipient establecidos y el contenido del mensaje.

Se ha aplicado formato para mejorar la legibilidad.

El siguiente ejemplo es una respuesta a un mensaje de una persona donde el mensaje que envía tu página es solo de texto.

curl -X POST "https://graph.facebook.com/v20.0/{PAGE_ID}/messages" \
      -d "recipient={'id':'{PSID}'}" \
      -d "messaging_type=RESPONSE" \
      -d "message={'text':'hello, world'}" \
      -d "access_token={PAGE_ACCESS_TOKEN}"

Cuando esta operación se completa correctamente, la aplicación recibe la respuesta JSON siguiente:

{
  "recipient_id": "PAGE-SCOPED-ID",
  "message_id": "AG5Hz2U..."
} 

Parámetros

ParámetroDescripción

message

Objeto

El tipo de mensaje que envía tu página. Al usar este parámetro, se debe establecer text o attachement.

  • El objeto attachment: muestra la vista previa de la URL. Se usa para enviar mensajes con contenido multimedia o mensajes estructurados. Se debe establecer text o attachment.

  • metadata: una cadena de datos adicionales que quieres pasar en el webhook message_echo. Debe tener menos de 1000 caracteres.

  • quick_replies: una serie de respuestas rápidas que se pueden enviar en un mensaje.
  • text: un mensaje que contiene solo texto. Debe usar la codificación UTF-8 y tener menos de 2000 caracteres.

messaging_type

Enumeración

Obligatorio

Tipo de mensaje que se envía.

  • RESPONSE: el mensaje es una respuesta a un mensaje recibido. Incluye mensajes promocionales y no promocionales enviados en el transcurso del intervalo de mensajes estándar de 24 horas. Por ejemplo, usa esta etiqueta para responder si una persona pregunta por la confirmación de una reserva o por una actualización de estado.
  • UPDATE: el mensaje se envía de forma proactiva y no es una respuesta a un mensaje recibido. Incluye mensajes promocionales y no promocionales enviados en el transcurso del intervalo de mensajes estándar de 24 horas.
  • MESSAGE_TAG: el mensaje no es promocional y se envía una vez transcurrido el intervalo de mensajes estándar de 24 horas con una etiqueta de mensaje. El mensaje debe coincidir con el caso de uso en el que se permite la etiqueta.

notification_type

Enumeración

Tipo de notificación push que recibirá el usuario.

  • NO_PUSH: sin notificación.
  • REGULAR (predeterminado): sonido o vibración cuando una persona recibe un mensaje.
  • SILENT_PUSH: solo en pantalla.

recipient

Objeto

Obligatorio

La persona que recibirá el mensaje que la página está enviando.

  • id: el identificador de usuario específico de la página de la persona que se utiliza para enviar un mensaje en respuesta a un mensaje recibido por tu página en las últimas 24 horas o de una persona que haya aceptado recibir mensajes de tu página fuera del intervalo de mensajes estándar de 24 horas.
  • user_ref: la referencia de la persona que se utiliza para enviar un mensaje en respuesta a un plugin Checkbox o de chat de cliente.
  • comment_id: el identificador del comentario que se utiliza para enviar un mensaje como respuesta privada en respuesta al comentario de un visitante en la publicación de tu página.
  • post_id: el identificador de la publicación de la página que se utiliza para enviar un mensaje como respuesta privada en respuesta a la publicación de un visitante en tu página.

sender_action

Enumeración

El icono de acción que aparece en la ventana de mensajes y que representa la acción realizada por la página en un mensaje que ha recibido de un usuario.

  • typing_on: se muestra una burbuja que indica que se está escribiendo cuando la página está preparando una respuesta.
  • typing_off: no se muestra una burbuja que indica que se está escribiendo.
  • mark_seen: se muestra el icono de visto en los mensajes que hayan sido vistos por la página.

Solo se puede enviar con el parámetro recipient. No se puede enviar con el parámetro message, sino que debe enviarse como una solicitud independiente.

tag

Enumeración

Etiqueta que permite a tu página enviar un mensaje a un usuario fuera del intervalo de mensajes estándar de 24 horas.

  • ACCOUNT_UPDATE: etiqueta el mensaje que estás enviando al cliente como una actualización no recurrente de tu aplicación o cuenta. Consulta los usos permitidos.

    No disponible para la API de mensajes de Instagram.

  • CONFIRMED_EVENT_UPDATE: etiqueta el mensaje que estás enviando al cliente como un recordatorio para un evento próximo o una actualización sobre un evento en curso en el que se ha registrado el cliente. Consulta los usos permitidos.

    No disponible para la API de mensajes de Instagram.

  • CUSTOMER_FEEDBACK: etiqueta el mensaje que estás enviando al cliente como una encuesta sobre los comentarios de los clientes . Los mensajes de comentarios del cliente deben enviarse en un plazo de siete días desde el último mensaje del cliente. Consulta los usos permitidos.

    No disponible para la API de mensajes de Instagram.

  • HUMAN_AGENT: etiqueta obligatoria para la API de mensajes de Instagram. Cuando se añade a un mensaje que se envía a un usuario, permite que un agente humano responda al mensaje del usuario en cuestión. Los mensajes se pueden responder en un plazo de siete días a partir de la recepción de los mismos. El servicio de asistencia mediante agentes humanos se reserva para los problemas que no pueden resolverse dentro del intervalo de mensajes estándar. Consulta los usos permitidos.
    • Las aplicaciones deberán solicitar el permiso Human Agent desde el panel de aplicaciones del desarrollador. Ve al panel de aplicaciones -> Revisión de la aplicación -> Permisos y funciones -> Agente humano. Las aplicaciones que ya recibieron aprobación para el acceso beta al permiso del agente humano no tienen que volver a solicitar el acceso.

    El permiso Human Agent no está disponible en el modo de desarrollo o acceso estándar. Para poder utilizar la etiqueta de agente humano, tendrás que completar el proceso de revisión de la aplicación. Durante el envío para la revisión de la aplicación, proporciona instrucciones claras y una demostración de cómo tienes previsto utilizar la etiqueta de agente humano en tus experiencias.

  • POST_PURCHASE_UPDATE: etiqueta el mensaje que estás enviando al cliente como una actualización de una compra reciente realizada por el cliente. Consulta los usos permitidos.

    No disponible para la API de mensajes de Instagram.

Usos de las etiquetas de mensajes

En la siguiente tabla se indican los tipos de mensajes para cada etiqueta de mensajes.

Etiqueta de mensajesUso

ACCOUNT_UPDATE

Usos permitidos

  • Notificación de un cambio de estado de una solicitud, como una solicitud de empleo o tarjeta de crédito.
  • Notificación de actividad sospechosa, como alertas de fraude.

Usos no admitidos (lista no exhaustiva)

  • Contenido promocional, incluidos, entre otros, ofertas, promociones, cupones y descuentos; contenido recurrente, como avisos de extractos listos, facturas adeudadas, nuevos anuncios de empleo.
  • Solicitud para realizar cualquier votación o revisión que no estén relacionadas con una interacción anterior en Messenger.

No disponible para la API de mensajes de Instagram.

CONFIRMED_EVENT_UPDATE

Usos permitidos

  • Recordatorio de una clase, una cita o un evento próximos que el usuario ha programado.
  • Confirmación de reserva o asistencia de un usuario a un evento o una cita aceptados.
  • Notificación del transporte o viaje programado de un usuario, como la llegada, la cancelación, el retraso del equipaje u otros cambios de estado del viaje.

Usos no admitidos (lista no exhaustiva)

  • Contenido promocional, como ofertas, cupones, descuentos, etc.
  • Contenido relacionado con un evento en el que no se ha registrado el usuario (p. ej., recordatorios para comprar entradas de eventos, venta cruzada de otros eventos, programaciones de giras, etc.)
  • Mensajes relacionados con eventos anteriores
  • Solicitud para realizar cualquier votación o revisión que no estén relacionadas con una interacción anterior en Messenger.

No disponible para la API de mensajes de Instagram.

CUSTOMER_FEEDBACK

Usos permitidos

  • Encuesta para recopilar comentarios sobre la asistencia de compra.
  • Encuesta para recopilar comentarios sobre un evento.
  • Opiniones de productos.

Usos no admitidos (lista no exhaustiva)

  • La etiqueta solo se puede usar con la plantilla de comentarios de clientes. Cualquier otro uso está prohibido y devolverá un error.

No disponible para la API de mensajes de Instagram.

HUMAN_AGENT

Usos permitidos

  • Asistencia mediante agentes humanos para problemas que no se pueden resolver durante el intervalo de mensajes estándar de 24 horas, como la resolución de problemas fuera del horario comercial habitual o problemas cuya resolución requiere más de 24 horas.

Usos no admitidos (lista no exhaustiva)

  • Mensajes automatizados
  • Contenido no relacionado con la consulta del usuario

Obligatoria para la API de mensajes de Instagram.

POST_PURCHASE_UPDATE

Usos permitidos

  • Confirmación de una transacción, como facturas o recibos.
  • Actualización del estado de un envío, como producto en tránsito, enviado, entregado o retrasado.
  • Actualización de estado que requiere que un usuario realice alguna acción en relación con un pedido realizado, como el rechazo de la tarjeta de crédito, artículos de pedidos pendientes u otras actualizaciones de pedidos que requieren alguna acción por parte del usuario.

Usos no admitidos (lista no exhaustiva)

  • Contenido promocional, como ofertas, promociones, cupones, descuentos, etc.
  • Mensajes sobre una venta cruzada o dirigida de productos o servicios
  • Solicitud para realizar cualquier votación o revisión que no estén relacionadas con una interacción anterior en Messenger.

No disponible para la API de mensajes de Instagram.

Lectura

Esta operación no se puede realizar en este extremo.

Para obtener información sobre las conversaciones en las que participa tu página, visita la Referencia de conversaciones de la página.

Actualización

Esta operación no se puede realizar en este extremo.

Eliminación

Esta operación no se puede realizar en este extremo.

Más información

Ayuda para desarrolladores