{"_id":"@artamail/sdk","_rev":"2-fae2cf1b7f3794077eec8cecdbaf9f9d","name":"@artamail/sdk","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@artamail/sdk","version":"0.1.0","keywords":["email","transactional","marketing","artamail","ses"],"author":{"name":"Artatol"},"license":"MIT","_id":"@artamail/sdk@0.1.0","maintainers":[{"name":"charouzek-artatol","email":"martin.charouzek@artatol.com"}],"homepage":"https://artamail.artatol.com/docs","bugs":{"url":"https://github.com/artatol/artamail/issues"},"dist":{"shasum":"8bb7ad066daf81c76734b408f80c99d9477c8378","tarball":"https://registry.npmjs.org/@artamail/sdk/-/sdk-0.1.0.tgz","fileCount":8,"integrity":"sha512-fKBo6jcYxveyf/Zh/uHmVgWeXidDpWbLZ4HcQnIWdQtaJRlcRdQcFxQ/oIcIFI4CgWEdj9nw5qpgSzldi0pm4Q==","signatures":[{"sig":"MEUCIBDZLC9RqI+hAi+9ir1/1FtSGDLSdzMWd0m5mH9TAAiHAiEA+e85d/twBiMCZSPKnMaNrl8gbdgXBRg3vA0+LFAmuDg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":113999},"main":"./dist/index.js","type":"module","_from":"file:artamail-sdk-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"charouzek-artatol","email":"martin.charouzek@artatol.com"},"_resolved":"/private/var/folders/9x/wfkj1l0j56z0lywbzrkgrvs80000gn/T/09981c065d34a4526d214a8b262d1f4d/artamail-sdk-0.1.0.tgz","_integrity":"sha512-fKBo6jcYxveyf/Zh/uHmVgWeXidDpWbLZ4HcQnIWdQtaJRlcRdQcFxQ/oIcIFI4CgWEdj9nw5qpgSzldi0pm4Q==","repository":{"url":"git+https://github.com/artatol/artamail.git","type":"git"},"_npmVersion":"10.8.2","description":"Official ArtaMail SDK for sending transactional and marketing emails","directories":{},"_nodeVersion":"20.19.5","publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","vitest":"^2.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk_0.1.0_1764632900546_0.5663844232622175","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@artamail/sdk","version":"0.1.1","description":"Official ArtaMail SDK for sending transactional and marketing emails","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"keywords":["email","transactional","marketing","artamail","ses"],"author":{"name":"Artatol"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/artatol/artamail.git"},"homepage":"https://artamail.artatol.net/docs","bugs":{"url":"https://github.com/artatol/artamail/issues"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"devDependencies":{"tsup":"^8.0.0","typescript":"^5.0.0","vitest":"^2.0.0"},"engines":{"node":">=18.0.0"},"scripts":{"build":"tsup","dev":"tsup --watch","typecheck":"tsc --noEmit","clean":"rm -rf dist","test":"vitest run","test:watch":"vitest"},"_id":"@artamail/sdk@0.1.1","_integrity":"sha512-uzO7RBtpyx6uI+Fvj3A0al/wnpR9/51bif9WT4fwUhC3onNrfPXqb9ka+5y9q5MbsFj5rO49kpZretnO4oUFtA==","_resolved":"/private/var/folders/9x/wfkj1l0j56z0lywbzrkgrvs80000gn/T/e5cf546e643838e645c22f8410702d97/artamail-sdk-0.1.1.tgz","_from":"file:artamail-sdk-0.1.1.tgz","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-uzO7RBtpyx6uI+Fvj3A0al/wnpR9/51bif9WT4fwUhC3onNrfPXqb9ka+5y9q5MbsFj5rO49kpZretnO4oUFtA==","shasum":"01ff2f0b63c2a5c611aa029355d66d8e9c76e067","tarball":"https://registry.npmjs.org/@artamail/sdk/-/sdk-0.1.1.tgz","fileCount":8,"unpackedSize":115273,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAYprlFEpHfi6Asgyqp2qYMKt2SrHZbl6O0IpGGcz5+ZAiAswYXSUt01QZoZkLXT6nBYcgnX2ngP1xTy+wB/TMJClw=="}]},"_npmUser":{"name":"charouzek-artatol","email":"martin.charouzek@artatol.com"},"directories":{},"maintainers":[{"name":"charouzek-artatol","email":"martin.charouzek@artatol.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk_0.1.1_1765128268469_0.9561424416287341"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-01T23:48:20.485Z","modified":"2025-12-07T17:24:28.826Z","0.1.0":"2025-12-01T23:48:20.746Z","0.1.1":"2025-12-07T17:24:28.622Z"},"bugs":{"url":"https://github.com/artatol/artamail/issues"},"author":{"name":"Artatol"},"license":"MIT","homepage":"https://artamail.artatol.net/docs","keywords":["email","transactional","marketing","artamail","ses"],"repository":{"type":"git","url":"git+https://github.com/artatol/artamail.git"},"description":"Official ArtaMail SDK for sending transactional and marketing emails","maintainers":[{"name":"charouzek-artatol","email":"martin.charouzek@artatol.com"}],"readme":"# @artamail/sdk\n\nOfficial ArtaMail SDK for Node.js and browsers. Send transactional and marketing emails with ease.\n\n## Installation\n\n```bash\npnpm add @artamail/sdk\n# or\nnpm install @artamail/sdk\n```\n\n## Quick Start\n\n```typescript\nimport { ArtaMail } from '@artamail/sdk';\n\nconst artamail = new ArtaMail({\n  apiKey: 'am_live_sk_xxx' // Get your API key from the dashboard\n});\n\n// Send a transactional email\nconst result = await artamail.send({\n  to: 'user@example.com',\n  template: 'welcome',\n  data: {\n    name: 'John',\n    verifyUrl: 'https://example.com/verify?token=xxx'\n  }\n});\n\nconsole.log('Email queued:', result.id);\n```\n\n## API Reference\n\n### Configuration\n\n```typescript\nconst artamail = new ArtaMail({\n  apiKey: 'am_live_sk_xxx',  // Required\n  baseUrl: 'https://mail.artamail.com', // Optional\n  timeout: 30000,  // Request timeout in ms (default: 30000)\n  retries: 3,      // Retry attempts (default: 3)\n});\n```\n\n### Sending Emails\n\n#### Single Email\n\n```typescript\nconst result = await artamail.send({\n  to: 'user@example.com',\n  template: 'welcome',\n  data: { name: 'John' },\n\n  // Optional\n  from: 'custom@yourdomain.com',\n  fromName: 'Your Company',\n  replyTo: 'support@yourdomain.com',\n  priority: 'high', // 'high' | 'normal' | 'low'\n  addToContacts: true,\n  metadata: { userId: '123' }\n});\n```\n\n#### Batch Emails\n\n```typescript\nconst result = await artamail.sendBatch({\n  emails: [\n    { to: 'user1@example.com', template: 'notification', data: { ... } },\n    { to: 'user2@example.com', template: 'notification', data: { ... } },\n  ],\n  addToContacts: false\n});\n\nconsole.log(`Queued: ${result.queued}, Failed: ${result.failed}`);\n```\n\n#### Get Email Status\n\n```typescript\nconst email = await artamail.getEmail('email-id');\nconsole.log(email.status); // 'queued' | 'sent' | 'delivered' | 'bounced' | ...\n```\n\n### Contacts\n\n```typescript\n// Create or update a contact\nconst contact = await artamail.upsertContact({\n  email: 'user@example.com',\n  name: 'John Doe',\n  data: { company: 'Acme Inc', role: 'Developer' },\n  lists: ['newsletter', 'product-updates']\n});\n\n// Get a contact\nconst contact = await artamail.getContact('user@example.com');\n\n// Update a contact\nawait artamail.updateContact('user@example.com', {\n  name: 'Jane Doe',\n  subscribed: false\n});\n\n// Delete a contact\nawait artamail.deleteContact('user@example.com');\n```\n\n### Templates\n\n```typescript\n// List all templates\nconst templates = await artamail.listTemplates();\n\n// Get template details\nconst template = await artamail.getTemplate('welcome');\nconsole.log(template.variables); // ['name', 'verifyUrl']\n```\n\n## Error Handling\n\n```typescript\nimport {\n  ArtaMailError,\n  ValidationError,\n  AuthenticationError,\n  RateLimitError\n} from '@artamail/sdk';\n\ntry {\n  await artamail.send({ ... });\n} catch (error) {\n  if (error instanceof ValidationError) {\n    console.error('Invalid input:', error.message);\n  } else if (error instanceof AuthenticationError) {\n    console.error('Invalid API key');\n  } else if (error instanceof RateLimitError) {\n    console.error('Rate limited, retry after:', error.retryAfter);\n  } else if (error instanceof ArtaMailError) {\n    console.error('API error:', error.code, error.message);\n  }\n}\n```\n\n## TypeScript\n\nThis package is written in TypeScript and includes full type definitions.\n\n```typescript\nimport type {\n  SendEmailOptions,\n  SendEmailResult,\n  Contact,\n  Template\n} from '@artamail/sdk';\n```\n\n## Framework Integrations\n\n- **Next.js**: Use `@artamail/nextjs` for server-side helpers\n- **Nuxt**: Use `@artamail/nuxt` for Nuxt 3 plugin\n\n## License\n\nMIT\n","readmeFilename":"README.md"}