Configuracion y autenticacion
Usa la biblioteca requests para las llamadas HTTP a Chat API. Crea un cliente wrapper que gestione la autenticacion, los reintentos automaticos y el registro de llamadas.
Con Django, crea una clase ChatAPIClient en el archivo services.py de tu aplicacion. Usa los ajustes de Django para la configuracion de credenciales.
Envio de mensajes con Python
La funcion base para enviar un mensaje de plantilla acepta el numero del destinatario, el nombre de la plantilla, el idioma y los parametros. Gestiona los casos de error: numero no en WhatsApp, plantilla no aprobada, limite de velocidad alcanzado.
Para las tareas asincronas en Django, usa Celery para poner en cola los envios de mensajes.
Webhooks con Django
Crea una vista de Django para recibir los webhooks de Chat API. Usa csrf_exempt ya que los webhooks no tienen tokens CSRF. Verifica la firma del webhook antes de procesar. Procesa los webhooks de forma asincrona con Celery.
Pruebas y desarrollo local
Para probar los webhooks en local, usa ngrok para exponer el puerto de Django a una URL publica.
Escribe pruebas unitarias que simulen las llamadas a Chat API usando unittest.mock.