Socket
Socket
Sign inDemoInstall

conductor-node

Package Overview
Dependencies
9
Maintainers
1
Versions
211
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    conductor-node

QuickBooks Desktop API for Node.js and TypeScript


Version published
Weekly downloads
2.8K
increased by20.24%
Maintainers
1
Created
Weekly downloads
 

Readme

Source
Conductor logo

QuickBooks Desktop API for Node.js, TypeScript, and REST

Quickstart   •   Website   •   Docs   •   Examples   •   Twitter

NPM download count Package version Code coverage License

What is Conductor?

Conductor is a real-time, fully-typed API for QuickBooks Desktop (sometimes called QuickBooks Enterprise), available via TypeScript, Node.js, and REST. In just a few lines, get real-time access to fetch, create, or update any QuickBooks Desktop object type and receive a fully-typed response. Check out the documentation to get started.

Conductor, the company, is building a data integration platform for vertical SaaS companies, starting with QuickBooks Desktop. Our team has spent over a decade building companies, scaling vast software systems, and obsessing over quality.

What is this repo?

This repository is a library for conveniently accessing Conductor's QuickBooks Desktop API from TypeScript or JavaScript. The library is a wrapper around the Conductor REST API, providing a fully-typed, easy-to-use interface for fetching, creating, and updating QuickBooks Desktop objects.

Requirements

  1. A Conductor API key pair: one secret key, one publishable key. Please sign up to join the beta.
  2. Node.js v16 or later.

Documentation

  1. Get Started
  2. Quickstart
  3. Node.js / TypeScript API
  4. REST API
  5. API Reference
  6. Error Handling

Installation

npm install conductor-node
# or
yarn add conductor-node

Usage

The full API documentation is available here along with many code examples. The following is a quickstart example:

import Conductor from "conductor-node";

const conductor = new Conductor("{{YOUR_SECRET_KEY}}");

async function main() {
  // 1. Create a new EndUser.
  const endUser = await conductor.endUsers.create({
    sourceId: "{{UNIQUE_ID_FROM_YOUR_DB}}",
    email: "{{END_USER_EMAIL}}",
    companyName: "{{END_USER_COMPANY_NAME}}",
  });
  console.log("Save this EndUser ID to auth future requests:", endUser.id);

  // 2. Create an AuthSession to establish the QuickBooks Desktop connection.
  const authSession = await conductor.authSessions.create({
    publishableKey: "{{YOUR_PUBLISHABLE_KEY}}",
    endUserId: endUser.id,
  });
  console.log("Complete the QuickBooks Desktop auth:", authSession.authFlowUrl);

  // 3. Get a list of invoices from this EndUser's QuickBooks Desktop.
  const qbdInvoices = await conductor.qbd.customer.query(endUser.id, {
    MaxReturned: 10,
  });
  console.log("QuickBooks Desktop invoices:", qbdInvoices);
}

main();

More documentation

Please see our full documentation site for more docs, guides, and code examples.

Keywords

FAQs

Last updated on 17 Apr 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc