{"_id":"@agenticnucleus/whatsapp-multitenant","_rev":"7-e610bca85f7e068eccfca1ef3dbd3ce3","name":"@agenticnucleus/whatsapp-multitenant","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"@agenticnucleus/whatsapp-multitenant","version":"1.0.0","author":{"url":"https://github.com/jonnathanypg","name":"Jonnathan Peña"},"license":"MIT","_id":"@agenticnucleus/whatsapp-multitenant@1.0.0","maintainers":[{"name":"jonnathanypg","email":"jonnathan.ypg@gmail.com"}],"dist":{"shasum":"4217a154bff571a41597ea417245729547aa648f","tarball":"https://registry.npmjs.org/@agenticnucleus/whatsapp-multitenant/-/whatsapp-multitenant-1.0.0.tgz","fileCount":42,"integrity":"sha512-zprU0ZmhxZNsmlCrXkg8SrA2hCUMbSaJnzEHpcYQB53bvBANcTDaz6KklzUEz2WmbPm5S7JyHuO2pBqorvKX4A==","signatures":[{"sig":"MEQCIGC8+hhQ7GlpN4BIg6NBGTPXDUYActG7p6xv3AEuEx2lAiA+X430PW5eFUtCetdLYOmf7DG/mSlfX3Dw5kJ96+jq5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70573},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"70ff3a2eba0cee42b83b1a88545ae132f4e39448","scripts":{"dev":"nodemon ./src/app.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc -p .","start":"node ./dist/app.js"},"_npmUser":{"name":"jonnathanypg","email":"jonnathan.ypg@gmail.com"},"_npmVersion":"11.8.0","description":"Librería open source para conexiones multitenant de WhatsApp con Baileys en sistemas de Agentes de IA","directories":{},"_nodeVersion":"24.13.1","dependencies":{"cors":"^2.8.5","pino":"^9.4.0","uuid":"^8.3.2","axios":"^0.27.2","dotenv":"^16.0.1","mysql2":"^3.16.2","twilio":"^3.80.1","express":"^4.18.1","nodemon":"^2.0.20","ts-node":"^10.9.1","qr-image":"^3.2.0","venom-bot":"^5.1.0","whatsapp-web.js":"^1.19.4","@whiskeysockets/baileys":"^7.0.0-rc.9","node-dependency-injection":"^3.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^2.0.20","ts-node":"^10.9.1","typescript":"^4.7.4","@types/cors":"^2.8.12","@types/uuid":"^8.3.4","@types/axios":"^0.14.0","@types/dotenv":"^8.2.0","@types/twilio":"^3.19.3","@types/express":"^4.17.13","@types/qr-image":"^3.2.5"},"_npmOperationalInternal":{"tmp":"tmp/whatsapp-multitenant_1.0.0_1772564481895_0.4776001837236383","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@agenticnucleus/whatsapp-multitenant","version":"1.0.1","author":{"url":"https://github.com/jonnathanypg","name":"Jonnathan Peña"},"license":"MIT","_id":"@agenticnucleus/whatsapp-multitenant@1.0.1","maintainers":[{"name":"jonnathanypg","email":"jonnathan.ypg@gmail.com"}],"dist":{"shasum":"c4e9b63d72d4f5a0e8a4152c402676fd157db7cd","tarball":"https://registry.npmjs.org/@agenticnucleus/whatsapp-multitenant/-/whatsapp-multitenant-1.0.1.tgz","fileCount":42,"integrity":"sha512-iQ1xVe5zpr+d48GkN+AQ6eZ4CPpv3TplgMxG13hh3d806SkHfo5xkiLWuCZVHEFUEY7hlHF88PZMgceJvYwDLA==","signatures":[{"sig":"MEUCIAPyY0FYEqxQgvx6D/VXtHQwGla/+z9oEfEPp+s8qMbIAiEAosOyCqQCVTX/qXyyQM5XiISpSYKmzs8FREA+uOUrF+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71070},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"6380bf12edb069ded90aa303527288cc948b1998","scripts":{"dev":"nodemon ./src/app.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc -p .","start":"node ./dist/app.js"},"_npmUser":{"name":"jonnathanypg","email":"jonnathan.ypg@gmail.com"},"_npmVersion":"10.8.2","description":"Librería open source para conexiones multitenant de WhatsApp basado en Baileys para sistemas de Agentes de IA","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","pino":"^9.4.0","uuid":"^8.3.2","axios":"^0.27.2","dotenv":"^16.0.1","mysql2":"^3.16.2","twilio":"^3.80.1","express":"^4.18.1","nodemon":"^2.0.20","ts-node":"^10.9.1","qr-image":"^3.2.0","venom-bot":"^5.1.0","whatsapp-web.js":"^1.19.4","@whiskeysockets/baileys":"^7.0.0-rc.9","node-dependency-injection":"^3.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^2.0.20","ts-node":"^10.9.1","typescript":"^4.7.4","@types/cors":"^2.8.12","@types/uuid":"^8.3.4","@types/axios":"^0.14.0","@types/dotenv":"^8.2.0","@types/twilio":"^3.19.3","@types/express":"^4.17.13","@types/qr-image":"^3.2.5"},"_npmOperationalInternal":{"tmp":"tmp/whatsapp-multitenant_1.0.1_1772573358809_0.6397350670911417","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@agenticnucleus/whatsapp-multitenant","version":"1.0.2","author":{"url":"https://github.com/jonnathanypg","name":"Jonnathan Peña"},"license":"MIT","_id":"@agenticnucleus/whatsapp-multitenant@1.0.2","maintainers":[{"name":"jonnathanypg","email":"jonnathan.ypg@gmail.com"}],"bin":{"whatsapp-gateway":"dist/app.js"},"dist":{"shasum":"8bd8078adb7a6b25e059e4a23c4dd780c3f14d4f","tarball":"https://registry.npmjs.org/@agenticnucleus/whatsapp-multitenant/-/whatsapp-multitenant-1.0.2.tgz","fileCount":42,"integrity":"sha512-+YAzXA/wAWmyS6/XJex3lBlpRylMuvtlGQst9yS5/cbZRcQppBYa31jBu98f/xU26sjzxYem+u61kZVV4AK6Nw==","signatures":[{"sig":"MEUCIQC/tEPTKAw8YDWBrQtbtP9rW2BlEnj2ksCo//+q9aCw4QIgc2aVzK5uFTGkVd6xB4qkMpGORAiw4ho/svAwFH4OZLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72572},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"1ae57c9d255656b6fcbb4cbe82c6cb1a86d4c968","scripts":{"dev":"nodemon ./src/app.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc -p .","start":"node ./dist/app.js"},"_npmUser":{"name":"jonnathanypg","email":"jonnathan.ypg@gmail.com"},"_npmVersion":"10.8.2","description":"Librería open source para conexiones multitenant de WhatsApp para sistemas de Agentes de IA","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","pino":"^9.4.0","uuid":"^8.3.2","axios":"^0.27.2","dotenv":"^16.0.1","mysql2":"^3.16.2","twilio":"^3.80.1","express":"^4.18.1","nodemon":"^2.0.20","ts-node":"^10.9.1","qr-image":"^3.2.0","venom-bot":"^5.1.0","whatsapp-web.js":"^1.19.4","@whiskeysockets/baileys":"^7.0.0-rc.9","node-dependency-injection":"^3.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^2.0.20","ts-node":"^10.9.1","typescript":"^4.7.4","@types/cors":"^2.8.12","@types/uuid":"^8.3.4","@types/axios":"^0.14.0","@types/dotenv":"^8.2.0","@types/twilio":"^3.19.3","@types/express":"^4.17.13","@types/qr-image":"^3.2.5"},"_npmOperationalInternal":{"tmp":"tmp/whatsapp-multitenant_1.0.2_1772593064892_0.6996088463975829","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@agenticnucleus/whatsapp-multitenant","version":"1.0.3","author":{"url":"https://github.com/jonnathanypg","name":"Jonnathan Peña"},"license":"MIT","_id":"@agenticnucleus/whatsapp-multitenant@1.0.3","maintainers":[{"name":"jonnathanypg","email":"jonnathan.ypg@gmail.com"}],"bin":{"whatsapp-gateway":"dist/app.js"},"dist":{"shasum":"cd927c940b1f32208b7526d9f6aba235221fde7e","tarball":"https://registry.npmjs.org/@agenticnucleus/whatsapp-multitenant/-/whatsapp-multitenant-1.0.3.tgz","fileCount":42,"integrity":"sha512-5htRrNi89e2PHAvfHnHl1fr7NpdV7st5iZ0Qq7tiz20RDYQJVdUioBG0CCYSY5EpLUwlB9LxiP7qYNBTQ8qyCw==","signatures":[{"sig":"MEUCIQD5yAbwKnjByYxSSU/o5jQnolYTVFlKyH9kCzUuXYUQsAIgN7y70AEFZBXX2gC0Hg5XKExNWLy4XwuXyIvqRRoo7cw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73084},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"b34c07653c5f7bffce4817f1054610c388e97217","scripts":{"dev":"nodemon ./src/app.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc -p .","start":"node ./dist/app.js"},"_npmUser":{"name":"jonnathanypg","email":"jonnathan.ypg@gmail.com"},"_npmVersion":"10.8.2","description":"Librería open source para conexiones multitenant de WhatsApp para sistemas de Agentes de IA","directories":{},"_nodeVersion":"20.20.0","dependencies":{"cors":"^2.8.5","pino":"^9.4.0","uuid":"^8.3.2","axios":"^0.27.2","dotenv":"^16.0.1","mysql2":"^3.16.2","twilio":"^3.80.1","express":"^4.18.1","nodemon":"^2.0.20","ts-node":"^10.9.1","qr-image":"^3.2.0","venom-bot":"^5.1.0","whatsapp-web.js":"^1.19.4","@whiskeysockets/baileys":"^7.0.0-rc.9","node-dependency-injection":"^3.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^2.0.20","ts-node":"^10.9.1","typescript":"^4.7.4","@types/cors":"^2.8.12","@types/uuid":"^8.3.4","@types/axios":"^0.14.0","@types/dotenv":"^8.2.0","@types/twilio":"^3.19.3","@types/express":"^4.17.13","@types/qr-image":"^3.2.5"},"_npmOperationalInternal":{"tmp":"tmp/whatsapp-multitenant_1.0.3_1772990295397_0.8917742606377184","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@agenticnucleus/whatsapp-multitenant","version":"1.0.4","author":{"url":"https://github.com/jonnathanypg","name":"Jonnathan Peña"},"license":"MIT","_id":"@agenticnucleus/whatsapp-multitenant@1.0.4","maintainers":[{"name":"jonnathanypg","email":"jonnathan.ypg@gmail.com"}],"bin":{"whatsapp-gateway":"dist/app.js"},"dist":{"shasum":"582c2d3468dd2efca4a61f05ff0dceaac2dbd87d","tarball":"https://registry.npmjs.org/@agenticnucleus/whatsapp-multitenant/-/whatsapp-multitenant-1.0.4.tgz","fileCount":36,"integrity":"sha512-L7QW1eAZx9Xe4kwzXw4cy06A5qJfiqh1hQCYalTkw9jFG5kzsLkoUhb9wVkLwlKjJjIrUfTVbDfR+CHVoqHPNA==","signatures":[{"sig":"MEQCIE3PNGo69rEoSInG8CFvnK/zmM55W5hjbtkh3tiQ+6tSAiBawOwMfQnMB3+2Th9wPaE5O63qF6bx8YvBE+yB0yvL0g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67646},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"d5ff8ac94f7ced848280b54caba8f120f9511fee","scripts":{"dev":"nodemon ./src/app.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc -p .","start":"node ./dist/app.js"},"_npmUser":{"name":"jonnathanypg","email":"jonnathan.ypg@gmail.com"},"_npmVersion":"10.8.2","description":"Librería open source para conexiones multitenant de WhatsApp para sistemas de Agentes de IA","directories":{},"_nodeVersion":"20.20.2","dependencies":{"cors":"^2.8.5","pino":"^9.4.0","uuid":"^8.3.2","axios":"^0.27.2","dotenv":"^16.0.1","mysql2":"^3.16.2","express":"^4.18.1","nodemon":"^2.0.20","ts-node":"^10.9.1","qr-image":"^3.2.0","whatsapp-web.js":"^1.19.4","@whiskeysockets/baileys":"^7.0.0-rc.9","node-dependency-injection":"^3.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^2.0.20","ts-node":"^10.9.1","typescript":"^4.7.4","@types/cors":"^2.8.12","@types/uuid":"^8.3.4","@types/axios":"^0.14.0","@types/dotenv":"^8.2.0","@types/express":"^4.17.13","@types/qr-image":"^3.2.5"},"_npmOperationalInternal":{"tmp":"tmp/whatsapp-multitenant_1.0.4_1776172291809_0.11960948651790981","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@agenticnucleus/whatsapp-multitenant","version":"1.0.5","author":{"url":"https://github.com/jonnathanypg","name":"Jonnathan Peña"},"license":"MIT","_id":"@agenticnucleus/whatsapp-multitenant@1.0.5","maintainers":[{"name":"jonnathanypg","email":"jonnathan.ypg@gmail.com"}],"bin":{"whatsapp-gateway":"dist/app.js"},"dist":{"shasum":"469f8973cab2b78c965b3afc98a7fab29c7cbf98","tarball":"https://registry.npmjs.org/@agenticnucleus/whatsapp-multitenant/-/whatsapp-multitenant-1.0.5.tgz","fileCount":36,"integrity":"sha512-N8LZRivdRBG35lUow8hoOBynJeElV6MRF4ViQXmdqMnJoacpL8YE6USLI6of5byrVgkfMPfbA7lE8K3pUAhEXA==","signatures":[{"sig":"MEQCICKDYLn1kCYRS5lZNr2DP1Vtt0MaKxkN8ccIWeJAJf7TAiBJpd6Hhv+cs1jQyL9V8OHYu2Pb8ND9wkxQllaY8Js7Wg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67532},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"db8ade3ff89556be80c6a264e70d48377a2a3084","scripts":{"dev":"nodemon ./src/app.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc -p .","start":"node ./dist/app.js"},"_npmUser":{"name":"jonnathanypg","email":"jonnathan.ypg@gmail.com"},"_npmVersion":"10.8.2","description":"Librería open source para conexiones multitenant de WhatsApp para sistemas de Agentes de IA","directories":{},"_nodeVersion":"20.20.2","dependencies":{"cors":"^2.8.5","pino":"^9.4.0","uuid":"^8.3.2","axios":"^0.27.2","dotenv":"^16.0.1","mysql2":"^3.16.2","express":"^4.18.1","nodemon":"^2.0.20","ts-node":"^10.9.1","qr-image":"^3.2.0","whatsapp-web.js":"^1.19.4","@whiskeysockets/baileys":"^7.0.0-rc.9","node-dependency-injection":"^3.0.3"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^2.0.20","ts-node":"^10.9.1","typescript":"^4.7.4","@types/cors":"^2.8.12","@types/uuid":"^8.3.4","@types/axios":"^0.14.0","@types/dotenv":"^8.2.0","@types/express":"^4.17.13","@types/qr-image":"^3.2.5"},"_npmOperationalInternal":{"tmp":"tmp/whatsapp-multitenant_1.0.5_1776172557729_0.7335628324173216","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"_id":"@agenticnucleus/whatsapp-multitenant@1.1.0","bin":{"whatsapp-gateway":"dist/app.js"},"bugs":{"url":"https://github.com/agenticnucleus/whatsapp-multitenant/issues"},"dist":{"shasum":"b3708ef824baa028e839cfeb8b02b6c34d05384d","tarball":"https://registry.npmjs.org/@agenticnucleus/whatsapp-multitenant/-/whatsapp-multitenant-1.1.0.tgz","fileCount":35,"integrity":"sha512-4gBAptH1X3dppZJlpK7LXyQwmGVEg3J3tAGpAbcSqE6vw2aJ+Y3MO5fBdeb/6Vd5wv71zxbda4FN0m4X0yraOw==","signatures":[{"sig":"MEYCIQDJdiZvJNDFw0Iywz06pi1uoIWxZEK5OYnZhIb8chs8IwIhAKHXfYCRdFQufTFsKcG98VYraH9CgwU0j7VrbG+NrwWQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCB/xau+GzdkCU2sBYVOGz7M6Vd1sJqGo1c/UjZJ0KoLAIgSeo8klIevcrcMUeAfJO7x4+Jh7jn8EllcdAKKZzBnmM="}],"unpackedSize":86564},"main":"dist/index.js","name":"@agenticnucleus/whatsapp-multitenant","types":"dist/index.d.ts","author":{"url":"https://github.com/jonnathanypg","name":"Jonnathan Peña"},"gitHead":"3b2688b1206c8ad9983c726b55522491a64c71a6","license":"MIT","scripts":{"dev":"nodemon ./src/app.ts","test":"echo \"Error: no test specified\" && exit 1","build":"tsc -p .","start":"node ./dist/app.js"},"version":"1.1.0","_npmUser":{"name":"jonnathanypg","email":"jonnathan.ypg@gmail.com"},"homepage":"https://github.com/agenticnucleus/whatsapp-multitenant#readme","repository":{"url":"git+https://github.com/agenticnucleus/whatsapp-multitenant.git","type":"git"},"_npmVersion":"10.8.2","description":"Librería y gateway open source para conexiones multitenant de WhatsApp para sistemas de Agentes de IA","directories":{},"maintainers":[{"name":"jonnathanypg","email":"jonnathan.ypg@gmail.com"}],"_nodeVersion":"20.20.2","dependencies":{"cors":"^2.8.5","pino":"^9.4.0","uuid":"^8.3.2","axios":"^0.27.2","dotenv":"^16.0.1","mysql2":"^3.16.2","express":"^4.18.1","nodemon":"^2.0.20","ts-node":"^10.9.1","qr-image":"^3.2.0","@whiskeysockets/baileys":"^7.0.0-rc.9","node-dependency-injection":"^3.0.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nodemon":"^2.0.20","ts-node":"^10.9.1","typescript":"^4.7.4","@types/cors":"^2.8.12","@types/uuid":"^8.3.4","@types/axios":"^0.14.0","@types/dotenv":"^8.2.0","@types/express":"^4.17.13","@types/qr-image":"^3.2.5"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/whatsapp-multitenant_1.1.0_1789753789747_0.3210892156118059"}}},"time":{"created":"2026-03-03T19:01:21.793Z","modified":"2026-09-18T17:49:49.999Z","1.0.0":"2026-03-03T19:01:22.080Z","1.0.1":"2026-03-03T21:29:18.967Z","1.0.2":"2026-03-04T02:57:45.035Z","1.0.3":"2026-03-08T17:18:15.554Z","1.0.4":"2026-04-14T13:11:31.954Z","1.0.5":"2026-04-14T13:15:57.894Z","1.1.0":"2026-09-18T17:49:49.818Z"},"author":{"url":"https://github.com/jonnathanypg","name":"Jonnathan Peña"},"license":"MIT","description":"Librería y gateway open source para conexiones multitenant de WhatsApp para sistemas de Agentes de IA","maintainers":[{"name":"jonnathanypg","email":"jonnathan.ypg@gmail.com"}],"readme":"# Multi-tenant WhatsApp Library & Gateway for AI Agents\n\n> **¿Te gusta este proyecto?** ¡Regálanos una ⭐ en GitHub para apoyarnos y que más gente conozca la librería!  \n> * [GitHub Repository](https://github.com/agenticnucleus/whatsapp-multitenant)  \n> * [NPM Package](https://www.npmjs.com/package/@agenticnucleus/whatsapp-multitenant)\n\nPowered by **WEBLIFETECH** and designed for **AI Agent** orchestrations por @jonnathanypg.\n\n## 👨‍💻 Author and Creator\n\n**Jonnathan Peña**\n* Lead Architect & Original Creator\n* [GitHub](https://github.com/jonnathanypg)\n* [LinkedIn](https://www.linkedin.com/in/jonnathanypg/)\n\n---\n\n## 🚀 Key Features (Production Grade)\n\n- **Multi-tenant**: Maneja múltiples números y empresas de WhatsApp concurrentemente de forma aislada.\n- **Ultra-Resilient MySQL Auth State**:\n  - In-Memory Cache (O(1)) para llaves criptográficas de Baileys para evitar agotar pools de conexiones remotas (Hostinger, AWS RDS, GCP).\n  - Consultas e inserciones en batch masivo (`WHERE pk_id IN (?)` y `INSERT ... ON DUPLICATE KEY UPDATE`).\n- **Dynamic WhatsApp Web Handshake**: Detección automática y dinámica de versión de WhatsApp para evitar errores de desconexión `405` o logouts repentinos.\n- **Smart JID & LID Resolver**:\n  - Caché de destinatarios y normalización telefónica internacional automática (Ecuador, México, Colombia, España, USA, Argentina, etc.).\n  - Soporte nativo para números con `@lid` de WhatsApp Multi-dispositivo.\n- **Full Media Support**: Envío y recepción de imágenes, audios (con formato PTT / notas de voz) y documentos (PDF, Excel, CSV) con descarga automática para webhooks.\n- **Auto-Restoration & Clean Session Cycle**: Restauración automática de sesiones desde MySQL al reiniciar y reseteo forzado (`forceNew: true`) en caso de rotación de chip o credenciales corruptas.\n- **Dual Mode**: Úsalo como **Gateway Microservice** autónomo (HTTP / Webhook para Python/FastAPI/Go/PHP) o como **Librería NPM** programática en TypeScript / Node.js.\n\n---\n\n## 🏗 Architecture (Gateway Pattern)\n\n```mermaid\ngraph LR\n    User((WhatsApp User)) <--> Gateway[Node.js Gateway<br/>@agenticnucleus]\n    Gateway -- Webhook POST (Text + Media Local Path) --> Backend[AI Backend: Python / FastAPI / LangChain]\n    Backend -- REST HTTP API --> Gateway\n```\n\n### 1. Receiving Messages & Media (Gateway -> Backend Webhook)\nCuando llega un mensaje, el Gateway realiza un `POST` a tu `BACKEND_URL` (por defecto `http://localhost:5000/webhooks/whatsapp` o según tu `.env`):\n\n**Webhook Payload Structure:**\n```json\n{\n  \"companyId\": \"empresa_123\",\n  \"from\": \"593999999999\",\n  \"fromJid\": \"593999999999@s.whatsapp.net\",\n  \"fromName\": \"Carlos Mendoza\",\n  \"message\": \"Hola, adjunto mi factura\",\n  \"messageId\": \"BAE5F123456789\",\n  \"attachment\": {\n    \"type\": \"document\",\n    \"mimetype\": \"application/pdf\",\n    \"filename\": \"factura.pdf\",\n    \"caption\": \"\",\n    \"local_path\": \"/path/to/uploads/1710000000_factura.pdf\"\n  }\n}\n```\n\n### 2. Sending Messages & Media (Backend -> Gateway)\n\n#### Enviar Texto\n```bash\nPOST http://localhost:3001/lead\nContent-Type: application/json\n\n{\n  \"companyId\": \"empresa_123\",\n  \"phone\": \"+593 99 999 9999\",\n  \"message\": \"Hola! Tu cita está confirmada.\"\n}\n```\n\n#### Enviar Multimedia (Imágenes, Videos, Audios PTT, PDFs, Excel)\n```bash\nPOST http://localhost:3001/lead/media\nContent-Type: application/json\n\n{\n  \"companyId\": \"empresa_123\",\n  \"phone\": \"593999999999\",\n  \"mediaType\": \"document\",\n  \"mediaUrl\": \"https://tuservidor.com/archivos/reporte.pdf\",\n  \"fileName\": \"reporte.pdf\",\n  \"caption\": \"Adjunto tu reporte mensual\"\n}\n```\n\n#### Indicador \"Escribiendo...\" / Typing\n```bash\nPOST http://localhost:3001/lead/typing\nContent-Type: application/json\n\n{\n  \"companyId\": \"empresa_123\",\n  \"phone\": \"593999999999\"\n}\n```\n\n---\n\n## 📱 Session Management API\n\n| Método | Endpoint | Descripción |\n|---|---|---|\n| `POST` | `/session/init` | Inicia o reactiva una sesión. Opcional: `{\"companyId\": \"1\", \"forceNew\": true}` |\n| `GET` | `/session/qr/:companyId` | Obtiene el QR en formato SVG para escanear en WhatsApp. |\n| `GET` | `/session/status/:companyId` | Consulta el estado en memoria (`connected`, `phone`, etc.). |\n| `GET` | `/session/status-restore/:companyId`| Consulta estado e intenta auto-restaurar desde MySQL si estaba inactiva. |\n| `POST` | `/session/logout` | Cierra sesión y purga las credenciales de la base de datos de esa empresa. |\n| `GET` | `/session/list` | Lista todas las empresas activas y su estado de conexión. |\n\n---\n\n## 📦 Installation & Usage\n\n```bash\nnpm install @agenticnucleus/whatsapp-multitenant\n```\n\n### Modo A: Standalone Gateway (Recomendado para Python/Agentes IA)\n1. Crea un directorio y define tu `.env`:\n```env\nPORT=3001\nDB_HOST=localhost\nDB_PORT=3306\nDB_USER=root\nDB_PASSWORD=secret\nDB_NAME=whatsapp_gateway\nBACKEND_URL=http://localhost:5000\nWEBHOOK_PATH=/webhooks/whatsapp\n```\n\n2. Ejecuta directamente el gateway:\n```bash\nnpx @agenticnucleus/whatsapp-multitenant\n# o habiendo instalado globalmente:\nwhatsapp-gateway\n```\n\n### Modo B: Librería en Código (TypeScript / Node.js)\n```typescript\nimport { \n  BaileysTransporter, \n  useMySQLAuthState, \n  deleteSessionAuth \n} from '@agenticnucleus/whatsapp-multitenant';\n\nconst transporter = new BaileysTransporter();\n\n// Inicializa y auto-restaura sesiones existentes en MySQL\nawait transporter.initialize();\n\ntransporter.on(\"message\", ({ companyId, message }) => {\n  console.log(`Mensaje recibido para ${companyId}:`, message);\n});\n\n// Enviar mensaje\nawait transporter.sendMsg({\n  companyId: \"empresa_1\",\n  phone: \"593991234567\",\n  message: \"¡Hola desde la librería!\"\n});\n```\n\n---\n\n## 🤝 Contributing\n\nWe love community contributions! If you want to contribute, please check our [Contributing Guide](CONTRIBUTING.md) and use our [PR Template](.github/PULL_REQUEST_TEMPLATE.md).\n\n1. Fork the project.\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`).\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`).\n4. Push to the Branch (`git push origin feature/AmazingFeature`).\n5. Open a Pull Request.\n\n## ⚖️ License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n---\n\n*This is an Open Source library. Please ensure you maintain the original author credits when using or mentioning this architecture.*","readmeFilename":"README.MD","homepage":"https://github.com/agenticnucleus/whatsapp-multitenant#readme","repository":{"url":"git+https://github.com/agenticnucleus/whatsapp-multitenant.git","type":"git"},"bugs":{"url":"https://github.com/agenticnucleus/whatsapp-multitenant/issues"}}