We are making changes to the WhatsApp Business Platform pricing model. See Pricing Updates on the WhatsApp Business Platform.
Usa l'endpoint /PHONE_NUMBER_ID/messages
per inviare ai tuoi clienti messaggi con testo, contenuti multimediali, contatti, posizione e interattivi, nonché modelli di messaggi. Scopri di più sui messaggi che puoi inviare.
Endpoint | Autenticazione |
---|---|
(Consulta Acquisizione dell'ID del numero di telefono) | Developers can authenticate their API calls with the access token generated in the App Dashboard > WhatsApp > API Setup.
Solution Partners must authenticate themselves with an access token with the |
I messaggi sono identificati da un ID univoco (WAMID). Puoi monitorare lo stato del messaggio nei webhook attraverso il suo WAMID. Puoi anche contrassegnare un messaggio in arrivo come letto tramite l'endpoint messages. Questo WAMID può avere una lunghezza massima di 128 caratteri.
Con l'API Cloud, non esiste più un modo per controllare esplicitamente se un numero di telefono dispone di un ID WhatsApp. Per inviare a qualcuno un messaggio utilizzando l'API Cloud, è sufficiente inviarlo direttamente al numero di telefono del cliente, dopo che quest'ultimo avrà autorizzato la ricezione di messaggi. Per gli esempi, consulta Riferimento, Messaggi.
Per inviare un messaggio, devi prima preparare un oggetto message con il contenuto che desideri inviare. Questi sono i parametri usati in un oggetto message
:
Nome | Descrizione (clicca sulla freccia nella colonna di sinistra per le opzioni supportate). |
---|---|
| Obbligatorio quando Un oggetto |
| Facoltativo. Una stringa arbitraria, utile per il monitoraggio. Per esempio, puoi passare l'ID del modello di messaggio in questo campo per monitorare il percorso del cliente a partire dal primo messaggio che invii. Puoi poi monitorare il ROI di diversi tipi di modelli di messaggi per determinare il più efficace. Qualsiasi app iscritta al campo del webhook L'API Cloud non elabora questo campo, lo restituisce semplicemente come parte dei webhook di messaggio inviato/recapitato/letto. Massimo 512 caratteri. Solo API Cloud. |
| Obbligatorio quando Un oggetto |
| Obbligatorio se si risponde a qualsiasi messaggio nella conversazione. Un oggetto contenente l'ID di un messaggio precedente a cui si sta rispondendo. Ad esempio:
Solo API Cloud. |
| Obbligatorio quando Un oggetto |
| Contiene un oggetto Solo API On-Premises. |
| Obbligatorio quando Un oggetto |
| Obbligatorio quando Un oggetto |
| Obbligatorio quando Un oggetto |
| Obbligatorio Servizio di messaggistica utilizzato per la richiesta. Utilizza Solo API Cloud. |
| Obbligatorio se Consente anteprime URL nei messaggi di testo - Consulta Invio di URL nei messaggi di testo. Questo campo è facoltativo se non includi un URL nel tuo messaggio. Valori: Solo API On-Premises. Gli utenti dell'API Cloud possono utilizzare la stessa funzionalità con il campo |
| Facoltativo. Attualmente, puoi solo inviare messaggi a persone singole. Impostalo come Predefinito: |
| Stato del messaggio. Puoi usare questo campo per contrassegnare un messaggio come
|
| Obbligatorio quando Un oggetto API Cloud: sono supportati adesivi animati e statici di terze parti in uscita e tutti i tipi di adesivi in entrata. Un adesivo statico deve essere di 512x512 pixel e non può superare 100 KB. Un adesivo animato deve essere di 512x512 pixel e non può superare 500 KB. API On-Premises: sono supportati solo adesivi statici di terze parti in uscita e tutti i tipi di adesivi in entrata. Un adesivo statico deve essere di 512x512 pixel e non può superare 100 KB. Gli adesivi animati non sono supportati. |
| Obbligatorio quando Un oggetto |
| Obbligatorio per i messaggi di testo. Un oggetto |
| Obbligatorio. ID di WhatsApp o numero di telefono del cliente a cui si desidera inviare un messaggio. Consulta Formati dei numero di telefono. Se necessario, gli utenti dell'API On-Premises possono ottenere questo numero chiamando l'endpoint |
| Facoltativo. Il tipo di messaggio che desideri inviare. Se omesso, il valore predefinito è |
I seguenti oggetti sono annidati all'interno dell'oggetto message:
Name | Description |
---|---|
| Optional. Full contact address(es) formatted as an
|
| Optional.
|
| Optional. Contact email address(es) formatted as an
|
| Required. Full contact name formatted as a
*At least one of the optional parameters needs to be included along with the |
| Optional. Contact organization information formatted as an
|
| Optional. Contact phone number(s) formatted as a
|
| Optional. Contact URL(s) formatted as a
|
Nome | Descrizione |
---|---|
| Obbligatorio. Azione che si desidera venga eseguita dall'utente dopo la lettura del messaggio. |
| Facoltativo per il tipo Un oggetto con il corpo del messaggio. L'oggetto
|
| Facoltativo. Un oggetto con il piè di pagina del messaggio. L'oggetto
|
| Obbligatorio per il tipo Contenuto dell'intestazione visualizzato nella parte superiore di un messaggio. Non puoi impostare un'intestazione se il tuo oggetto interactive è di tipo |
| Obbligatorio. Il tipo di messaggio interattivo che desideri inviare. Valori supportati:
|
I seguenti oggetti sono annidati all'interno dell'oggetto interactive
:
Nome | Descrizione |
---|---|
| Obbligatorio per i messaggi con elenco. Contenuto del pulsante. Non può essere una stringa vuota e deve essere unica all'interno del messaggio. Emoji supportate, markdown non supportato. Lunghezza massima: 20 caratteri. |
| Obbligatorio per i pulsanti di risposta. Un oggetto button può contenere i seguenti parametri:
Puoi avere fino a 3 pulsanti. Quando imposti l'ID, non devono esserci spazi iniziali o finali. |
| Obbligatorio per i messaggi con uno o più prodotti. Identificativo unico del catalogo di Facebook collegato al tuo account WhatsApp Business. Questo ID può essere recuperato tramite il Gestore delle vendite di Meta. |
| Obbligatorio per i messaggi con uno o più prodotti. Identificativo unico del prodotto in un catalogo. Per ottenere questo ID, accedi al Gestore delle vendite di Meta e seleziona il tuo account business di Meta. Vedrai una lista di shop collegati al tuo account. Clicca sullo shop che vuoi usare. Nella scheda a sinistra, clicca su Catalogo > Articoli e trova l'articolo che vuoi menzionare. L'ID è visualizzato sotto il nome dell'articolo. |
| Obbligatorio per i messaggi con lista e i messaggi con più prodotti. Array di oggetti |
| Opzionale per i messaggi con flussi. La modalità attuale del flusso, Predefinito: |
| Obbligatorio per i messaggi con flussi. Deve essere |
| Obbligatorio per i messaggi con flussi. Un token che viene generato dall'azienda per essere usato come identificativo. |
| Obbligatorio per i messaggi con flussi. Identificativo unico del flusso fornito da WhatsApp. |
| Obbligatorio per i messaggi con flussi. Testo sul pulsante di CTA, ad es. "Iscriviti". Lunghezza massima: 20 caratteri (no emoji). |
| Opzionale per i messaggi con flussi.
Impostazione predefinita: |
| Opzionale per i messaggi con flussi. Obbligatorio solo se
|
Nome | Descrizione |
---|---|
| Obbligatorio se Contiene l'oggetto media di questo documento. |
| Obbligatorio se Contiene l'oggetto media per questa immagine. |
| Obbligatorio se Testo per l'intestazione. La formattazione consente gli emoji, ma non il markdown. Lunghezza massima: 60 caratteri. |
| Facoltativo. Testo per l'intestazione. La formattazione consente gli emoji, ma non il markdown. Lunghezza massima: 60 caratteri. |
| Obbligatorio. Il tipo di intestazione che desideri utilizzare. Valori supportati:
|
| Obbligatorio se Contiene l'oggetto media per questo video. |
Nome | Descrizione |
---|---|
| Obbligatorio per messaggi con più prodotti. Array di oggetti Ogni oggetto
|
| Obbligatorio per i messaggi con elenco. Contiene una lista di righe. Nelle tue sezioni puoi avere un totale di 10 righe. Ogni riga deve avere un titolo (lunghezza massima: 24 caratteri) e un ID (lunghezza massima: 200 caratteri). Puoi aggiungere una descrizione (lunghezza massima: 72 caratteri), ma è facoltativa. Esempio: "rows": [ { "id":"unique-row-identifier-here", "title": "row-title-content-here", "description": "row-description-content-here", } ] |
| Obbligatorio se il messaggio ha più di una sezione. Titolo della sezione. Lunghezza massima: 24 caratteri. |
Name | Description |
---|---|
| Required. Location latitude in decimal degrees. |
| Required. Location longitude in decimal degrees. |
| Required. Name of the location. |
| Required. Address of the location. |
Consulta Ottenere l'ID del contenuto multimediale per informazioni su come ottenere l'ID del tuo oggetto media. Per informazioni sui tipi di contenuti multimediali supportati per l'API Cloud, consulta Tipi di contenuti multimediali supportati.
Name | Description |
---|---|
| Required when The media object ID. Do not use this field when message |
| Required when The protocol and URL of the media to be sent. Use only with HTTP/HTTPS URLs. Do not use this field when message Cloud API users only:
|
| Optional. Media asset caption. Do not use with On-Premises API users:
|
| Optional. Describes the filename for the specific document. Use only with The extension of the filename will specify what format the document is displayed as in WhatsApp. |
| Optional. On-Premises API only. This path is optionally used with a |
Nome | Descrizione |
---|---|
| Obbligatorio. Spazio dei nomi del modello. A partire dalla |
| Obbligatorio. Nome del modello. |
| Obbligatorio. Specifica la lingua in cui il modello può essere visualizzato. Con i modelli di messaggio con contenuti multimediali funziona solo il criterio di lingua |
| Facoltativo. Array contenente i parametri del messaggio. |
I seguenti oggetti sono annidati dentro l'oggetto template
:
Nome | Descrizione (clicca sulla freccia nella colonna di sinistra per le opzioni supportate). |
---|---|
| Obbligatorio. Indica il tipo di parametro per il pulsante. |
| Obbligatorio per pulsanti Payload definito dallo sviluppatore che viene restituito quando si clicca sul pulsante in aggiunta al testo visualizzato sul pulsante. Consulta Callback da un clic su un pulsante di risposta rapida per un esempio. |
| Obbligatorio per i pulsanti con URL. Suffisso fornito dallo sviluppatore che è aggiunto all'URL predefinito del prefisso nel modello. |
Nome | Descrizione |
---|---|
| Obbligatorio. Descrive il tipo di |
| Facoltativo. Array contenente il contenuto del messaggio. |
Nome | Descrizione |
---|---|
| Obbligatorio. Testo predefinito se la localizzazione non va a buon fine. |
| Obbligatorio. Codice valuta come definito in |
| Obbligatorio. Importo moltiplicato per 1000. |
Nome | Descrizione |
---|---|
| Obbligatorio. Testo predefinito. Per l'API Cloud, usiamo sempre il valore di fallback e non cerchiamo di localizzare usando altri campi opzionali. |
Nome | Descrizione |
---|---|
| Obbligatorio. Descrive il tipo di parametro. Valori supportati:
Per i modelli basati su testo, gli unici tipi di parametri supportati sono |
| Obbligatorio quando Il testo del messaggio. Il limite di caratteri varia in base al seguente tipo di componente incluso. Per il tipo di componente
Per il tipo di componente
|
| Obbligatorio quando Un oggetto |
| Obbligatorio quando |
| Obbligatorio quando Un oggetto |
| Obbligatorio quando Un oggetto |
| Obbligatorio quando Un oggetto |
Nome | Descrizione |
---|---|
| Obbligatorio per i messaggi di testo. Il testo del messaggio che può contenere URL che iniziano con http:// o https:// e formattazione. Consulta le opzioni di formattazione disponibili qui. Se includi URL nel testo e vuoi includere una casella di anteprima nei messaggi di testo ( Lunghezza massima: 4096 caratteri |
| Facoltativo. Solo API Cloud. Impostalo su Se Gli utenti dell'API On-Premises devono usare invece |
Nome | Descrizione |
---|---|
| Obbligatorio. L'ID del messaggio WhatsApp (wamid) su cui dovrebbe comparire la reazione. La reazione non sarà inviata nei casi seguenti:
Se l'ID è di un messaggio che è stato eliminato, il messaggio non verrà consegnato. |
| Obbligatorio. Emoji che deve comparire sul messaggio.
|
Consulta le seguenti guide per informazioni complete su come usare l'endpoint /messages
per inviare messaggi:
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "text",
"text": { // the text object
"preview_url": false,
"body": "MESSAGE_CONTENT"
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "reaction",
"reaction": {
"message_id": "wamid.HBgLM...",
"emoji": "\uD83D\uDE00"
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM-PHONE-NUMBER-ID/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE-NUMBER",
"type": "image",
"image": {
"id" : "MEDIA-OBJECT-ID"
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"to": "PHONE_NUMBER",
"type": "location",
"location": {
"longitude": LONG_NUMBER,
"latitude": LAT_NUMBER,
"name": LOCATION_NAME,
"address": LOCATION_ADDRESS
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"to": "PHONE_NUMBER",
"type": "contacts",
"contacts": [{
"addresses": [{
"street": "STREET",
"city": "CITY",
"state": "STATE",
"zip": "ZIP",
"country": "COUNTRY",
"country_code": "COUNTRY_CODE",
"type": "HOME"
},
{
"street": "STREET",
"city": "CITY",
"state": "STATE",
"zip": "ZIP",
"country": "COUNTRY",
"country_code": "COUNTRY_CODE",
"type": "WORK"
}],
"birthday": "YEAR_MONTH_DAY",
"emails": [{
"email": "EMAIL",
"type": "WORK"
},
{
"email": "EMAIL",
"type": "HOME"
}],
"name": {
"formatted_name": "NAME",
"first_name": "FIRST_NAME",
"last_name": "LAST_NAME",
"middle_name": "MIDDLE_NAME",
"suffix": "SUFFIX",
"prefix": "PREFIX"
},
"org": {
"company": "COMPANY",
"department": "DEPARTMENT",
"title": "TITLE"
},
"phones": [{
"phone": "PHONE_NUMBER",
"type": "HOME"
},
{
"phone": "PHONE_NUMBER",
"type": "WORK",
"wa_id": "PHONE_OR_WA_ID"
}],
"urls": [{
"url": "URL",
"type": "WORK"
},
{
"url": "URL",
"type": "HOME"
}]
}]
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "interactive",
"interactive": {
"type": "product",
"body": {
"text": "optional body text"
},
"footer": {
"text": "optional footer text"
},
"action": {
"catalog_id": "CATALOG_ID",
"product_retailer_id": "ID_TEST_ITEM_1"
}
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "interactive",
"interactive": {
"type": "product_list",
"header":{
"type": "text",
"text": "header-content"
},
"body": {
"text": "body-content"
},
"footer": {
"text": "footer-content"
},
"action": {
"catalog_id": "CATALOG_ID",
"sections": [
{
"title": "section-title",
"product_items": [
{ "product_retailer_id": "product-SKU-in-catalog" },
{ "product_retailer_id": "product-SKU-in-catalog" },
...
]
},
{
"title": "section-title",
"product_items": [
{ "product_retailer_id": "product-SKU-in-catalog" },
{ "product_retailer_id": "product-SKU-in-catalog" },
...
]
}
]
}
}
}
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "interactive",
"interactive" : {
"type" : "catalog_message",
"body" : {
"text": "Thanks for your order! Tell us what address you’d like this order delivered to."
},
"action": {
"name": "catalog_message",
"parameters": {
"thumbnail_product_retailer_id": "<Product-retailer-id>"
}
}
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "interactive",
"interactive" : {
"type": "flow",
"header": {
"type": "text",
"text": "Flow message header"
},
"body": {
"text": "Flow message body"
},
"footer": {
"text": "Flow message footer"
},
"action": {
"name": "flow",
"parameters": {
"flow_message_version": "3",
"flow_token": "AQAAAAACS5FpgQ_cAAAAAD0QI3s",
"flow_id": "<FLOW_ID>",
"flow_cta": "Book!",
"flow_action": "navigate",
"flow_action_payload": {
"screen": "<SCREEN_ID>",
"data": {
"user_name": "name",
"user_age": 25
}
}
}
}
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "interactive",
"interactive": {
"type": "list",
"header": {
"type": "text",
"text": "HEADER_TEXT"
},
"body": {
"text": "BODY_TEXT"
},
"footer": {
"text": "FOOTER_TEXT"
},
"action": {
"button": "BUTTON_TEXT",
"sections": [
{
"title": "SECTION_1_TITLE",
"rows": [
{
"id": "SECTION_1_ROW_1_ID",
"title": "SECTION_1_ROW_1_TITLE",
"description": "SECTION_1_ROW_1_DESCRIPTION"
},
{
"id": "SECTION_1_ROW_2_ID",
"title": "SECTION_1_ROW_2_TITLE",
"description": "SECTION_1_ROW_2_DESCRIPTION"
}
]
},
{
"title": "SECTION_2_TITLE",
"rows": [
{
"id": "SECTION_2_ROW_1_ID",
"title": "SECTION_2_ROW_1_TITLE",
"description": "SECTION_2_ROW_1_DESCRIPTION"
},
{
"id": "SECTION_2_ROW_2_ID",
"title": "SECTION_2_ROW_2_TITLE",
"description": "SECTION_2_ROW_2_DESCRIPTION"
}
]
}
]
}
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "interactive",
"interactive": {
"type": "button",
"body": {
"text": "BUTTON_TEXT"
},
"action": {
"buttons": [
{
"type": "reply",
"reply": {
"id": "UNIQUE_BUTTON_ID_1",
"title": "BUTTON_TITLE_1"
}
},
{
"type": "reply",
"reply": {
"id": "UNIQUE_BUTTON_ID_2",
"title": "BUTTON_TITLE_2"
}
}
]
}
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER_ID/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "PHONE_NUMBER",
"type": "template",
"template": {
"name": "TEMPLATE_NAME",
"language": {
"code": "LANGUAGE_AND_LOCALE_CODE"
},
"components": [
{
"type": "header",
"parameters": [
{
"type": "image",
"image": {
"link": "http(s)://URL"
}
}
]
},
{
"type": "body",
"parameters": [
{
"type": "text",
"text": "TEXT_STRING"
},
{
"type": "currency",
"currency": {
"fallback_value": "VALUE",
"code": "USD",
"amount_1000": NUMBER
}
},
{
"type": "date_time",
"date_time": {
"fallback_value": "MONTH DAY, YEAR"
}
}
]
},
{
"type": "button",
"sub_type": "quick_reply",
"index": "0",
"parameters": [
{
"type": "payload",
"payload": "PAYLOAD"
}
]
},
{
"type": "button",
"sub_type": "quick_reply",
"index": "1",
"parameters": [
{
"type": "payload",
"payload": "PAYLOAD"
}
]
}
]
}
}'
curl -X POST \
'https://graph.facebook.com/v21.0
/FROM_PHONE_NUMBER/messages' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"context": {
"message_id": "MESSAGE_ID"
},
"to": "PHONE_NUMBER",
"type": "text",
"text": {
"preview_url": false,
"body": "your-text-message-content"
}
}’
{ "messaging_product": "whatsapp", "contacts": [ { "input": "16505555555", "wa_id": "16505555555" } ], "messages": [ { "id": "wamid.HBgLMTY1MDUwNzY1MjAVAgARGBI5QTNDQTVCM0Q0Q0Q2RTY3RTcA" } ] }
Applies to businesses in Brazil, Colombia, and Singapore, starting September 12, 2023. Applies to all businesses starting October 12, 2023.
Messages will have one of the following statuses which will be returned in each of the messages
objects
"message_status":"accepted"
: means the message was sent to the intended recipient"message_status":"held_for_quality_assessment"
: means the message send was delayed until quality can be validated and it will either be sent or dropped at this point{ "messaging_product": "whatsapp", "contacts": [ { "input": "16505555555", "wa_id": "16505555555" } ], "messages": [ { "id": "wamid.HBgLMTY1MDUwNzY1MjAVAgARGBI5QTNDQTVCM0Q0Q0Q2RTY3RTcA", "message_status": "accepted", } ] }