UNPKG

terminal-africa

Version:

## Introduction The Terminal Shipping API (TShip) provides a single interface for integrating shipping carriers within your applications. The API allows anyone to programatically get shipping rates and arrange pickup and delivery.

194 lines (193 loc) 8.71 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var terminal_africa_1 = __importDefault(require("../services/terminal_africa")); var Rate = /** @class */ (function () { function Rate() { } /** * Get Rates for Shipments - This allows you to fetch shipment rates on Terminal Africa * @param {string} queryParams * @param {string=} queryParams.currency * @param {string=} queryParams.delivery_address * @param {string=} queryParams.pickup_address * @param {string=} queryParams.parcel_id * @param {string=} queryParams.shipment_id * @param {boolean=} queryParams.cash_on_delivery * @param {string=} queryParams.carrier_id * @returns object * @method GET */ Rate.getShipmentRates = function (queryParams) { return __awaiter(this, void 0, void 0, function () { var resp, err_1; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4 /*yield*/, terminal_africa_1.default.get("/rates/shipment".concat(queryParams))]; case 1: resp = _a.sent(); return [2 /*return*/, resp.data]; case 2: err_1 = _a.sent(); return [2 /*return*/, err_1.response.data]; case 3: return [2 /*return*/]; } }); }); }; /** * Get Quotes for Shipment - This allows you to fetch quick quotes on Terminal Africa * @param {Object[]} quotesData * @param {object} quotesData.pickup_address * @param {object} quotesData.delivery_address * @param {parcel} quotesData.parcel * @param {string=} quotesData.carrier_id * @param {string=} quotesData.currency * @param {string=} quotesData.cash_on_delivery * @returns object * @method POST */ Rate.getQuotesForShipment = function (quotesData) { return __awaiter(this, void 0, void 0, function () { var resp, err_2; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4 /*yield*/, terminal_africa_1.default.post("/rates/shipment/quotes", quotesData)]; case 1: resp = _a.sent(); return [2 /*return*/, resp.data]; case 2: err_2 = _a.sent(); return [2 /*return*/, err_2.response.data]; case 3: return [2 /*return*/]; } }); }); }; /** * Get Rates for Multi-Piece Shipment- This allows you to fetch rates for multi-piece shipments on Terminal Africa * @param {Object[]} rateData * @param {string=} rateData.currency * @param {string=} rateData.delivery_address * @param {array} rateData.parcels * @param {string=} rateData.pickup_address * @param {string=} rateData.shipment_id * @returns object * @method POST */ Rate.getMultiPieceShipmentRates = function (rateData) { return __awaiter(this, void 0, void 0, function () { var resp, err_3; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4 /*yield*/, terminal_africa_1.default.post("/rates/multi/shipment", rateData)]; case 1: resp = _a.sent(); return [2 /*return*/, resp.data]; case 2: err_3 = _a.sent(); return [2 /*return*/, err_3.response.data]; case 3: return [2 /*return*/]; } }); }); }; /** * Get Rates- This allows you to fetch generated rates on Terminal Africa * @param {string} queryParams * @param {string=} queryParams.page * @param {string=} queryParams.perPage * @returns object * @method GET */ Rate.getRates = function (queryParams) { return __awaiter(this, void 0, void 0, function () { var resp, err_4; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4 /*yield*/, terminal_africa_1.default.get("/rates".concat(queryParams))]; case 1: resp = _a.sent(); return [2 /*return*/, resp.data]; case 2: err_4 = _a.sent(); return [2 /*return*/, err_4.response.data]; case 3: return [2 /*return*/]; } }); }); }; /** * Get Rate- This allows you to fetch a rate on Terminal Africa * @param {string} rateId * @returns object * @method GET */ Rate.getRate = function (rateId) { return __awaiter(this, void 0, void 0, function () { var resp, err_5; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4 /*yield*/, terminal_africa_1.default.get("/rates/".concat(rateId))]; case 1: resp = _a.sent(); return [2 /*return*/, resp.data]; case 2: err_5 = _a.sent(); return [2 /*return*/, err_5.response.data]; case 3: return [2 /*return*/]; } }); }); }; return Rate; }()); exports.default = Rate;