Las plantillas de mensajes multimedia amplían el contenido que puedes enviar a los destinatarios más allá del tipo de plantilla de mensaje estándar a fin de incluir contenido multimedia y encabezados mediante un objeto components
. El objeto components
permite indicar el type
de mensaje y los parameters
del mensaje.
POST
a /messages
POST /v1/messages { "to": "recipient_wa_id", "type": "template", "template": { "namespace": "your-namespace", "language": { "policy": "deterministic", "code": "your-language-and-locale-code" }, "name": "your-template-name", "components": [ { "type" : "header", "parameters": [ # The following parameters code example includes several different possible header types, # not all are required for a media message template API call. { "type": "text", "text": "replacement_text" } # OR { "type": "document", "document": { "id": "your-media-id", # filename is an optional parameter "filename": "your-document-filename" } } # OR { "type": "document", "document": { "link": "the-provider-name/protocol://the-url", # provider and filename are optional parameters "provider": { "name" : "provider-name" }, "filename": "your-document-filename" } } # OR { "type": "video", "video": { "id": "your-media-id" } } # OR { "type": "video", "video": { "link": "the-provider-name/protocol://the-url" # provider is an optional parameter "provider": { "name" : "provider-name" } } } # OR { "type": "image", "image": { "link": "http(s)://the-url", # provider is an optional parameter "provider": { "name" : "provider-name" }, } } ] # end header }, { "type" : "body", "parameters": [ { "type": "text", "text": "replacement_text" }, { "type": "currency", "currency" : { "fallback_value": "$100.99", "code": "USD", "amount_1000": 100990 } }, { "type": "date_time", "date_time" : { "fallback_value": "February 25, 1977", "day_of_week": 5, "day_of_month": 25, "year": 1977, "month": 2, "hour": 15, "minute": 33, #OR "timestamp": 1485470276 } }, { ... # Any additional template parameters } ] # end body }, ] } }
Una respuesta correcta incluye un objeto messages
con un valor de id
.
{ "messages": [{ "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU" }] }
Una respuesta incorrecta contiene un objeto de error que incluye una cadena de error, un código de error y otros datos.
Si se envía una plantilla a una cuenta que no puede recibirla, se enviará el error 1026 (ReceiverIncapable)
en el objeto de error al servidor de webhook configurado.
Consulta Mensajes de error y de estado para obtener más información sobre los errores.
Estos ejemplos demuestran el proceso de configuración de plantillas de mensajes multimedia, que comienza con la creación de la plantilla en Business Manager y el envío de las plantillas de mensajes con llamadas a la API al extremo messages
.
Estos ejemplos se incluyen solo con fines ilustrativos y no se pueden utilizar. Debes crear tus propias muestras y obtener su aprobación para poder probar la función de plantillas de mensajes multimedia.
En este ejemplo se muestra la creación de una plantilla de mensaje multimedia con una imagen de código QR.
messages
añade la información de los parámetros.POST /v1/messages { "to": "your-test-recipient-wa-id", "recipient_type": "individual", "type": "template", "template": { "namespace": "88b39973_f0d5_54e1_29cf_e80f1e3da4f2", "name": "movie_ticket_update", "language": { "code": "en", "policy": "deterministic" }, "components": [ { "type": "header", "parameters": [ { "type": "image", "image": { "id": "your-image-id" } } ] }, { "type": "body", "parameters": [ { "type": "text", "text": "Star Rangers" }, { "type": "date_time", "date_time" : { "fallback_value": "May 1st, 2019 8:45pm", "day_of_month": 20, "year": 2019, "month": 9, "hour": 20, "minute": 45 } }, { "type": "text", "text": "Carnival, Sangam" }, { "type": "text", "text": "Silver" }, { "type": "text", "text": "F6, F7, F8" } ] } ] } }
En este ejemplo se muestra la creación de una plantilla de mensaje multimedia con un documento PDF.
messages
añade la información de los parámetros.POST /v1/messages { "to": "your-test-recipient-wa-id", "recipient_type": "individual", "type": "template", "template": { "namespace": "88b39973_f0d5_54e1_29cf_e80f1e3da4f2", "name": "flight_confirmation", "language": { "code": "en", "policy": "deterministic" }, "components": [ { "type": "header", "parameters": [ { "type": "document", "document": { "filename": "MRRATH-CGK-KUL.pdf", "link": "link-to-your-document" } } ] }, { "type": "body", "parameters": [ { "type": "text", "text": "CGK (Jakarta)" }, { "type": "text", "text": "KUL (Kuala Lumpur)" }, { "type": "date_time", "date_time" : { "fallback_value": "20th April 2019, 12:20pm", "day_of_month": 20, "year": 2019, "month": 9, "hour": 12, "minute": 10 } } ] } ] } }