{"_id":"@artatol/artamail-nextjs","_rev":"3-b17ebeeb89f08c9ec472013e8e0a781b","name":"@artatol/artamail-nextjs","dist-tags":{"latest":"0.3.1"},"versions":{"0.1.0":{"name":"@artatol/artamail-nextjs","version":"0.1.0","keywords":["email","nextjs","next.js","artamail","artatol","transactional"],"author":{"url":"https://www.artatol.com","name":"Artatol"},"license":"MIT","_id":"@artatol/artamail-nextjs@0.1.0","maintainers":[{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},{"name":"machar","email":"martin@charouzkovi.cz"}],"homepage":"https://artamail.artatol.net/docs","bugs":{"url":"https://gitlab.com/artatol/acp/artamail/-/issues"},"dist":{"shasum":"b4d69a241bb044fa6aac4819fee9d4e9ed8867ba","tarball":"https://registry.npmjs.org/@artatol/artamail-nextjs/-/artamail-nextjs-0.1.0.tgz","fileCount":16,"integrity":"sha512-pVXqLIkCmt6yFHZlHBSnwIhIDeTAo0xHVgGQFoSr1xPTP+ed+lBcn1SLVYdKbfn4vJXLYzuD5nH0ZZpaj3cccA==","signatures":[{"sig":"MEQCIDQ/VV51yiQ/F72+YcfgGG4ppBo+JbI4OrFWSA9twl/0AiAjWvOsKg5Ph9OpFOO/mxSmeuZrOafwWPUzxI7ExSMtZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46857},"main":"./dist/index.js","type":"module","_from":"file:artatol-artamail-nextjs-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"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"}},"scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},"_resolved":"/private/var/folders/8j/tsn7kjzn7g37432x6nbm5xtm0000gn/T/bc424f64305de06e0cd527f6f7989189/artatol-artamail-nextjs-0.1.0.tgz","_integrity":"sha512-pVXqLIkCmt6yFHZlHBSnwIhIDeTAo0xHVgGQFoSr1xPTP+ed+lBcn1SLVYdKbfn4vJXLYzuD5nH0ZZpaj3cccA==","repository":{"url":"git+https://gitlab.com/artatol/acp/artamail.git","type":"git","directory":"packages/nextjs"},"_npmVersion":"11.8.0","description":"ArtaMail SDK integration for Next.js applications","directories":{},"sideEffects":false,"_nodeVersion":"24.13.1","dependencies":{"@artatol/artamail-sdk":"0.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"next":"^14.2.35","tsup":"^8.0.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"next":">=13.0.0"},"_npmOperationalInternal":{"tmp":"tmp/artamail-nextjs_0.1.0_1781621710181_0.7560631455762363","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@artatol/artamail-nextjs","version":"0.2.0","keywords":["email","nextjs","next.js","artamail","artatol","transactional"],"author":{"url":"https://www.artatol.com","name":"Artatol"},"license":"MIT","_id":"@artatol/artamail-nextjs@0.2.0","maintainers":[{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},{"name":"machar","email":"martin@charouzkovi.cz"}],"homepage":"https://artamail.artatol.net/docs","bugs":{"url":"https://gitlab.com/artatol/acp/artamail/-/issues"},"dist":{"shasum":"82bb0fa357ea847fd22835aeffe5b06de9beb07a","tarball":"https://registry.npmjs.org/@artatol/artamail-nextjs/-/artamail-nextjs-0.2.0.tgz","fileCount":16,"integrity":"sha512-ak1fowaUZv/24a149IMLt6l060JkZk7BR/YjGbFVQI600NjX3qowroIgFlSuG6xtNnUdRNp4P5wK2JzSAQJCTg==","signatures":[{"sig":"MEQCIEB9yovLm02AcuHArKVln8EV1ASArRVgYvYLxMyB/M+lAiAatwmLuJVpFSn82PRKTkvIWwqaIvGYq/3aQnsVOPlPGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47222},"main":"./dist/index.js","type":"module","_from":"file:artatol-artamail-nextjs-0.2.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"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"}},"scripts":{"dev":"tsup --watch","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},"_resolved":"/private/var/folders/8j/tsn7kjzn7g37432x6nbm5xtm0000gn/T/ce60c8ea58925886d620e6d136f6ddff/artatol-artamail-nextjs-0.2.0.tgz","_integrity":"sha512-ak1fowaUZv/24a149IMLt6l060JkZk7BR/YjGbFVQI600NjX3qowroIgFlSuG6xtNnUdRNp4P5wK2JzSAQJCTg==","repository":{"url":"git+https://gitlab.com/artatol/acp/artamail.git","type":"git","directory":"packages/nextjs"},"_npmVersion":"11.8.0","description":"ArtaMail SDK integration for Next.js applications","directories":{},"sideEffects":false,"_nodeVersion":"24.13.1","dependencies":{"@artatol/artamail-sdk":"^0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"next":"^14.2.35","tsup":"^8.0.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"peerDependencies":{"next":">=13.0.0"},"_npmOperationalInternal":{"tmp":"tmp/artamail-nextjs_0.2.0_1781644147005_0.31143711202211044","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@artatol/artamail-nextjs","version":"0.3.1","description":"ArtaMail SDK integration for Next.js applications","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"},"./server":{"types":"./dist/server.d.ts","import":"./dist/server.js","require":"./dist/server.cjs"}},"keywords":["email","nextjs","next.js","artamail","artatol","transactional"],"author":{"name":"Artatol","url":"https://www.artatol.com"},"license":"MIT","repository":{"type":"git","url":"git+https://gitlab.com/artatol/acp/artamail.git","directory":"packages/nextjs"},"homepage":"https://artamail.artatol.net/docs","bugs":{"url":"https://gitlab.com/artatol/acp/artamail/-/issues"},"sideEffects":false,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"peerDependencies":{"next":">=13.0.0"},"dependencies":{"@artatol/artamail-sdk":"^0.3.1"},"devDependencies":{"@types/node":"^20.0.0","next":"^14.2.35","tsup":"^8.0.0","typescript":"^5.0.0"},"engines":{"node":">=18.0.0"},"scripts":{"build":"tsup","dev":"tsup --watch","typecheck":"tsc --noEmit","clean":"rm -rf dist"},"_id":"@artatol/artamail-nextjs@0.3.1","_integrity":"sha512-SMgZaX1l2oCBaMN2L02eszNVN+ySVY0AgWLXP84SmkOvljVOa0NmBQns6qeaTyFsfTnKXTtmXzOThQGQy/a18Q==","_resolved":"/private/var/folders/8j/tsn7kjzn7g37432x6nbm5xtm0000gn/T/740c8d8ca7dffdd484f7a3ca737bd790/artatol-artamail-nextjs-0.3.1.tgz","_from":"file:artatol-artamail-nextjs-0.3.1.tgz","_nodeVersion":"24.13.1","_npmVersion":"11.8.0","dist":{"integrity":"sha512-SMgZaX1l2oCBaMN2L02eszNVN+ySVY0AgWLXP84SmkOvljVOa0NmBQns6qeaTyFsfTnKXTtmXzOThQGQy/a18Q==","shasum":"ea4064969dfda1fb5adcf79b3134648a69b11431","tarball":"https://registry.npmjs.org/@artatol/artamail-nextjs/-/artamail-nextjs-0.3.1.tgz","fileCount":16,"unpackedSize":47222,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCylrWrXHuHdqsQGvLWkN+bFqJ87qyNWTvwWUHwG/5NHwIhAIP/8E8FNwbQbtfrB1z9Tj3HkzsvwVXLUVL8CImCy92w"}]},"_npmUser":{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},"directories":{},"maintainers":[{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},{"name":"machar","email":"martin@charouzkovi.cz"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/artamail-nextjs_0.3.1_1781651655546_0.9860258394822594"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-16T14:55:10.019Z","modified":"2026-06-16T23:14:15.852Z","0.1.0":"2026-06-16T14:55:10.332Z","0.2.0":"2026-06-16T21:09:07.163Z","0.3.1":"2026-06-16T23:14:15.699Z"},"bugs":{"url":"https://gitlab.com/artatol/acp/artamail/-/issues"},"author":{"name":"Artatol","url":"https://www.artatol.com"},"license":"MIT","homepage":"https://artamail.artatol.net/docs","keywords":["email","nextjs","next.js","artamail","artatol","transactional"],"repository":{"type":"git","url":"git+https://gitlab.com/artatol/acp/artamail.git","directory":"packages/nextjs"},"description":"ArtaMail SDK integration for Next.js applications","maintainers":[{"name":"vdejl","email":"vlastimil.dejl@artatol.com"},{"name":"machar","email":"martin@charouzkovi.cz"}],"readme":"# @artatol/artamail-nextjs\n\nServer-side ArtaMail integration for Next.js 13+ (App Router). This package is a **thin wrapper** around [`@artatol/artamail-sdk`](../sdk): it reads env vars, provides a singleton client, and exposes a few email shortcuts.\n\n**For contacts, subscriptions, double opt-in, templates, and the rest of the API — use `getArtaMail()`.** It returns the full `ArtaMail` client.\n\n## Installation\n\n```bash\npnpm add @artatol/artamail-nextjs\n# or\nnpm install @artatol/artamail-nextjs\n```\n\n## Setup\n\nAdd your API key to `.env.local`:\n\n```env\nARTAMAIL_API_KEY=am_live_sk_xxx\n\n# Optional\nARTAMAIL_BASE_URL=https://artamail.artatol.net\n```\n\n## Usage\n\n### Quick send (shortcut)\n\n```tsx\n'use server'\n\nimport { sendEmail } from '@artatol/artamail-nextjs/server';\n\nexport async function sendWelcomeEmail(email: string, name: string) {\n  return sendEmail({\n    to: email,\n    template: 'welcome',\n    data: { name },\n  });\n}\n```\n\n### Full client (recommended for most features)\n\n```tsx\nimport { getArtaMail } from '@artatol/artamail-nextjs/server';\n\nexport default async function TemplatesPage() {\n  const artamail = getArtaMail();\n  const templates = await artamail.listTemplates();\n  // ...\n}\n```\n\n### Signup with double opt-in\n\n```tsx\n'use server'\n\nimport { getArtaMail } from '@artatol/artamail-nextjs/server';\n\nexport async function subscribeNewsletter(email: string, name: string) {\n  const artamail = getArtaMail();\n\n  return artamail.optInContact({\n    email,\n    name,\n    optInSubtypeSlugs: ['weekly-digest'],\n    sendConfirmEmail: true,\n    // brand/company auto-injected from account Settings in confirm email\n  });\n}\n```\n\nSee [Subscriptions & Consent](https://artamail.artatol.net/docs/guides/subscriptions) for DOI setup (`consent-confirm` template, org setting).\n\n### In API Routes\n\n```ts\nimport { getArtaMail } from '@artatol/artamail-nextjs/server';\nimport { NextResponse } from 'next/server';\n\nexport async function POST(request: Request) {\n  const { to, template, data } = await request.json();\n  const artamail = getArtaMail();\n  const result = await artamail.send({ to, template, data });\n  return NextResponse.json(result);\n}\n```\n\n## API Reference\n\n### Package exports (shortcuts)\n\n| Export | Description |\n|--------|-------------|\n| `getArtaMail(config?)` | Singleton `ArtaMail` client (reads `ARTAMAIL_API_KEY`) |\n| `createArtaMail(config?)` | Non-singleton client (multiple keys/configs) |\n| `sendEmail(options)` | → `getArtaMail().send()` |\n| `sendBatchEmails(options)` | → `getArtaMail().sendBatch()` |\n| `listSenderAddresses()` | → `getArtaMail().listSenderAddresses()` |\n\n### Full client (`getArtaMail()`)\n\nAll [`@artatol/artamail-sdk`](../sdk) methods are available on the returned client:\n\n- **Emails:** `send`, `sendBatch`, `getEmail`\n- **Contacts:** `upsertContact`, `optInContact`, `sendConsentConfirmEmail`, `getContact`, `updateContact`, `deleteContact`\n- **Subscriptions:** `listSubscriptionTypes`, `getSubscriptionType`, `getContactSubscriptionPreferences`, `updateContactSubscriptionPreferences`\n- **Templates:** `listTemplates`, `getTemplate`\n- **Senders:** `listSenderAddresses`\n\n## Error Handling\n\n```ts\nimport {\n  sendEmail,\n  ValidationError,\n  AuthenticationError,\n  RateLimitError,\n} from '@artatol/artamail-nextjs/server';\n\ntry {\n  await sendEmail({ ... });\n} catch (error) {\n  if (error instanceof ValidationError) {\n    // Invalid input\n  } else if (error instanceof AuthenticationError) {\n    // Invalid API key\n  } else if (error instanceof RateLimitError) {\n    // Rate limited\n  }\n}\n```\n\n## TypeScript\n\nTypes are re-exported from `@artatol/artamail-nextjs/server`:\n\n```ts\nimport type {\n  SendEmailOptions,\n  SendEmailResult,\n  Contact,\n  OptInContactOptions,\n  SendConsentConfirmEmailOptions,\n  SubscriptionType,\n  ContactSubscriptionPreference,\n  Template,\n} from '@artatol/artamail-nextjs/server';\n```\n\n## Server-side only\n\nNever import `@artatol/artamail-nextjs/server` in Client Components — it uses your API key from the environment.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}