@apihawk/billia-sdk v0.0.60
Billia SDK
Node.js SDK for easy interaction with the Billia REST API. The code is written in TypeScript and provides typings for all methods and data objects.
Installation
npm i @apihawk/billia-sdk
Requires Node.js version 10.0.0+
Usage
Import the BilliaSDK
constructor and create a new instance:
import { BilliaSDK } from '@apihawk/billia-sdk';
const billia = new BilliaSDK({
apiUrl: '<BILLIA API URL>',
clientId: '<YOUR CLIENT ID>',
clientSecret: '<YOUR CLIENT SECRET>'
});
const session = await billia.Authentication.authenticate(
'john.doe@example.com',
'my_password_123'
);
const orders = await billia.Orders.getOrders(session, {
page: 1,
page_size: 10
});
console.log(orders.items);
You can also use the SDK on the client (Angular/React/Vue etc.) to import Billia specific application data object types (interfaces) without including the actual implementation code. All types and interfaces are prefixed with I
and are in the /lib/types
namespace.
import { ICatalogProduct } from '@apihawk/billia-sdk/lib/types';
function showProductName(product: ICatalogProduct) {
console.log(`${product.name} (${product.module})`);
}
Contributing
Linking
- Go to the root of the project and run
npm link
. - Go to the root of the project importing this module and run
npm link @apihawk/billia-sdk
.
Build
You must compile the TypeScript source code into JavaScript. You can do this by running: npm run build
.
Test
Before you start the tests, make sure your code passes the linting rules set by TSLint:
npm run lint
You can execute the integration tests by running:
npm test
This will start the Jest test runner and each module will get tested in parallel.
It's important to always run the test suite before you contribute to this project and add tests for new features you implement. The tests are located in the src/__tests__
folder, the JSON API mocks are in the src/__mocksData__
while src/__mocks__
contains JS mock objects.
Hooks
There are pre-commit hooks which will:
- run the linter (TSLint)
- run the tests (Jest)
- run the code formatter on the staged files (Prettier)
If one of these fails, your changes won't be commited. You have to fix the errors and fix your code until the pre-commit hooks pass.
If for some reason the hooks do not work for you, please run npm rebuild
. This will re-initialize the Husky hooks.
Release (for project maintainers only)
Using GitLab's CI:
git checkout production
git pull origin production
npm version patch
(orminor
/major
)git push origin production --tags
Manual (not recommended)
npm version patch
(orminor
/major
)npm publish --access public
1 year ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago