JSPM

autosendjs

1.0.1
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 1725
    • Score
      100M100P100Q107129F
    • License MIT

    Node.js SDK for Autosend with Resend-compatible adapter

    Package Exports

    • autosendjs
    • autosendjs/resend

    Readme

    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