@pliancy/divvy-sdk
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

Divvy SDK

This SDK provides a way to interact with the Divvy API

Installation

You can install the sdk using npm:

npm install @pliancy/divvy-sdk

Or using yarn:

yarn add @pliancy/divvy-sdk

Or using pnpm:

pnpm install @pliancy/divvy-sdk

Configuration

To use the SDK, you'll need to initialize it with your API token:

import { Divvy } from ' @pliancy/divvy-sdk'

const divvy = new Divvy({
    apiToken: 'your-api-token-here',
    env: 'staging', // or 'production'
    apiVersion: 'v3',
})

Usage

Transactions

List Transactions

You can list transactions with optional filters:

const transactions = await divvy.transactions.list({
    max: 50,
    filters: {
        cardId: { in: ['card1', 'card2'] },
        amount: { gte: 100, lte: 500 },
        receiptStatus: { eq: 'VALIDATED' },
        occurredTime: { gte: '2023-01-01T00:00:00Z' },
    },
})

Get a Single Transaction

To retrieve a single transaction by its ID:

const transaction = await divvy.transactions.get('transaction-id-here')

Custom Fields

List Custom Fields

You can list custom fields with optional filters:

const customFields = await divvy.customFields.list({
    max: 50,
    filters: {
        name: { sw: 'Proj' },
        retired: { eq: false },
    },
})

Get a Single Custom Field

To retrieve a single custom field by its ID:

const customField = await divvy.customFields.get('custom-field-id-here')

Create a Custom Field

To create a new custom field:

const newCustomField = await divvy.customFields.create({
    name: 'Project Code',
    description: 'Project code for this transaction',
    multiSelect: false,
    allowCustomValues: true,
    minimumAmountForRequirement: 0,
    required: true,
    global: false,
    values: ['PROJ001', 'PROJ002', 'PROJ003'],
})

Update a Custom Field

To update an existing custom field:

const updatedCustomField = await divvy.customFields.update('custom-field-id', {
    name: 'Updated Project Code',
    description: 'Updated description',
    isRequired: false,
})

List Custom Field Values

To list values for a specific custom field:

const customFieldValues = await divvy.customFields.listValues('custom-field-id', {
    max: 50,
    filters: {
        // Add any filters if needed
    },
})

Get a Single Custom Field Value

To retrieve a single custom field value:

const customFieldValue = await divvy.customFields.getValue(
    'custom-field-id',
    'custom-field-value-id',
)

Add Values to a Custom Field

To add new values to an existing custom field:

await divvy.customFields.createValues('custom-field-id', ['PROJ004', 'PROJ005'])

Delete Values from a Custom Field

To delete values from a custom field:

await divvy.customFields.deleteValues('custom-field-id', ['value-id-1', 'value-id-2'])

Pagination

All list methods in the SDK handle pagination automatically. You can specify the max parameter to control the number of results per page, and the SDK will fetch all pages and return the combined results.

TypeScript Support

This SDK is written in TypeScript and provides type definitions from the divvy api docs

Contributing

If you'd like to contribute to the development of this SDK, please make a PR

License

This SDK is released under the MIT License.

Readme

Keywords

Package Sidebar

Install

npm i @pliancy/divvy-sdk

Weekly Downloads

9

Version

1.1.0

License

MIT

Unpacked Size

46.9 kB

Total Files

7

Last publish

Collaborators

  • santese
  • pliancy-bot
  • justin.pliancy