Configuracion del proyecto
Instale las dependencias: axios o node-fetch para llamadas HTTP, y zod para la validacion de payloads de webhook. Cree un archivo chatapi.ts con los tipos TypeScript para los mensajes, plantillas y webhooks de Chat API.
Cliente TypeScript para Chat API
Cree una clase ChatAPIClient con metodos async para cada operacion principal. Implemente reintentos con backoff exponencial para gestionar los rate limits.
Validacion de webhooks con Zod
Use Zod para validar y tipar los payloads de webhook en tiempo de ejecucion: defina un esquema Zod para cada tipo de evento de webhook.
Pruebas con TypeScript
Use Jest con ts-jest para pruebas en TypeScript. Simule las llamadas HTTP con jest.spyOn. Pruebe tanto los casos de exito como los de error.