I modelli di messaggi interattivi ampliano il contenuto che puoi inviare ai destinatari, rispetto ai tipi di modelli di messaggi standard e multimediale, includendo pulsanti interattivi attraverso l'oggetto components
.
Sono disponibili due tipi di pulsanti predefiniti:
Questi pulsanti possono essere aggiunti ai messaggi di testo o a quelli multimediali. Dopo aver creato e approvato i modelli di messaggi interattivi, puoi utilizzarli nei messaggi di notifica e in quelli dell'assistenza clienti.
È necessario:
Dopo l'approvazione del modello di messaggio, puoi utilizzare l'API per inviare un messaggio.
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": [ { "type": "text", "text": "replacement_text" } ] # 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 }, # The following part of this code example includes several possible button types, # not all are required for an interactive message template API call. { "type": "button", "sub_type" : "quick_reply", "index": "0", "parameters": [ { "type": "payload", # Business Developer-defined payload "payload":"aGlzIHRoaXMgaXMgY29vZHNhc2phZHdpcXdlMGZoIGFTIEZISUQgV1FEV0RT" } ] }, { "type": "button", "sub_type" : "url", "index": "1", "parameters": [ { "type": "text", # Business Developer-defined dynamic URL suffix "text": "9rwnB8RbYmPF5t2Mn09x4h" } ] }, { "type": "button", "sub_type" : "url", "index": "2", "parameters": [ { "type": "text", # Business Developer-defined dynamic URL suffix "text": "ticket.pdf" } ] } ] } }
components
: per i modelli di messaggi interattivi, includi il tipo button
e il campo sub_type
Una risposta positiva include un oggetto messages
con un id
.
{ "messages": [{ "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU" }] }
Una risposta non riuscita contiene un oggetto error con una stringa di errore, un codice di errore e altre informazioni.
Se viene inviato un modello a un account che non è in grado di ricevere quello specifico modello, nell'oggetto error viene inviato l'errore 1026 (ReceiverIncapable)
al server del webhook configurato.
Per ulteriori informazioni sugli errori, consulta Codici di errore e di stato.
Quando un utente clicca su un pulsante di risposta rapida, viene inviata una risposta all'azienda. Per informazioni, consulta Callback da un clic sul pulsante di risposta rapida. Gli utenti possono anche scegliere di non cliccare sul pulsante e di inviarti semplicemente un messaggio libero.
{ "contacts": [ { "profile": { "name": "Kerry Fisher" }, "wa_id": "16505551234" } ], "messages": [ { "button": { "payload": "No-Button-Payload", "text": "No" }, "context": { "from": "16315558007", "id": "gBGGFmkiWVVPAgkgQkwi7IORac0" }, "from": "16505551234", "id": "ABGGFmkiWVVPAgo-sKD87hgxPHdF", "timestamp": "1591210827", "type": "button" } ] # If there are any errors, an errors field (array) will be present "errors": [ { ... } ] }
Questi esempi illustrano il processo di configurazione dei modelli di messaggi interattivi a partire dalla creazione di modelli in Business Manager e di invio dei modelli di messaggi con chiamate all'API all'endpoint messages
.
Questo esempio mostra la creazione di un modello di messaggio multimediale interattivo con pulsanti di risposta rapida.
messages
aggiunge le informazioni relative ai parametri.POST /v1/messages { "to": "your-test-recipient-wa-id", "recipient_type": "individual", "type": "template", "template": { "namespace": "88b39973_f0d5_54e1_29cf_e80f1e3da4f2", "name": "upcoming_trip_reminder", "language": { "code": "en", "policy": "deterministic" }, "components": [ { "type": "header", "parameters": [ { "type": "text", "text": "12/26" } ] }, { "type": "body", "parameters": [ { "type": "text", "text": "*Ski Trip*" }, { "type": "date_time", "date_time" : { "fallback_value": "29th July 2019, 8:00am", "day_of_month": "29", "year": "2019", "month": "7", "hour": "8", "minute": "00" } }, { "type": "text", "text": "*Squaw Valley Ski Resort, Tahoe*" } ] }, { "type": "button", "sub_type": "quick_reply", "index": 0, "parameters": [ { "type": "payload", "payload": "Yes-Button-Payload" } ] }, { "type": "button", "sub_type": "quick_reply", "index": 1, "parameters": [ { "type": "payload", "payload": "No-Button-Payload" } ] } ] } }
Questo esempio mostra la creazione di un modello di messaggio multimediale interattivo con pulsanti con URL e numero di telefono.
messages
aggiunge le informazioni relative ai parametri.POST /v1/messages { "to": "your-test-recipient-wa-id", "recipient_type": "individual", "type": "template", "template": { "namespace": "88b39973_f0d5_54e1_29cf_e80f1e3da4f2", "name": "oculus_shipment_update", "language": { "code": "en", "policy": "deterministic" }, "components": [ { "type": "header", "parameters": [{ "type": "image", "image": { "link": "link-to-your-image" } }] }, { "type": "body", "parameters": [ { "type": "text", "text": "Anand" }, { "type": "text", "text": "Quest" }, { "type": "text", "text": "113-0921387" }, { "type": "date_time", "date_time" : { "fallback_value": "23rd Nov 2019", "day_of_month": "20", "year": "2019", "month": "9" } } ] }, { "type": "button", "index": "0", "sub_type": "url", "parameters": [ { "type": "text", "text": "1Z999AA10123456784" } ] } ] } }