{"_id":"@arisnetxsolutions/qwa-sdk","_rev":"2-1055728acfa45c59b1c7677aebfc2b22","name":"@arisnetxsolutions/qwa-sdk","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.1":{"name":"@arisnetxsolutions/qwa-sdk","version":"0.0.1","keywords":["whatsapp","qopenwa","sdk","api","messages"],"author":{"name":"Arisnetx Solutions"},"license":"MIT","_id":"@arisnetxsolutions/qwa-sdk@0.0.1","maintainers":[{"name":"victon660","email":"Victon720@gmail.com"}],"homepage":"https://github.com/arisnetxsolutions/qwa-sdk#readme","bugs":{"url":"https://github.com/arisnetxsolutions/qwa-sdk/issues"},"dist":{"shasum":"cdd528fb358d51e6f380348bd5022812d5e933f0","tarball":"https://registry.npmjs.org/@arisnetxsolutions/qwa-sdk/-/qwa-sdk-0.0.1.tgz","fileCount":8,"integrity":"sha512-dTBa1IZDXx5ImPmrP9veSVGZJLlB/A4zg/V+NKaU4m8E5OBAEhaWziK8hmBc3R0dPqo9W2Z6Z1uJJPNLpa5zjw==","signatures":[{"sig":"MEQCIC2u0PenJJr3R+hL2b7WJuy4LkQr70nd4N4IvrQSbtcDAiBZbnCEhLf2HZINsJ1U65QLvGrn6QbAWWQQt9VozEXaJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28123},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18"},"exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"gitHead":"9584463d415dd95b5bd9de87c097ba6d85d1770a","scripts":{"dev":"tsup --watch","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"victon660","email":"Victon720@gmail.com"},"repository":{"url":"git+https://github.com/arisnetxsolutions/qwa-sdk.git","type":"git"},"_npmVersion":"10.9.8","description":"SDK para la API de QOpenWA - Envío de mensajes de WhatsApp","directories":{},"_nodeVersion":"22.23.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.2.0","typescript":"^5.5.0"},"_npmOperationalInternal":{"tmp":"tmp/qwa-sdk_0.0.1_1783424435649_0.27546835211467835","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@arisnetxsolutions/qwa-sdk","version":"0.0.2","description":"SDK para la API de QOpenWA - Envío de mensajes de WhatsApp","keywords":["whatsapp","qopenwa","sdk","api","messages"],"homepage":"https://github.com/arisnetxsolutions/qwa-sdk#readme","repository":{"type":"git","url":"git+https://github.com/arisnetxsolutions/qwa-sdk.git"},"license":"MIT","author":{"name":"Arisnetx Solutions"},"type":"module","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","scripts":{"build":"tsup","dev":"tsup --watch","prepublishOnly":"npm run build"},"devDependencies":{"tsup":"^8.2.0","typescript":"^5.5.0"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"_id":"@arisnetxsolutions/qwa-sdk@0.0.2","gitHead":"5fdc4dc7c1e3c9e7ad3eff6685d2558c9843f43c","bugs":{"url":"https://github.com/arisnetxsolutions/qwa-sdk/issues"},"_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-YFv9wFOpIBmh8oWyaR5Kj1Z7A7N0foMoAuQQ9Tpq6sogYnpeLDYYWP0nl29OykawZPNqW1uFhlEIjtiHLS+hTg==","shasum":"60fd85712e0c558eecd51b980d85eb36afef3c0f","tarball":"https://registry.npmjs.org/@arisnetxsolutions/qwa-sdk/-/qwa-sdk-0.0.2.tgz","fileCount":8,"unpackedSize":28479,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCgjRgijlI+OI2HSRaFUJx52qIKmokz2HrugY11/SZchgIgZ6UYpGIkzk3+fg6Hjs44SrrlgXO+eFWY02rzPcqJ4e8="}]},"_npmUser":{"name":"victon660","email":"Victon720@gmail.com"},"directories":{},"maintainers":[{"name":"victon660","email":"Victon720@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/qwa-sdk_0.0.2_1783424761871_0.028908012116600323"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-07T11:40:35.455Z","modified":"2026-07-07T11:46:02.162Z","0.0.1":"2026-07-07T11:40:35.815Z","0.0.2":"2026-07-07T11:46:01.985Z"},"bugs":{"url":"https://github.com/arisnetxsolutions/qwa-sdk/issues"},"author":{"name":"Arisnetx Solutions"},"license":"MIT","homepage":"https://github.com/arisnetxsolutions/qwa-sdk#readme","keywords":["whatsapp","qopenwa","sdk","api","messages"],"repository":{"type":"git","url":"git+https://github.com/arisnetxsolutions/qwa-sdk.git"},"description":"SDK para la API de QOpenWA - Envío de mensajes de WhatsApp","maintainers":[{"name":"victon660","email":"Victon720@gmail.com"}],"readme":"# @arisnetxsolutions/qwa-sdk\r\n\r\nSDK oficial para la API de **QOpenWA** — envía mensajes de WhatsApp de forma sencilla, rápida y con tipado completo.\r\n\r\n## Instalación\r\n\r\n```bash\r\nnpm install @arisnetxsolutions/qwa-sdk\r\n```\r\n\r\n## Modo de uso\r\n\r\n### 1. Configuración básica\r\n\r\nImporta `QWAClient` y crea una instancia con tus credenciales:\r\n\r\n```typescript\r\nimport { QWAClient } from '@arisnetxsolutions/qwa-sdk';\r\n\r\nconst client = new QWAClient({\r\n  sessionId: 'c7cb0771-3fb8-4fe4-98b8-34c5f294bd80',\r\n  chatId: '120363040929106526@g.us',\r\n  apiKey: 'owa_k1_...',\r\n});\r\n```\r\n\r\n> **💡 Nota:** La `baseUrl` ya viene preconfigurada apuntando a `https://api.wa.a.arisnetxsolutions.com`. Solo necesitas proporcionarla si usas un endpoint diferente.\r\n\r\n> **💡 Recomendación:** No hardcodees las credenciales. Usa variables de entorno:\r\n\r\n```typescript\r\nconst client = new QWAClient({\r\n  sessionId: process.env.QWA_SESSION_ID!,\r\n  chatId: process.env.QWA_CHAT_ID!,\r\n  apiKey: process.env.QWA_API_KEY!,\r\n});\r\n```\r\n\r\n### 2. Enviar un mensaje de texto\r\n\r\n```typescript\r\n// Forma explícita (con objeto)\r\nconst result = await client.sendText({\r\n  text: '¡Hola, mundo! 👋',\r\n});\r\n\r\nconsole.log(result);\r\n// ↑ { success: true, message?: string, data?: {...} }\r\n```\r\n\r\n### 3. Shorthand (solo el texto)\r\n\r\nSi no necesitas personalizar `chatId` ni `previewUrl`, pasa directamente un `string`:\r\n\r\n```typescript\r\nconst result = await client.sendText('¡Hola, mundo! 👋');\r\n```\r\n\r\nEl SDK usa automáticamente el `chatId` que configuraste al crear el cliente.\r\n\r\n### 4. Enviar a un chat diferente\r\n\r\nPuedes sobrescribir el `chatId` por mensaje:\r\n\r\n```typescript\r\nawait client.sendText({\r\n  chatId: '5215512345678@c.us',  // chat específico para este mensaje\r\n  text: 'Mensaje para otro destino',\r\n});\r\n```\r\n\r\n### 5. Desactivar vista previa de URLs\r\n\r\n```typescript\r\nawait client.sendText({\r\n  text: 'Visita https://arisnetxsolutions.com',\r\n  previewUrl: false,  // no mostrar preview del link\r\n});\r\n```\r\n\r\n### 6. Manejo de errores\r\n\r\nEl SDK lanza un error `QWAError` cuando la API responde con un código distinto a 2xx:\r\n\r\n```typescript\r\nimport { QWAClient, QWAError } from '@arisnetxsolutions/qwa-sdk';\r\n\r\nconst client = new QWAClient({ ... });\r\n\r\ntry {\r\n  const result = await client.sendText('Hola');\r\n  console.log('✅ Enviado:', result);\r\n} catch (error) {\r\n  if (error instanceof QWAError) {\r\n    console.error('❌ Error de API:', error.message);\r\n    console.error('   Status:', error.statusCode);\r\n    console.error('   Body:', error.body);\r\n  } else {\r\n    console.error('❌ Error de red:', error);\r\n  }\r\n}\r\n```\r\n\r\n### 7. Ejemplo completo (Node.js + variables de entorno)\r\n\r\n```typescript\r\n// app.ts\r\nimport { QWAClient, QWAError } from '@arisnetxsolutions/qwa-sdk';\r\n\r\nconst client = new QWAClient({\r\n  sessionId: process.env.QWA_SESSION_ID!,\r\n  chatId: process.env.QWA_CHAT_ID!,\r\n  apiKey: process.env.QWA_API_KEY!,\r\n});\r\n\r\nasync function main() {\r\n  try {\r\n    const result = await client.sendText(\r\n      `¡Hola! La hora actual es ${new Date().toLocaleString()}`,\r\n    );\r\n    console.log('✅ Mensaje enviado:', result);\r\n  } catch (error) {\r\n    if (error instanceof QWAError) {\r\n      console.error(`❌ [${error.statusCode}] ${error.message}`);\r\n    } else {\r\n      console.error('❌ Error inesperado:', error);\r\n    }\r\n  }\r\n}\r\n\r\nmain();\r\n```\r\n\r\n## API Reference\r\n\r\n### `QWAClient`\r\n\r\n#### `new QWAClient(config: QWAConfig)`\r\n\r\nCrea una nueva instancia del cliente.\r\n\r\n| Campo       | Tipo      | Obligatorio | Descripción                                              |\r\n|-------------|-----------|-------------|----------------------------------------------------------|\r\n| `baseUrl`   | `string`  | ❌ No       | URL base de la API. Por defecto: `https://api.wa.a.arisnetxsolutions.com` |\r\n| `sessionId` | `string`  | ✅ Sí       | ID de la sesión de WhatsApp                              |\r\n| `chatId`    | `string`  | ✅ Sí       | ID del chat o grupo de WhatsApp por defecto              |\r\n| `apiKey`    | `string`  | ✅ Sí       | API key para autenticación                               |\r\n\r\n> ⚠️ `sessionId`, `chatId` y `apiKey` son obligatorios. Si falta alguno, el constructor lanza un error.\r\n\r\n#### `sendText(payload: SendTextPayload | string): Promise<QWAResponse>`\r\n\r\nEnvía un mensaje de texto al chat especificado (o al configurado por defecto).\r\n\r\n**Parámetros:**\r\n\r\n| Parámetro  | Tipo                        | Descripción                                      |\r\n|------------|-----------------------------|--------------------------------------------------|\r\n| `payload`  | `SendTextPayload \\| string` | Mensaje a enviar. Acepta objeto o string directo |\r\n\r\n**Cuando `payload` es un objeto (`SendTextPayload`):**\r\n\r\n| Campo        | Tipo      | Obligatorio | Descripción                                    |\r\n|-------------|-----------|-------------|------------------------------------------------|\r\n| `text`      | `string`  | ✅ Sí       | Contenido del mensaje                          |\r\n| `chatId`    | `string`  | ❌ No       | ID del chat. Si se omite, usa el del config    |\r\n| `previewUrl`| `boolean` | ❌ No       | Vista previa de URLs. Por defecto: `true`      |\r\n\r\n**Respuesta (`QWAResponse`):**\r\n\r\n```typescript\r\n// Éxito\r\n{ success: true, message?: string, data?: Record<string, unknown> }\r\n\r\n// Error\r\n{ success: false, error: string, code?: string }\r\n```\r\n\r\n### `QWAError`\r\n\r\nError personalizado lanzado cuando la API responde con un código HTTP de error.\r\n\r\n| Propiedad    | Tipo     | Descripción                     |\r\n|-------------|----------|----------------------------------|\r\n| `message`   | `string` | Descripción del error            |\r\n| `statusCode`| `number` | Código HTTP de la respuesta      |\r\n| `body`      | `unknown`| Cuerpo de la respuesta (si aplica) |\r\n\r\n## Tipos exportados\r\n\r\n```typescript\r\nimport type {\r\n  QWAConfig,         // Configuración del cliente\r\n  SendTextPayload,   // Payload para sendText\r\n  QWAResponse,       // Respuesta exitosa o de error\r\n  QWASuccessResponse,// Respuesta exitosa\r\n  QWAErrorResponse,  // Respuesta de error\r\n} from '@arisnetxsolutions/qwa-sdk';\r\n```\r\n\r\n## Licencia\r\n\r\nMIT © Arisnetx Solutions\r\n","readmeFilename":"README.md"}