8.0.0-beta.21 • Published 29 days ago

@recursyve/nestjs-quickbooks v8.0.0-beta.21

Weekly downloads
8
License
MIT
Repository
github
Last release
29 days ago

Nest.js QuickBooks

An easy way to interact with the QuickBooks API in your NestJS applications.

Features

  • Authorization workflow
  • Company's info
  • Items
  • Invoices
  • Payments
  • Customers
  • Vendors

Getting started

Install

npm i --save @recursyve/nestjs-quickbooks

Import

import { QuickBooksModule, QuickBooksScopes } from "@recursyve/nestjs-quickbooks";

@Module({
    imports: [
        QuickBooksModule.forRoot({
            config: {
                mode: "sandbox",
                clientId: "clientId",
                clientSecret: "clientSecret",
                scopes: [QuickBooksScopes.Accounting],
                serverUri: "http://localhost:3000",
                redirection: {
                    successUrl: "http://localhost:3000/success",
                    errorUrl: "http://localhost:3000/error"
                }
            }
        })
    ]
})
export class AppModule {}

Configuration

You can set the config in the QuicksBooksModule forRoot function. You can also set the configuration with environment variable.

configurationEnvironment variableDefinition
modeQUICKBOOKS_MODEQuickBooks mode (sandbox or production)
clientIdQUICKBOOKS_CLIENT_IDYour Quickbooks application client id
clientSecretQUICKBOOKS_CLIENT_SECRETYour Quickbooks application client secret
scopesQUICKBOOKS_CLIENT_SCOPESQuickbooks API scopes
serverUriQUICKBOOKS_SERVER_URIYour NestJS application URI
redirection.successUrlQUICKBOOKS_REDIRECT_SUCCESSRedirection URL after authorization success
redirection.errorUrlQUICKBOOKS_REDIRECT_ERRORRedirection URL after authorization error

Authorization workflow

The Authorization workflow is embedded in the library. Two routes are provided.

  • /quickbooks/auth: Redirects to quickbooks for authorization
  • /quickbooks/auth/return: The redirection uri, you need to set this uri in your QuickBooks application

Authorization tokens store

The result of an authorization is stored in the QuickBooksStore. By default the LocalStore is used, which means that the tokens and realm are saved localy.

You can override the QuickBooksStore with your own Store implementation.

import { QuickBooksModule, QuickBooksStore } from "@recursyve/nestjs-quickbooks";

@Module({
    imports: [
        QuickBooksModule.forRoot({
            imports: [MyStoreImplementationModule],
            store: {
                provide: QuickBooksStore,
                useClass: MyStoreImplementation
            }
        })
    ]
})
export class AppModule {}
9.0.0-beta.28

29 days ago

9.0.0-beta.27

2 months ago

8.0.0-beta.25

11 months ago

9.0.0-beta.26

11 months ago

8.0.0-beta.24

1 year ago

9.0.0-beta.25

1 year ago

8.0.0-beta.22

1 year ago

8.0.0-beta.21

2 years ago

8.0.0-beta.23

1 year ago

9.0.0-beta.24

1 year ago

9.0.0-beta.23

1 year ago

8.0.0-beta.20

2 years ago

8.0.0-beta.15

2 years ago

8.0.0-beta.17

2 years ago

8.0.0-beta.16

2 years ago

8.0.0-beta.19

2 years ago

8.0.0-beta.18

2 years ago

8.0.0-beta.14

2 years ago

8.0.0-beta.13

2 years ago

8.0.0-beta.12

3 years ago

7.0.0-beta.12

3 years ago

7.0.0-beta.11

3 years ago

7.0.0-beta.10

3 years ago

7.0.0-beta.9

3 years ago

7.0.0-beta.8

4 years ago

7.0.0-beta.7

4 years ago

7.0.0-beta.6

4 years ago

7.0.0-beta.5

4 years ago

7.0.0-beta.4

4 years ago

7.0.0-beta.3

4 years ago

7.0.0-beta.2

4 years ago

7.0.0-beta.1

4 years ago