Un servidor TypeScript independiente del marco API oficial de Whatsapp.
whatsapp-api-js v4
Lista de contenidos
Configuración
Ejemplos y tutoriales
Tipos
Registro de cambios
Documentación
Colaboradores
Contribuciones
Cambios importantes
Lanzamientos beta
Antes que nada, necesitarás una aplicación Meta Bussiness con la API de WhatsApp activada. Puedes crear tu primera aplicación siguiendo estos pasos.
Obtenga el token API, ya sea temporal o permanente.
Obtenga el secreto de su aplicación desde el panel en Configuración de la aplicación > Básico > Secreto de la aplicación.
Información más detallada sobre cómo configurar y recuperar estos valores está disponible en la documentación del módulo.
Ahora puedes instalar el módulo usando npm:
npm instala whatsapp-api-js
Lo que te permitirá escribir código como este:
importar { WhatsAppAPI } de "whatsapp-api-js"; importar {Documento, imagen, texto} de "whatsapp-api-js/messages";// Recordatorio amable de no codificar su token y secretoconst TOKEN = "YOUR_TOKEN";const APP_SECRET = "YOUR_SECRET";/** @type WhatsAppAPI<número> */const Whatsapp = new WhatsAppAPI({ token: TOKEN, appSecret: APP_SECRET });// Suponiendo que se llama a una publicación en una solicitud POST a la función serverasync post(e) {// ¿Demasiado tiempo? Lea https://whatsappapijs.web.app/modules/middleware.htmlreturn await Whatsapp.post(JSON.parse(e.data),e.data,e.headers["x-hub-signature-256"]); }Whatsapp.on.message = async ({ ID de teléfono, de, mensaje, nombre, respuesta }) => {console.log(`Usuario ${nombre} (${de}) enviado al bot ${phoneID} ${JSON.stringify( mensaje )}`);let respuesta;if (message.type === "texto") {respuesta = esperar respuesta(nuevo texto(`*${nombre}* dijo:nn ${message.text.body}`),true);}if (message.type === "imagen") {respuesta = espera respuesta(nueva imagen(message.image.id, true, `Bonita foto, ${nombre}`));}if (message.type === "documento") {respuesta = espera respuesta(nuevo documento(message.document.id, true, undefinido, "Nuestro documento"));}consola. log(respuesta ??"Hay más tipos de mensajes, como contactos, " +"ubicaciones, plantillas, interactivos, reacciones y " +"todos los demás tipos de medios.");Whatsapp.markAsRead(phoneID, message.id) ;devolver 200;};Whatsapp.on.sent = ({ phoneID, to, message }) => {console.log(`Bot ${phoneID} enviado al usuario ${to} ${message}`);};
Para recibir las actualizaciones de los mensajes, debe configurar el webhook en su aplicación Meta. De vuelta en el panel, haga clic en WhatsApp > Configuración, escriba la URL de su webhook y asegúrese de suscribirse al evento de mensajes. También se le pedirá un token de verificación. Puede ser cualquier cadena que desees.
El paquete también incluye un controlador GET para la autenticación del webhook:
importar { WhatsAppAPI } desde "whatsapp-api-js";const TOKEN = "YOUR_TOKEN";const APP_SECRET = "YOUR_SECRET";const VERIFY_TOKEN = "YOUR_VERIFY_TOKEN";const Whatsapp = new WhatsAppAPI({token: TOKEN,appSecret: APP_SECRET,webhookVerifyToken : VERIFY_TOKEN});// Suponiendo que se llama a get en una solicitud GET a la función de su servidor get(e) {// ¿¡Demasiado tiempo!? Lea https://whatsappapijs.web.app/modules/middleware.htmlreturn Whatsapp.get(e.query);}
¡Y eso es todo! Ahora tienes un Whatsapp Bot en funcionamiento conectado a tu servidor. Para obtener más información sobre el proceso de configuración para marcos y tiempos de ejecución específicos, consulte el archivo Environments.md.
Hay algunos ejemplos que cubren cómo crear cada tipo de mensaje y cómo utilizar los métodos básicos de la biblioteca.
Échales un vistazo en la carpeta de ejemplos.
La biblioteca está completamente mecanografiada. La mayoría de los tipos están disponibles importando archivos /types
o /emitters
:
importar {GetParams, PostData} desde "whatsapp-api-js/types"; importar {OnMessage, OnSent, OnStatus} desde "whatsapp-api-js/emitters";
Para saber qué cambió entre actualizaciones, consulte los lanzamientos en Github.
La documentación de la última versión está disponible en whatsappapijs.web.app y las versiones anteriores están archivadas en secreto31126.github.io/whatsapp-api-js.
tecla emoji
Diego Carrillo | Omar | Rahul Lanjewar | Félix Arjuna |
Si tiene algo de tiempo libre y realmente desea mejorar la biblioteca o corregir errores tontos, no dude en leer el archivo CONTRIBUTING.md.
Puede obtener una lista completa de los cambios importantes en el archivo BREAKING.md.
Instale la última versión beta con npm install whatsapp-api-js@beta
. Como cualquier versión beta, tiene un 110% de probabilidades de fallar. También uso esta etiqueta para probar las versiones de npm. Úselo bajo su propio riesgo.