{"_id":"@chrono-os/whatsapp-br","_rev":"2-efee40d280e6b73e1e2c267e5cd9d559","name":"@chrono-os/whatsapp-br","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@chrono-os/whatsapp-br","version":"0.1.0","keywords":["whatsapp","telefone","brasil","z-api","chrono-os"],"license":"MIT","_id":"@chrono-os/whatsapp-br@0.1.0","maintainers":[{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"}],"homepage":"https://github.com/SugarHoneyIceTea/whatsapp-br#readme","bugs":{"url":"https://github.com/SugarHoneyIceTea/whatsapp-br/issues"},"dist":{"shasum":"3cb264504eeb0a07c92622965bfd05525bd586bb","tarball":"https://registry.npmjs.org/@chrono-os/whatsapp-br/-/whatsapp-br-0.1.0.tgz","fileCount":10,"integrity":"sha512-1+TGA4qr0+76zAAqzBjX6xMHMumaGAQqkNr/L2b7CCBYXPyhmdIEclowCsfBj94VsO7kekBJfD/aijOkbTmCkA==","signatures":[{"sig":"MEYCIQDiIfm4fQ/5CIgb0oRitB0TaEShM5PaqWV9OAOex0lXfQIhAPxZKvHxMNJLRSAx4/nBnm4DAtQuE1s5jCyP6FQdLF1I","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37099},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.17"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"fe3668e4c69a9590648a52281ee9f069f21705b0","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"},"repository":{"url":"git+https://github.com/SugarHoneyIceTea/whatsapp-br.git","type":"git"},"_npmVersion":"11.9.0","description":"Telefone brasileiro para WhatsApp: normalização com DDI 55 sem confundir o DDD 55, e validação de número via Z-API com modo permissivo monitorado. Zero dependências de runtime.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^3","typescript":"5.9.3","@types/node":"^25.9.1"},"_npmOperationalInternal":{"tmp":"tmp/whatsapp-br_0.1.0_1789070053605_0.5057822796518543","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@chrono-os/whatsapp-br","version":"0.1.1","description":"Telefone brasileiro para WhatsApp: normalização com DDI 55 sem confundir o DDD 55, e validação de número via Z-API com modo permissivo monitorado. Zero dependências de runtime.","license":"MIT","type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"sideEffects":false,"publishConfig":{"registry":"https://registry.npmjs.org","access":"public"},"repository":{"type":"git","url":"git+https://github.com/SugarHoneyIceTea/whatsapp-br.git"},"keywords":["whatsapp","telefone","brasil","z-api","chrono-os"],"scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json"},"devDependencies":{"@types/node":"^25.9.1","tsup":"^8.3.0","typescript":"5.9.3","vitest":"^3"},"engines":{"node":">=18.17"},"gitHead":"f2652099c30328a811b2233d5fe0dc99405a7fdc","_id":"@chrono-os/whatsapp-br@0.1.1","bugs":{"url":"https://github.com/SugarHoneyIceTea/whatsapp-br/issues"},"homepage":"https://github.com/SugarHoneyIceTea/whatsapp-br#readme","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-+A/7sH9Hw7zPBtb1cNSIwI4meGdP1PC2B9Tn03lCi7JYr/oBc+RVssZbjU4h31CmHiPS3BDulyhhPe71mDxX2g==","shasum":"655d78c84ee30d78b2f264463ea4d0faf6a43e99","tarball":"https://registry.npmjs.org/@chrono-os/whatsapp-br/-/whatsapp-br-0.1.1.tgz","fileCount":10,"unpackedSize":37553,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAMgs3rgxmRsEpoxUysyXcHvrK/eeDeFiuL/6WrQRVUGAiEAvYwjjWJe/h1sPhcYqNuQzB1eI8CaamFSYbuNcLQlsFQ="}]},"_npmUser":{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"},"directories":{},"maintainers":[{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/whatsapp-br_0.1.1_1789075851470_0.16613342813303822"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-10T19:54:13.480Z","modified":"2026-09-10T21:30:51.787Z","0.1.0":"2026-09-10T19:54:13.742Z","0.1.1":"2026-09-10T21:30:51.624Z"},"bugs":{"url":"https://github.com/SugarHoneyIceTea/whatsapp-br/issues"},"license":"MIT","homepage":"https://github.com/SugarHoneyIceTea/whatsapp-br#readme","keywords":["whatsapp","telefone","brasil","z-api","chrono-os"],"repository":{"type":"git","url":"git+https://github.com/SugarHoneyIceTea/whatsapp-br.git"},"description":"Telefone brasileiro para WhatsApp: normalização com DDI 55 sem confundir o DDD 55, e validação de número via Z-API com modo permissivo monitorado. Zero dependências de runtime.","maintainers":[{"name":"sugarhoneyicetea","email":"aquilaferraz@gmail.com"}],"readme":"# @chrono-os/whatsapp-br\n\nTelefone brasileiro para WhatsApp. Zero dependências de runtime.\n\n```ts\nimport { normalizarTelefoneBR, telefoneBRValido, criarValidadorZapi } from '@chrono-os/whatsapp-br'\n\nnormalizarTelefoneBR('(55) 99628-2511') // '5555996282511' — DDD 55 não é confundido com o DDI\ntelefoneBRValido('123')                  // false\n\nconst whatsapp = criarValidadorZapi({\n  instance: env.ZAPI_INSTANCE,\n  token: env.ZAPI_TOKEN,\n  clientToken: env.ZAPI_CLIENT_TOKEN, // faltando qualquer um: modo permissivo, sem chamada\n  logger,\n})\n\nawait whatsapp.temWhatsApp(telefone)  // boolean (permissivo quando a Z-API falha)\nawait whatsapp.verificar(telefone)    // { temWhatsApp, verificado, motivo? }\nwhatsapp.saude()                      // { configurado, falhasConsecutivas, minutosDesdeUltimoSucesso, degradado } — para o /health\n```\n\n## A regra do DDD 55\n\n`d.startsWith('55') ? d : '55' + d` está errada: confunde o DDI 55 com o DDD 55 (Santa Maria / Passo Fundo). `55996282511` sai intacto e vira `+55 99 6282511`. O que desambigua é o tamanho: 10 ou 11 dígitos ganham o `55`; 12 ou 13 começando com `55` já têm o país; fora disso, os dígitos voltam crus.\n\n## Modo permissivo, monitorado\n\nSe a Z-API falha, a validação deixa o lead passar (não bloqueia gente de verdade). Isso abre um bypass — derrubar a Z-API desliga a validação —, então o validador conta falhas consecutivas, avisa no limiar (10) e loga erro quando a queda passa da janela (5 min). Número malformado continua barrado (`false`), sem gastar chamada.\n","readmeFilename":"README.md"}