@emilgroup/customer-sdk-node v1.26.0
Emil Customer SDK for Nodejs
This TypeScript/JavaScript client utilizes axios. The generated Node module can be used with Nodejs based applications.
Language level
- ES5 - you must have a Promises/A+ library installed
- ES6
Module system
- CommonJS
- ES6 module system
Although this package can be used in both TypeScript and JavaScript, it is intended to be used with TypeScript. The definition should be automatically resolved via package.json
. (Reference)
Consuming
Navigate to the folder of your consuming project and run one of the following commands:
npm install @emilgroup/customer-sdk-node@1.26.0 --save
or
yarn add @emilgroup/customer-sdk-node@1.26.0
And then you can import CustomersApi
.
import { CustomersApi } from '@emilgroup/customer-sdk-node'
const customersApi = new CustomersApi();
Credentials
To use authentication protected endpoints, you have to first authorize. To do so, the easiest way is to provide a configuration file under ~/.emil/credentials
with the following content:
emil_username=XXXXX@XXXX.XXX
emil_password=XXXXXXXXXXXXXX
It is also possible to provide environment variables instead:
export EMIL_USERNAME=XXXXX@XXXX.XXX
export EMIL_PASSWORD=XXXXXXXXXXXXXX
Example
Here is a basic functionning example:
async function listCustomers(): Promise<Void> {
try {
const customersApi = new CustomersApi();
await customersApi.initialize(); // should be called only once per Api.
const { data: { items } } = await customersApi.listCustomers();
console.log(items);
} catch(error) {
// process error
}
}
Migration notes
Migration 1.10.x > 1.11.x
- Some components of CustomersApi have been extracted to:
- AuthenticationApi includes : initiate, respond, refresh-token, and rest/verify/forget password of a customer functionality
- InvitesApi includes: invite by customer/tenant, verify and register a customer functionality.
- InvoicesApi includes: list invoices functionality.
- DocumentsApi includes: list documents, upload documents and Get a presigned download url for document.
- PaymentsApi includes: initiate/complete payment setup
import { InvoicesApi } from '@emilgroup/customer-sdk'
// First, call initiateAuthorization to get challenge information
try {
const response = await apiAuthCustomer.initiateAuthorization("username", "password", "tenantSlug");
} catch(error) {
// process error
}
// after receiving the SMS, call the respondToAuthorizationChallenge method
try {
const response = await apiAuthCustomer.respondToAuthorizationChallenge({
challengeResponses: {
"USERNAME": username,
"SMS_MFA_CODE": smsCode,
},
challengeName,
tenantSlug,
session,
});
// Customer is now logged in with customersApi and refresh-token will automatically be called.
} catch(error) {
// process error
}
List invoices
//After login
const invoiceApi = new InvoicesApi();
try {
const listInvoices = await invoiceApi.listInvoices({customerCode: "me"});
if ( isMounted ) {
const { data: { items } } = listInvoices;
}
} catch ( error ) {
// process error
}
1 month ago
2 months ago
2 months ago
2 months ago
3 months ago
3 months ago
3 months ago
4 months ago
5 months ago
11 months ago
7 months ago
8 months ago
9 months ago
10 months ago
6 months ago
12 months ago
12 months ago
1 year ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago