https://github.com/atoms-studio/commercelayer-sdk
An opinionated CommerceLayer SDK built for quick delivery of e-commerce functionalities
https://github.com/atoms-studio/commercelayer-sdk
commercelayer sdk
Last synced: 2 months ago
JSON representation
An opinionated CommerceLayer SDK built for quick delivery of e-commerce functionalities
- Host: GitHub
- URL: https://github.com/atoms-studio/commercelayer-sdk
- Owner: atoms-studio
- License: mit
- Created: 2021-04-01T10:05:26.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2025-01-08T16:19:09.000Z (over 1 year ago)
- Last Synced: 2025-08-08T13:53:03.744Z (10 months ago)
- Topics: commercelayer, sdk
- Language: TypeScript
- Homepage: https://atoms-studio.github.io/commercelayer-sdk
- Size: 441 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Commercelayer SDK


[](https://github.com/atoms-studio/commercelayer-sdk/actions)
[](https://codecov.io/gh/atoms-studio/commercelayer-sdk)
A lightweight, opinionated CommerceLayer SDK built for fast delivery of e-commerce functionalities.
## Docs
[Go to the documentation website](https://atoms-studio.github.io/commercelayer-sdk)
### Why
The official CommerceLayer SDK is a great multi-purpose library, however we realized that it was missing a few functionalities that we had to reimplement in every project we worked on.
This library aims to speed development up by creating a thinner and easier interface with the CommerceLayer API and provide utilities to deal with the most common scenerios.
### Features
#### Strongly typed
All supported resources are strongly typed and provide code autocompletion for attributes and relationships, decreasing time spent reading the CommerceLayer API documentation.
#### Automatic token refresh
Combining Authentication and Resource API into a single library allows for automatic refresh of tokens when a request fails due to an expired token.
#### Token caching
Tokens are cached by their scope and expiration date, avoiding rate limiting errors when generating static pages or making a lot of concurrent requests.
#### Seamless multi-market switching
Switch between multiple markets and automatically create new auth tokens for that market.
## Installation
```bash
npm i @atoms-studio/commercelayer-sdk
```
```bash
yarn add @atoms-studio/commercelayer-sdk
```
## Quick start
```ts
import { init, Auth, Orders, Skus } from '@atoms-studio/commercelayer-sdk'
init({
host: 'https://.commercelayer.io',
clientId: '',
})
await Auth.setMarket(1234)
const order = await Orders.create()
const sku = await Skus.findBy({
code: '12345678',
include: ['prices'],
})
await LineItems.create({
attributes: {
sku_code: sku.code,
quantity: 1,
},
relationships: {
order
}
})
```
## License
[MIT](/LICENSE)