@kraiter/sdk
v0.3.3
Published
TypeScript SDK for the Kraiter email platform
Maintainers
Readme
@kraiter/sdk
TypeScript SDK for the Kraiter email platform. A thin, no-magic client with no hidden retries and no client-side state.
Installation
npm install @kraiter/sdkQuick start
import { Mailer } from "@kraiter/sdk";
const mailer = new Mailer({
apiKey: process.env.KRAITER_API_KEY,
});
// Create a contact
const contact = await mailer.contacts.create({
email: "[email protected]",
properties: { firstName: "John" },
});
// Track an event
await mailer.events.track({
contactId: contact.contactId,
event: "user_signed_up",
});
// Send a transactional email
await mailer.send.transactional({
to: "[email protected]",
templateId: "welcome-email",
});Resources
The SDK provides the following resources:
| Resource | Description |
| --- | --- |
| mailer.contacts | Create, update, delete, and list contacts |
| mailer.events | Track and query events |
| mailer.templates | Manage email templates |
| mailer.sequences | Manage automated sequences |
| mailer.campaigns | Manage campaigns |
| mailer.segments | Create and manage segments |
| mailer.domains | Manage sending domains |
| mailer.send | Send transactional emails |
Configuration
const mailer = new Mailer({
// Required: your API key
apiKey: "kr_live_...",
// Optional: override the base URL (defaults to https://api.kraiter.com)
baseUrl: "https://api.kraiter.com",
// Optional: request timeout in ms (default: 30000)
timeout: 10000,
// Optional: custom fetch implementation
fetch: myCustomFetch,
});Error handling
import { Mailer, MailerError, MailerTimeoutError } from "@kraiter/sdk";
try {
await mailer.contacts.create({ email: "[email protected]" });
} catch (error) {
if (error instanceof MailerError) {
console.error(error.message); // Human-readable message
console.error(error.statusCode); // HTTP status code
console.error(error.code); // Error code from the API
}
if (error instanceof MailerTimeoutError) {
console.error("Request timed out");
}
}Documentation
Full documentation is available at kraiter.com/docs/sdk-reference.
Licence
MIT
