rootfi-api
v3.1.8
Published
The RootFi Node.js library provides convenient access to the RootFi API from applications written in server-side JavaScript.
Downloads
1,500
Readme
RootFi Node Library
The RootFi Node.js library provides convenient access to the RootFi API from applications written in server-side JavaScript.
Documentation
See the API docs for more information about the API.
Installation
npm install --save rootfi-api
# or
yarn add rootfi-api
Instantiation
import { RootFiClient } from "rootfi-api";
const rootfi = new RootFiClient({
apiKey: "ROOTFI_API_KEY",
});
Namespaces
The RootFi SDK is organized into categories, each with its own namespace. The available categories are:
core
: APIs for managing companies and invite linksaccounting
: APIs for managing invoices, bills, and other accounting-related dataecommerce
: APIs for managing orders, products, and other e-commerce-related datapayments
: APIs for managing payments and other payment-related datacrm
: APIs for managing customers and other CRM-related data
const rootfi = new RootFiClient({
apiKey: 'ROOTFI_API_KEY',
});
rootfi.accounting. // APIs specific to the Accounting Category
rootfi.payments. // APIs specific to the Payments Category
Usage
Below are code snippets of how you can use the RootFi Typescript SDK.
Get Invoices
import { RootFiClient } from "rootfi-api";
const rootfi = new RootFiClient({ apiKey: "ROOTFI_API_KEY" });
invoices = await rootfi.accounting.invoices.list({ limit: 10, rootfiCompanyID: 234 });
Get Orders
import { RootFiClient } from "rootfi-api";
const rootfi = new RootFiClient({ apiKey: "ROOTFI_API_KEY" });
orders = await rootfi.ecommerce.orders.list({ limit: 10, rootfiCompanyID: 234 });
Get Companies
import { RootFiClient } from "rootfi-api";
const rootfi = new RootFiClient({ apiKey: "ROOTFI_API_KEY" });
const companies = await rootfi.core.companies.list({ limit: 10 });
Paginate Data
RootFi follows cursor-based pagination. The response will include a next
and prev
property. To get the next page, you can pass in the value of next
to the cursor property on the request. Similarly, to get the previous page, you can pass in the value of prev
to the cursor property on the request.
import { RootFiClient } from "rootfi-api";
const rootfi = new RootFiClient({ apiKey: "ROOTFI_API_KEY" });
const orders = await rootfi.ecommerce.orders.list({
limit: 10,
rootfiCompanyID: 234,
next: "eyJyb290ZmlfaWQiOjE4ODA2MDZ9",
});
Create Account
import { RootFiClient } from "rootfi-api";
const rootfi = new RootFiClient({ apiKey: "ROOTFI_API_KEY" });
await rootfi.core.inviteLinks.create({
company_name: "Test Company",
integration_category: ["ACCOUNTING"],
});
Sample Code for Fetching and Saving Data
Below is a sample code for fetching and saving data from the RootFi API to your database. You can use this as a starting point to build your own data sync process.
import { RootFiClient } from "rootfi-api";
const rootfi = new RootFiClient({ apiKey: "ROOTFI_API_KEY" });
async function fetchAllData() {
let nextCursor = null;
do {
const response = await rootfi.accounting.invoices.list({ next: nextCursor, limit: 100 });
const data = response.data;
// Save data to your database
nextCursor = response.next;
} while (nextCursor);
}