omnisend-node-sdk
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

Omnisend API SDK

Typesafe Omnisend API SDK for Node.js

NPM

  • 🛡 Fully typesafe with Omnisend official definitions
  • ⚔️ Authentication out of the box

Installation

yarn add omnisend-node-sdk
# or with npm
npm install omnisend-node-sdk

Before starting

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.

Usage

Client options

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

Calling the API

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();

Using Safe Mode

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;
}

Accessing types for each endpoint

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";

Package Sidebar

Install

npm i omnisend-node-sdk

Weekly Downloads

9

Version

1.0.4

License

MIT

Unpacked Size

143 kB

Total Files

31

Last publish

Collaborators

  • ajmnz