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 |
|
8 | Postmen types for third-party use
|
9 |
|
10 | ## Installing
|
11 |
|
12 | Using npm:
|
13 |
|
14 | ```bash
|
15 | $ npm install postmen-ts
|
16 | ```
|
17 |
|
18 | ## Example Usage
|
19 |
|
20 | ```ts
|
21 |
|
22 | import { CalculateRatesRequest, CalculateRatesResponse, Common, ShipperAccount, Shipment } from "postmen-ts";
|
23 | import axios, { AxiosError, AxiosInstance, AxiosResponse } from 'axios';
|
24 |
|
25 | public 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 |