Configurazione webhook

Attiva l'iscrizione ai webhook per ricevere notifiche relative ai messaggi ricevuti dall'azienda e agli aggiornamenti del profilo dei clienti.

Creazione di un endpoint

Per iniziare a ricevere le notifiche, dovrai creare un endpoint sul server.

L'endpoint deve essere in grado di elaborare due tipi di richieste HTTPS: richieste di verifica e notifiche per l'evento. Poiché entrambe le richieste utilizzano HTTPs, il server deve disporre di un certificato TLS o SSL valido configurato e installato in modo corretto. I certificati autofirmati non sono supportati.

Maggiori informazioni sulla verifica delle richieste e sulle notifiche per l'evento

La configurazione dei webhook non influirà sul numero di telefono sull'app WhatsApp Business, ma dopo aver eseguito la migrazione del numero alla piattaforma WhatsApp Business non potrai più utilizzarlo sull'app WhatsApp Business.

Attivazione dell'iscrizione ai webhook

Per attivare l'iscrizione ai webhook, dovrai ottenere un ID dell'app di Meta e le autorizzazioni. Per farlo, accedi alla Dashboard gestione app di Meta. A questo punto, esegui le operazioni seguenti:

  1. Crea un'app di tipo business nella Dashboard gestione app di Meta .
  2. Aggiungi il prodotto Webhooks all'app di Meta nella Dashboard gestione app .

    In ogni momento, qualsiasi app Meta può avere un solo endpoint configurato. Se devi inviare aggiornamenti dei webhook a più endpoint, hai bisogno di più app Meta.

Se sei un Solution Partner, potresti dover eseguire le seguenti azioni:

  1. Aggiungere l'autorizzazione whatsapp_business_messaging alla tua Dashboard gestione app.
  2. Completare correttamente l'analisi dell'app di Meta : questo passaggio richiederà tempo, ma puoi continuare a eseguire test durante l'intero processo di analisi.

Approfondimento sui webhook

Ogni volta che si verifica un evento di attivazione, la piattaforma WhatsApp Business vede l'evento e invia una notifica a un URL del webhook specificato in precedenza. Puoi ricevere due tipi di notifiche:

  • Messaggi ricevuti: questo avviso ti informa che hai ricevuto un messaggio. Nella documentazione, questo tipo di avviso può anche essere indicato con il termine "notifiche in entrata".
  • Notifiche su stato del messaggio e prezzi: questo avviso ti informa del cambio di stato di un messaggio (ad esempio, il messaggio è stato letto o consegnato). Nella documentazione, questo tipo di avviso può anche essere indicato con il termine "notifiche in uscita".

Tutti i webhook hanno il seguente formato generico:

{
  "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"
              },
              # specific Webhooks payload            
          },
          "field": "messages"
        }]
    }]
}

Per informazioni su ogni campo, consulta Componenti.

Se ricevi un messaggio non supportato per l'API Cloud, otterrai un webhook di messaggio sconosciuto.

Dimensioni del payload

Le dimensioni dei payload dei webhook possono arrivare fino a 3 MB.

Endpoint dell'app di esempio

Crea un endpoint dell'app di esempio per testare i webhook.

Consegna non riuscita del webhook

Se inviamo una richiesta del webhook al tuo endpoint e il tuo server risponde con un codice di stato HTTP diverso da 200, o se non siamo in grado di consegnare il webhook per un altro motivo, continueremo a provare con una frequenza decrescente fino a quando la richiesta non avrà esito positivo, fino a un massimo di 7 giorni.

I tentativi verranno inviati a tutte le app che hanno attivato l'iscrizione per i webhook (e i relativi campi) per l'account WhatsApp Business e ciò potrebbe determinare notifiche webhook duplicate.

Indirizzi IP

Puoi ottenere gli indirizzi IP dei nostri server webhook eseguendo il seguente comando sul tuo terminale:

whois -h whois.radb.net — '-i origin AS32934' | grep ^route | awk '{print $2}' | sort

Modifichiamo periodicamente questi indirizzi IP, quindi se aggiungi alla lista di elementi consentiti i nostri server ti consigliamo di rigenerare occasionalmente questa lista e di aggiornare la lista di elementi consentiti di conseguenza.

Passaggi successivi

Scopri di più sulle informazioni che puoi ricevere in una notifica webhook.