Skip to content

autosendhq/autosend-node

Repository files navigation

AutoSend Node.js SDK

nodejs-og

npm version License: MIT

The official Node.js SDK for the AutoSend API.

Installation

npm install autosendjs

or

yarn add autosendjs

Setup

First, get your API key from the AutoSend Dashboard.

import { Autosend } from "autosendjs";

const autosend = new Autosend("as_xxxxxxxxxxxx");

Usage

Send an email with plain text

import { Autosend } from "autosendjs";

const autosend = new Autosend("as_xxxxxxxxxxxx");

await autosend.emails.send({
  from: { email: "you@example.com" },
  to: { email: "user@gmail.com" },
  subject: "Hello World",
  text: "Welcome to Autosend!",
});

Send an email with HTML

import { Autosend } from "autosendjs";

const autosend = new Autosend("as_xxxxxxxxxxxx");

await autosend.emails.send({
  from: { email: "you@example.com" },
  to: { email: "user@gmail.com" },
  subject: "Hello World",
  html: "<strong>Welcome to Autosend!</strong>",
});

Send bulk emails

import { Autosend } from "autosendjs";

const autosend = new Autosend("as_xxxxxxxxxxxx");

await autosend.emails.bulk({
  emails: [
    {
      from: { email: "you@example.com" },
      to: { email: "user1@gmail.com" },
      subject: "Hello User 1",
      html: "<p>Welcome!</p>",
    },
    {
      from: { email: "you@example.com" },
      to: { email: "user2@gmail.com" },
      subject: "Hello User 2",
      html: "<p>Welcome!</p>",
    },
  ],
});

Manage contacts

import { Autosend } from "autosendjs";

const autosend = new Autosend("as_xxxxxxxxxxxx");

// Create a contact
await autosend.contacts.create({
  email: "user@gmail.com",
  firstName: "John",
  lastName: "Doe",
  listIds: ["list_abc123"],
  customFields: { company: "Acme", plan: "pro" },
});

// Get a contact
await autosend.contacts.get("contact_id");

// Update or create a contact
await autosend.contacts.upsert({
  email: "user@gmail.com",
  firstName: "Jane",
});

// Delete a contact
await autosend.contacts.delete("contact_id");

Configuration Options

const autosend = new Autosend("as_xxxxxxxxxxxx", {
  baseUrl: "https://api.autosend.com/v1", // Custom API endpoint
  timeout: 30000, // Request timeout in ms
  maxRetries: 3, // Number of retry attempts
  debug: false, // Enable debug logging
});

Resend Adapter

AutoSend provides a drop-in replacement adapter for the Resend API:

import { Resend } from "autosendjs/resend";

const resend = new Resend("as_xxxxxxxxxxxx");

await resend.emails.send({
  from: "you@example.com",
  to: "user@gmail.com",
  subject: "Hello World",
  html: "<strong>It works!</strong>",
});

// Create a contact
await resend.contacts.create({
  email: "user@gmail.com",
  firstName: "John",
  properties: { company: "Acme" },
});

// Get a contact
await resend.contacts.get("contact_id");

// Update a contact (by email)
await resend.contacts.update({
  email: "user@gmail.com",
  firstName: "Jane",
});

// Remove a contact
await resend.contacts.remove("contact_id");

You can also use the RESEND_API_KEY environment variable:

import { Resend } from "autosendjs/resend";

const resend = new Resend(); // Uses RESEND_API_KEY env var

License

MIT License

About

AutoSend Node SDK

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors