Webhook per la piattaforma WhatsApp Business

Blog di WhatsApp Business

I webhook ti consentono di ricevere notifiche HTTP in tempo reale relative a modifiche a oggetti specifici. Ad esempio, potremmo inviarti una notifica quando un utente ti invia un messaggio o quando lo stato di un modello di messaggio cambia. In questo modo eviti di dover interrogare le nostre API in merito a eventuali modifiche agli oggetti, il che ti aiuta a non raggiungere il rate limit.

Questo documento fornisce una panoramica dei webhook e si applica all'API WhatsApp Business Management, all'API Cloud della piattaforma WhatsApp Business e all'API On-Premises della piattaforma WhatsApp Business.

Oggetti, campi e valori

Ogni API può avere più tipi di oggetto, quindi ogni volta che configuri un webhook devi prima scegliere un tipo di oggetto. Dal momento che oggetti differenti hanno campi differenti, devi attivare l'iscrizione a campi specifici per quel tipo di oggetto. Per ogni modifica al valore di un qualsiasi campo dell'oggetto per cui hai attivato l'iscrizione, ricevi una notifica.

Le notifiche vengono inviate come richieste HTTP POST e contengono un payload JSON che descrive la modifica.

Webhook disponibili

La tabella seguente illustra le informazioni che puoi ricevere dai webhook.

APIOggetti

API Cloud

  • Un cliente ha eseguito un'azione come rispondere a un messaggio dell'azienda
  • Un cliente ha aggiornato il proprio numero di telefono
  • Un'azienda ha inviato un messaggio oppure un cliente ha ricevuto o letto un messaggio, comprese informazioni sui prezzi
  • Si è verificato un errore con un messaggio

API On-Premises

  • Un cliente ha eseguito un'azione come rispondere a un messaggio dell'azienda
  • Un cliente ha aggiornato il proprio numero di telefono
  • Un'azienda ha inviato un messaggio oppure un cliente ha ricevuto o letto un messaggio, comprese informazioni sui prezzi
  • Si è verificato un errore con un messaggio

API WhatsApp Business Management

  • Modifiche allo stato di un account business ufficiale e allo stato del nome visualizzato
  • È cambiato lo stato per un controllo dell'account WhatsApp Business
  • Le informazioni su un account WhatsApp Business sono state aggiornate, comprese le informazioni per le violazioni delle normative
  • Le funzionalità per un account WhatsApp Business sono state modificate, ad esempio una modifica del numero di conversazioni per numero di telefono
  • Un modello di messaggio è stato approvato, rifiutato o disabilitato
  • Il nome visualizzato associato a un numero di telefono è stato approvato o rifiutato
  • È cambiato lo stato relativo alla qualità per un numero di telefono

Esempio di notifica di messaggi di testo

Gli esempi seguenti rappresentano la notifica webhook che ricevi quando un utente ti invia un messaggio di testo.

API Cloud

Per l'API Cloud, l'oggetto è sempre whatsapp_business_account, ma field sarà indicativo del tipo di informazioni inviate.

{
  "object": "whatsapp_business_account",
  "entry": [{
    "id": "WHATSAPP_BUSINESS_ACCOUNT_ID",
    "changes": [{
      "value": {
        "messaging_product": "whatsapp",
        "metadata": {
          "display_phone_number": PHONE_NUMBER,
          "phone_number_id": PHONE_NUMBER_ID
        },
        "contacts": [{
          "profile": {
            "name": "NAME"
          },
          "wa_id": PHONE_NUMBER
        }],
        "messages": [{
          "from": PHONE_NUMBER,
          "id": "wamid.ID",
          "timestamp": TIMESTAMP,
          "text": {
            "body": "MESSAGE_BODY"
          },
          "type": "text"
        }]
      },
      "field": "messages"
    }]
  }]
}

API On-Premises

Per l'API On-Premises, poiché il webhook viene inviato dal tuo client anziché da Meta, l'oggetto è rappresentato da contacts e messages, errors oppure statuses e pricing.

{
  "contacts": [{
    "profile": {
      "name": "NAME"
    },
    "wa_id": "WHATSAPP_BUSINESS_ACCOUNT_ID"
  }],
  "messages":[{
    "from": "PHONE_NUMBER",
    "id": "wamid.ID",
    "timestamp": "TIMESTAMP",
    "text": {
      "body": "MESSAGE_BODY"
    },
    "type": "text"
  }]
} 

Server HTTPS

Tutti i webhook sono inviati tramite HTTPS, quindi il tuo server deve essere abilitato a ricevere ed elaborare le richieste HTTPS e deve avere un certificato TLS/SSL valido installato. I certificati autofirmati non sono supportati.

Scopri di più

Ulteriori informazioni sui webhook per un'API specifica.

Passaggi successivi

  • Primi passi: determinazione delle API ideali per l'azienda.
  • Nome visualizzato: configurazione del nome attività visualizzato nei messaggi di WhatsApp.
  • Numeri di telefono: associazione di un numero di telefono a un account WhatsApp Business.
  • Prezzi: maggiori informazioni sui prezzi e sulla modalità di configurazione dei pagamenti.