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.

331 lines (330 loc) 14.3 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() { } /** * Create Shipment - This allows you to create a shipment on Terminal Africa * @param {Object[]} shipmentData * @param {string} shipmentData[].address_from * @param {string} shipmentData[].address_to * @param {string=} shipmentData[].address_to * @param {string=} shipmentData[].metadata * @param {string=} shipmentData[].parcel * @param {array} shipmentData[].parcels * @param {string} shipmentData[].shipment_purpose * @param {string} shipmentData[].shipment_type * @returns object * @method POST */ Rate.createShipment = function (shipmentData) { 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.post("/shipments", shipmentData)]; 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*/]; } }); }); }; /** * Create Quick Shipment - This allows you to create a quick shipment on Terminal Africa * @param {Object[]} shipmentData * @param {object} shipmentData[].pickup_address * @param {object} shipmentData[].delivery_address * @param {object} shipmentData[].parcel * @param {string=} shipmentData[].metadata * @param {string} shipmentData[].shipment_purpose * @param {string} shipmentData[].shipment_type * @returns object * @method POST */ Rate.createQuickShipment = function (shipmentData) { 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("/shipments/quick", shipmentData)]; 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*/]; } }); }); }; /** * Update Shipment - This allows you to update an existing shipment on Terminal Africa * @param {string} shipmentId * @param {Object[]} shipmentData * @param {string} shipmentData[].address_from * @param {string} shipmentData[].address_to * @param {string=} shipmentData[].address_to * @param {string=} shipmentData[].metadata * @param {string=} shipmentData[].parcel * @param {array} shipmentData[].parcels * @param {string} shipmentData[].shipment_purpose * @param {string} shipmentData[].shipment_type * @returns object * @method PUT */ Rate.updateShipment = function (shipmentId, shipmentData) { 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.put("/shipments/".concat(shipmentId), shipmentData)]; 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 Shipments- This allows you to fetch shipments on Terminal Africa * @param {string} queryParams * @param {string=} queryParams.page * @param {string=} queryParams.perPage * @param {string=} queryParams.populate * @param {string=} queryParams.status * @returns object * @method GET */ Rate.getShipments = 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("/shipments".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 Shipment- This allows you to fetch a shipment on Terminal Africa * @param {string} shipmentId * @returns object * @method GET */ Rate.getShipment = function (shipmentId) { 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("/shipments/".concat(shipmentId))]; 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*/]; } }); }); }; /** * Track Shipment- This allows you to track a shipment on Terminal Africa * @param {string} shipmentId * @returns object * @method GET */ Rate.trackShipment = function (shipmentId) { return __awaiter(this, void 0, void 0, function () { var resp, err_6; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4 /*yield*/, terminal_africa_1.default.get("/shipments/track/".concat(shipmentId))]; case 1: resp = _a.sent(); return [2 /*return*/, resp.data]; case 2: err_6 = _a.sent(); return [2 /*return*/, err_6.response.data]; case 3: return [2 /*return*/]; } }); }); }; /** * Cancel Shipment - This allows you to cancel an existing shipment on Terminal Africa * @param {string} shipmentId * @returns object * @method POST */ Rate.cancelShipment = function (shipmentId) { return __awaiter(this, void 0, void 0, function () { var resp, err_7; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4 /*yield*/, terminal_africa_1.default.post("/shipments/cancel", { shipment_id: shipmentId })]; case 1: resp = _a.sent(); return [2 /*return*/, resp.data]; case 2: err_7 = _a.sent(); return [2 /*return*/, err_7.response.data]; case 3: return [2 /*return*/]; } }); }); }; /** * Delete Shipment - This allows you to delete an existing shipment on Terminal Africa * @param {string} shipmentId * @returns object * @method DELETE */ Rate.deleteShipment = function (shipmentId) { return __awaiter(this, void 0, void 0, function () { var resp, err_8; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4 /*yield*/, terminal_africa_1.default.delete("/shipments", { data: { shipment_id: shipmentId } })]; case 1: resp = _a.sent(); return [2 /*return*/, resp.data]; case 2: err_8 = _a.sent(); return [2 /*return*/, err_8.response.data]; case 3: return [2 /*return*/]; } }); }); }; /** * Duplicate Shipment - This allows you to duplicate an existing shipment on Terminal Africa * @param {string} shipmentId * @returns object * @method POST */ Rate.duplicateShipment = function (shipmentId) { return __awaiter(this, void 0, void 0, function () { var resp, err_9; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4 /*yield*/, terminal_africa_1.default.post("/shipments/duplicate", { shipment_id: shipmentId })]; case 1: resp = _a.sent(); return [2 /*return*/, resp.data]; case 2: err_9 = _a.sent(); return [2 /*return*/, err_9.response.data]; case 3: return [2 /*return*/]; } }); }); }; /** * Arrange Pickup & Delivery - This allows you to arrange a pickup for delivery on Terminal Africa * @param {Object[]} shipmentData * @param {string} shipmentData[].rate_id * @param {string=} shipmentData[].shipment_id * @param {boolean=} shipmentData[].purchase_insurance * @param {int=} shipmentData[].cash_to_collect * @param {string} shipmentData[].shipment_purpose * @returns object * @method POST */ Rate.arrangePickup = function (shipmentData) { return __awaiter(this, void 0, void 0, function () { var resp, err_10; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4 /*yield*/, terminal_africa_1.default.post("/shipments/pickup", shipmentData)]; case 1: resp = _a.sent(); return [2 /*return*/, resp.data]; case 2: err_10 = _a.sent(); return [2 /*return*/, err_10.response.data]; case 3: return [2 /*return*/]; } }); }); }; return Rate; }()); exports.default = Rate;