UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

131 lines 5.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createShipviaResource = createShipviaResource; exports.createShipviaDataResource = createShipviaDataResource; const schemas_1 = require("../schemas"); /** * Creates the shipvia resource methods * OpenAPI Path: /shipvia/* → shipvia.* * @description ShipVia shipping rate endpoints for standard and LTL freight */ function createShipviaResource(executeRequest) { return { rates: { /** * Get shipping rates from available carriers * * @fullPath api.logistics.shipvia.rates.list * @service logistics * @domain shipping-rates * @dataMethod shipviaData.rates.list * @discoverable true * @searchTerms ["shipping", "rates", "carriers", "shipvia", "freight", "delivery", "cost"] * @relatedEndpoints ["api.logistics.shipvia.rates.ltl.list", "api.logistics.speedship.freight.get"] * @commonPatterns ["Get shipping rates", "Compare carriers", "Calculate shipping costs"] * @workflow ["order-fulfillment", "shipping-calculation", "carrier-selection"] * @prerequisites ["Valid postal codes", "Weight and dimensions", "Location ID"] * @nextSteps ["Select carrier", "Create shipment", "Generate label"] * @businessRules ["Requires valid origin and destination postal codes", "Weight must be positive"] * @functionalArea "shipping-and-fulfillment" * * @param params Shipping rate request parameters * @returns Promise<ShipviaRatesResponse> Available shipping rates from carriers * * @example * ```typescript * const rates = await client.shipvia.rates.list({ * fromPostalCode: '90210', * toPostalCode: '10001', * totalWeight: 10, * weightUnit: 'LB', * locationId: 1 * }); * console.log(rates.data); // Array of carrier rates * ``` */ list: async (params) => { return executeRequest({ method: 'GET', path: '/shipvia/rates', paramsSchema: schemas_1.ShipviaRatesParamsSchema, responseSchema: schemas_1.ShipviaRatesResponseSchema, }, params); }, ltl: { /** * Get LTL (Less Than Truckload) freight rates * * @fullPath api.logistics.shipvia.rates.ltl.list * @service logistics * @domain ltl-freight * @dataMethod shipviaData.rates.ltl.list * @discoverable true * @searchTerms ["ltl", "freight", "truckload", "rates", "shipping", "commodity"] * @relatedEndpoints ["api.logistics.shipvia.rates.list", "api.logistics.speedship.freight.get"] * @commonPatterns ["Get LTL rates", "Freight quotes", "Heavy shipping"] * @workflow ["freight-shipping", "ltl-fulfillment", "carrier-selection"] * @prerequisites ["Valid postal codes", "Commodity class", "Packaging type"] * @nextSteps ["Select LTL carrier", "Book freight", "Schedule pickup"] * @businessRules ["Requires commodity class and description", "Packaging type required for LTL"] * @functionalArea "freight-shipping" * * @param params LTL rate request parameters including commodity details * @returns Promise<ShipviaRatesLtlResponse> Available LTL freight rates * * @example * ```typescript * const ltlRates = await client.shipvia.rates.ltl.list({ * fromPostalCode: '90210', * toPostalCode: '10001', * totalWeight: 500, * weightUnit: 'LB', * locationId: 1, * commodityClass: '70', * commodityDescription: 'General freight', * packagingType: 'PALLET' * }); * console.log(ltlRates.data); // Array of LTL carrier rates * ``` */ list: async (params) => { return executeRequest({ method: 'GET', path: '/shipvia/rates/ltl', paramsSchema: schemas_1.ShipviaRatesLtlParamsSchema, responseSchema: schemas_1.ShipviaRatesLtlResponseSchema, }, params); }, }, }, }; } /** * Creates the shipviaData resource methods (data-only versions) */ function createShipviaDataResource(shipvia) { return { rates: { /** * Get shipping rates data only * @param params Shipping rate request parameters * @returns Promise<ShipviaRatesData> Shipping rate data array */ list: async (params) => { const response = await shipvia.rates.list(params); return response.data; }, ltl: { /** * Get LTL freight rates data only * @param params LTL rate request parameters * @returns Promise<ShipviaRatesData> LTL rate data array */ list: async (params) => { const response = await shipvia.rates.ltl.list(params); return response.data; }, }, }, }; } //# sourceMappingURL=shipvia.js.map