2 min di lettura

WhatsApp Business API con Python e Django: Guida Tecnica Completa

Python e Django sono ampiamente usati per applicazioni web e backend in Europa. Questa guida tecnica mostra come integrare Chat API in un progetto Python con esempi pratici per Django, Flask, e script Python puri.

WhatsApp Business API con Python e Django: Guida Tecnica Completa

Setup e autenticazione

Usa la libreria requests per le chiamate HTTP a Chat API: pip install requests. Crea un client wrapper che gestisce l'autenticazione, i retry automatici e il logging delle chiamate. Conserva l'API key come variabile d'ambiente (CHAT_API_KEY) e accedila tramite os.environ.

Con Django, crea una classe ChatAPIClient nel file services.py della tua app. Usa Django settings per la configurazione delle credenziali e implementa il pattern Singleton per avere un'unica istanza del client per processo.

Invio messaggi con Python

La funzione base per inviare un messaggio template accetta il numero del destinatario, il nome del template, la lingua e i parametri. Gestisci i casi di errore: numero non su WhatsApp, template non approvato, rate limit raggiunto.

Per i task asincroni in Django, usa Celery per accodare gli invii di messaggi: crea un task send_whatsapp_message che accetta il numero e il payload del messaggio. Configura Redis o RabbitMQ come broker di Celery per la produzione.

Webhook con Django

Crea una view Django per ricevere i webhook di Chat API. Usa django.views.decorators.csrf.csrf_exempt perche i webhook non hanno il token CSRF. Verifica la firma del webhook nell'header X-Chat-API-Signature prima di processare il payload. Processa i webhook in modo asincrono con Celery per evitare timeout.

Testing e sviluppo locale

Per testare i webhook in locale, usa ngrok per esporre la porta Django a un URL pubblico: ngrok http 8000. Configura questo URL come webhook endpoint in Chat API per i test.

Scrivi unit test che mockano le chiamate a Chat API usando unittest.mock. Testa sia il path di successo (200 OK, messaggio inviato) che i casi di errore (429 rate limit, 400 numero non valido).

Chat API

Pronto a integrare WhatsApp nella tua azienda?

Attiva il tuo account Chat API e inizia a inviare messaggi in pochi minuti.