Typesafe Omnisend API SDK for Node.js
- 🛡 Fully typesafe with Omnisend official definitions
- ⚔️ Authentication out of the box
yarn add omnisend-node-sdk
# or with npm
npm install omnisend-node-sdk
Make sure to familiarize yourself with the Omnisend API Docs before using this client. You will need an Omnisend API Key that you can get from your account.
option | description | required | default |
---|---|---|---|
apiKey |
Your Omnisend API Key. Get it from your account. | Yes | |
debug |
Enable debug logging. Useful to troubleshoot errors. | No | false |
safeMode |
Enable safe mode. (see Using Safe Mode) | No | false |
Import the client
import Omnisend from "omnisend-node-sdk";
Create a new instance
const omnisend = new Omnisend({
apiKey: "your-api-key",
});
Now all APIs/endpoints are available as properties from the instance you just created.
const contacts = await omnisend.contacts.listContacts();
In safe mode, requests will never throw an error and instead the result will be a discriminated union consisting of an object containing either the successfully received data or the error response.
This is fully typesafe and dependant on the value of the safeMode
option. When set to true
, the omnisend instance will become Omnisend<true>
and all types are automatically switched to discriminated unions.
const omnisend = new Omnisend({
apiKey: "your-api-key",
safeMode: true,
});
const contacts = await omnisend.contacts.listContacts();
if (contacts.success) {
// Access your contacts data
contacts.data;
} else {
// Handle error
contacts.error;
}
If you any of the types of a specific endpoint, you can import them from omnisend-node-sdk/data-contracts
.
import type { ContactsOutput } from "omnisend-node-sdk/data-contracts";