@shipengine/js-api
v3.0.0
Published
The `shipengine/js-api` library instantiates a batteries-included, vanilla JavaScript client for interacting with the [ShipEngine API](https://shipengine.github.io/shipengine-openapi/). The client provides a set of fully-typed methods that map directly to
Downloads
471
Maintainers
Keywords
Readme
ShipEngine JS Api
The shipengine/js-api
library instantiates a batteries-included, vanilla JavaScript client for interacting with the ShipEngine API. The client provides a set of fully-typed methods that map directly to ShipEngine API operations[^1], bound to a user specified via platform token.
Features:
- Converts all outbound JSON keys to
snake_case
for consumption by the ShipEngine API. - Converts all inbound JSON keys to
camelCase
for use in JS. - Attempts to refresh expired tokens on
401 Unauthorized
responses, followed by retrying the original request. - Logs all requests and responses to the console.
In addition to the client, the shipengine/js-api
lib provides TypeScript types for all ShipEngine API entities.
Basic Usage
import { ShipEngineAPI } from "@shipengine/js-api";
const client = new ShipEngineAPI("your-platform-token", {
// Used when attempting to refresh the token on 401 responses
getToken: async () => {
return "your-platform-token";
},
});
client.shipments.list().then((response) => {
console.log(response.data);
// > an object matching the response schema of https://shipengine.github.io/shipengine-openapi/#operation/list_shipments
});