Invio di messaggi con contenuto multimediale

Usa il nodo messages per inviare messaggi contenenti audio, documenti, immagini, adesivi o video ai tuoi clienti.

In sostanza, quando invii un messaggio che include file multimediali, devi fornire nel corpo della richiesta l'ID di tali file caricati o un link ai file. Devi anche specificare il tipo di file multimediale che stai inviando: audio, image, document, sticker o video. Quando la richiesta viene ricevuta, il file multimediale viene caricato sul server WhatsApp e inviato all'utente indicato nel campo to.

Attualmente, esistono due modi per inviare messaggi con contenuto multimediale con l'API di WhatsApp Business:

  • ID: per usare un ID, devi prima caricare i file multimediali usando il nodo media per ottenere l'ID richiesto per la chiamata API messages.
  • Link: per utilizzare un link, devi fornire un link HTTP(S) da cui l'app scaricherà i file multimediali, evitando il passaggio del caricamento del file.

Prima di iniziare

Devi:

Passaggio 1: esecuzione di una richiesta POST a /messages

Dopo aver caricato i file multimediali, usa l'ID restituito per il campo id nella chiamata API per l'invio del messaggio con contenuto multimediale. In alternativa, puoi fornire un parametro link che punti ai file multimediali che desideri inviare (attualmente sono supportati solo i link HTTP/HTTPS).

È obbligatorio id o link, ma non devono essere utilizzati contemporaneamente.

Esempio

L'esempio seguente mostra diversi oggetti quali audio, document, image, sticker e video esclusivamente a scopo illustrativo. Il corpo di una richiesta valida contiene solo uno di questi ultimi.

POST /v1/messages
{
  "recipient_type": "individual",
  "to": "whatsapp-id",
  "type": "audio" | "contact" | "document" | "image" | "location" | "sticker" | "text" | "video",
  
  "audio": {
    "id": "your-media-id"
  }
  
  "document": {
    "id": "your-media-id",
    "filename": "your-document-filename"
  }
  
  "document": {
    "link": "the-provider-name/protocol://the-url",
    "provider": {
        "name" : "provider-name"
    }
  }
  
  "document": {
    "link": "http(s)://the-url.pdf"
  }
  
  "video": {
    "id": "your-media-id"  
  }
  
  "image": {
    "link": "http(s)://the-url",
    "provider": {
        "name" : "provider-name"
    }
  }
  
  "image": {
    "id": "your-media-id"   
  }
  
  "sticker": {
    "id": "your-media-id"
  }
  
  "sticker": {
    "link": "http(s)://the-url",
    "provider": {
      "name" : "provider-name"
    }
  }
}

Per maggiori informazioni sui parametri, vedere:

Passaggio 2: verifica della risposta

Una risposta positiva include un oggetto messages con un ID messaggio.

{
  "messages": [{
    "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU"
  }]
}  

In caso di risposta non riuscita, viene inviata una callback all'URL del tuo webhook anche se la risposta genererà un ID messaggio simile a un invio del messaggio eseguito correttamente. Ecco perché è importante configurare un server webhook.

Per ulteriori informazioni sugli errori, consulta Codici di errore e di stato.