@shipengine/js-api
TypeScript icon, indicating that this package has built-in type declarations

1.9.0 • Public • Published

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
});

Readme

Keywords

none

Package Sidebar

Install

npm i @shipengine/js-api

Weekly Downloads

205

Version

1.9.0

License

none

Unpacked Size

1.52 MB

Total Files

89

Last publish

Collaborators

  • arjun.modi
  • christian.casado
  • lzhang
  • lukasz.parala
  • deeepawesome
  • akowalczyk
  • ddygas
  • pspringerauct
  • dangnguyen91
  • arapicki
  • prasadjoshi29
  • zjaholkowska
  • maciej_sabik_auctane
  • kdobrzynskiactn
  • bmusielak
  • mmilowska
  • bartoszzurawski
  • mspiaczka-auctane
  • maciej_adamek
  • marcin_karwat_auctane
  • krzysztof.malcher
  • auctome
  • sushithegreat
  • agustin.martin.auctane
  • brock.bouchard.auctane
  • auctane.joshua.semar
  • romofel
  • chunter-auctane
  • luxehahn
  • jeffrysparrow
  • uiuxdeveloper
  • ckroutterauctane
  • shipengine_it
  • kaseycantu-se
  • joshuaflanagan
  • anthonyshull
  • binkard-auctane
  • dlblom
  • rickyr
  • dbernazal
  • auc-rhibbeler
  • harris.butler