This generator creates TypeScript/JavaScript client that utilizes Fetch API. The generated Node module can be used in the following environments:
Environment
- Node.js
- Webpack
- Browserify
Language level
- ES5 - you must have a Promises/A+ library installed
- ES6
Module system
- CommonJS
- ES6 module system
It can be used in both TypeScript and JavaScript. In TypeScript, the definition should be automatically resolved via package.json
. (Reference)
navigate to the folder of your consuming project and run one of the following commands.
published:
npm install avalara-sdk@2.4.40 --save
unPublished (not recommended):
npm install PATH_TO_GENERATED_PACKAGE --save
import * as AvalaraSdk from "avalara-sdk";
const configParams: AvalaraSdk.Runtime.ConfigurationParameters = {
appName: "asv-sdk-test-app",
appVersion: "1.0",
environment: AvaTaxEnvironment.Sandbox,
machineName: "test-machine",
timeout: 3000,
bearerToken: "<YOUR BEARER TOKEN>",
testBasePath: "https://localhost:3000",
};
const config = new AvalaraSdk.Runtime.Configuration(configParams);
let client = new AvalaraSdk.Runtime.ApiClient(config);
let api = new AvalaraSdk.Avatax.V2.UtilitiesApi(client);
const result = await api.ping();
- Type: OAuth
- Flow: client_credentials
- Scopes:
- avatax_api: avatax_api scope.
import * as AvalaraSdk from "avalara-sdk";
const configParams: Runtime.ConfigurationParameters = {
appName: "asv-sdk-test-app",
appVersion: "1.0",
environment: AvaTaxEnvironment.Sandbox,
machineName: "test-machine",
timeout: 3000,
clientId: "<YOUR CLIENT ID>",
clientSecret: "<YOUR CLIENT SECRET>",
testBasePath: "https://localhost:3000",
};
const config = new AvalaraSdk.Runtime.Configuration(configParams);
let client = new AvalaraSdk.Runtime.ApiClient(config);
// Client ID and Client Secret will be used to perform client credentials flow prior to making the request.
// Bearer token will be appended to the Authorization header.
let api = new AvalaraSdk.Avatax.V2.UtilitiesApi(client);
const result = await api.ping();
- Type: OAuth
- Flow: device_code
- Scopes:
- avatax_api: avatax_api scope.
import * as AvalaraSdk from "avalara-sdk";
const configParams: Runtime.ConfigurationParameters = {
appName: "asv-sdk-test-app",
appVersion: "1.0",
environment: AvaTaxEnvironment.Sandbox,
machineName: "test-machine",
timeout: 3000,
clientId: "<YOUR AVALARA IDENTITY CLIENT ID>",
testBasePath: "https://localhost:3000",
};
const config = new AvalaraSdk.Runtime.Configuration(configParams);
// Pass in the scope (avatax_api in this instance), and the configuration object, clientID is a required property for the flow.
// Fetches the device code and verification url required for the user part of the flow (where they open the URI in their web browser and authenticate)
const response = await OAuthHelper.initiateDeviceAuthorizationFlow(
"avatax_api",
config
);
// User Interaction needs to happen here - some polling logic is needed to wait for offline user to authenticate to verification_uri through browser
// Once completed, bearer token will be returned.
const tokenResponse = await OAuthHelper.getAccessTokenForDeviceFlow(
response.deviceCode,
config
);
// Add bearer token into the configuration options.
configuration.bearerToken = tokenResponse.accessToken;
let client = new AvalaraSdk.Runtime.ApiClient(config);
// Provided bearer token will be appended to Authorization header for each request.
let api = new AvalaraSdk.Avatax.V2.UtilitiesApi(client);
const result = await api.ping();
Class | Method | HTTP request | Description |
---|---|---|---|
DataInputFieldsApi | getDataInputFields | GET /data-input-fields | Returns the mandatory and conditional invoice or creditnote input fields for different country mandates |
DocumentsApi | downloadDocument | GET /documents/{documentId}/$download | Returns a copy of the document |
DocumentsApi | getDocumentList | GET /documents | Returns a summary of documents for a date range |
DocumentsApi | getDocumentStatus | GET /document/{documentId}/status | Checks the status of a document |
DocumentsApi | submitDocument | POST /documents | Submits a document to Avalara E-Invoicing API |
MandatesApi | getMandates | GET /mandates | List country mandates that are supported by the Avalara E-Invoicing platform |
- EInvoicing.V1.BadDownloadRequest
- EInvoicing.V1.BadRequest
- EInvoicing.V1.ConditionalForField
- EInvoicing.V1.DataInputField
- EInvoicing.V1.DataInputFieldNotUsedFor
- EInvoicing.V1.DataInputFieldOptionalFor
- EInvoicing.V1.DataInputFieldRequiredFor
- EInvoicing.V1.DataInputFieldsResponse
- EInvoicing.V1.DocumentListResponse
- EInvoicing.V1.DocumentStatusResponse
- EInvoicing.V1.DocumentSubmissionError
- EInvoicing.V1.DocumentSubmitResponse
- EInvoicing.V1.DocumentSummary
- EInvoicing.V1.ForbiddenError
- EInvoicing.V1.InputDataFormats
- EInvoicing.V1.InternalServerError
- EInvoicing.V1.Mandate
- EInvoicing.V1.MandatesResponse
- EInvoicing.V1.NotFoundError
- EInvoicing.V1.NotUsedForField
- EInvoicing.V1.RequiredWhenField
- EInvoicing.V1.StatusEvent
- EInvoicing.V1.SubmitDocumentData
- EInvoicing.V1.SubmitDocumentMetadata
- EInvoicing.V1.WorkflowIds