UNPKG

1.55 kBMarkdownView Raw
1# postmen-ts
2
3[![npm version](https://img.shields.io/npm/v/postmen-ts.svg?style=flat-square)](https://www.npmjs.org/package/postmen-ts)
4[![install size](https://packagephobia.now.sh/badge?p=postmen-ts)](https://packagephobia.now.sh/result?p=postmen-ts)
5[![npm downloads](https://img.shields.io/npm/dm/postmen-ts.svg?style=flat-square)](http://npm-stat.com/charts.html?package=postmen-ts)
6
7
8Postmen types for third-party use
9
10## Installing
11
12Using npm:
13
14```bash
15$ npm install postmen-ts
16```
17
18## Example Usage
19
20```ts
21
22import { CalculateRatesRequest, CalculateRatesResponse, Common, ShipperAccount, Shipment } from "postmen-ts";
23import axios, { AxiosError, AxiosInstance, AxiosResponse } from 'axios';
24
25public Rate(shipment: any) {
26 return new Promise<any> ((resolve, reject) => {
27 const CalculateRatesRequest = {} as CalculateRatesRequest;
28 CalculateRatesRequest.async = false;
29 CalculateRatesRequest.is_document = false;
30 CalculateRatesRequest.ship_date = new Date().toISOString().slice(0, 10);
31 CalculateRatesRequest.shipment = this._mapShipment(shipment) as Shipment;
32 CalculateRatesRequest.shipper_accounts = this._getShipperAccounts() as ShipperAccount[];
33
34 this.axios.post(Common.Endpoint.Rates, CalculateRatesRequest)
35 .then((response: AxiosResponse) => {
36 const calculateRateResponse = response.data?.data as CalculateRatesResponse;
37 resolve(calculateRateResponse);
38 })
39 .catch((error: any) => {
40 reject(error);
41 });
42 });
43}
44```
\No newline at end of file