@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
176 lines • 9.68 kB
TypeScript
import { ShipviaRatesParams, ShipviaRatesData, ShipviaRatesLtlParams } from '../schemas';
import type { LogisticsClient } from '../client';
type ExecuteRequest = LogisticsClient['executeRequest'];
/**
* Creates the shipvia resource methods
* OpenAPI Path: /shipvia/* → shipvia.*
* @description ShipVia shipping rate endpoints for standard and LTL freight
*/
export declare function createShipviaResource(executeRequest: ExecuteRequest): {
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: (params: ShipviaRatesParams) => Promise<{
params: Record<string, unknown> | unknown[];
data: import("zod").objectInputType<{
carrier: import("zod").ZodOptional<import("zod").ZodString>;
carrierCode: import("zod").ZodOptional<import("zod").ZodString>;
carrierName: import("zod").ZodOptional<import("zod").ZodString>;
service: import("zod").ZodOptional<import("zod").ZodString>;
serviceCode: import("zod").ZodOptional<import("zod").ZodString>;
serviceName: import("zod").ZodOptional<import("zod").ZodString>;
shipViaId: import("zod").ZodOptional<import("zod").ZodNumber>;
rate: import("zod").ZodOptional<import("zod").ZodNumber>;
baseRate: import("zod").ZodOptional<import("zod").ZodNumber>;
totalRate: import("zod").ZodOptional<import("zod").ZodNumber>;
discountedRate: import("zod").ZodOptional<import("zod").ZodNumber>;
currency: import("zod").ZodOptional<import("zod").ZodString>;
fuelSurcharge: import("zod").ZodOptional<import("zod").ZodNumber>;
accessorialCharges: import("zod").ZodOptional<import("zod").ZodNumber>;
handlingFee: import("zod").ZodOptional<import("zod").ZodNumber>;
transitTime: import("zod").ZodOptional<import("zod").ZodString>;
transitDays: import("zod").ZodOptional<import("zod").ZodNumber>;
deliveryDate: import("zod").ZodOptional<import("zod").ZodString>;
estimatedDelivery: import("zod").ZodOptional<import("zod").ZodString>;
zone: import("zod").ZodOptional<import("zod").ZodString>;
originZip: import("zod").ZodOptional<import("zod").ZodString>;
destinationZip: import("zod").ZodOptional<import("zod").ZodString>;
commodityClass: import("zod").ZodOptional<import("zod").ZodString>;
guaranteed: import("zod").ZodOptional<import("zod").ZodBoolean>;
}, import("zod").ZodTypeAny, "passthrough">[];
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
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: (params: ShipviaRatesLtlParams) => Promise<{
params: Record<string, unknown> | unknown[];
data: import("zod").objectInputType<{
carrier: import("zod").ZodOptional<import("zod").ZodString>;
carrierCode: import("zod").ZodOptional<import("zod").ZodString>;
carrierName: import("zod").ZodOptional<import("zod").ZodString>;
service: import("zod").ZodOptional<import("zod").ZodString>;
serviceCode: import("zod").ZodOptional<import("zod").ZodString>;
serviceName: import("zod").ZodOptional<import("zod").ZodString>;
shipViaId: import("zod").ZodOptional<import("zod").ZodNumber>;
rate: import("zod").ZodOptional<import("zod").ZodNumber>;
baseRate: import("zod").ZodOptional<import("zod").ZodNumber>;
totalRate: import("zod").ZodOptional<import("zod").ZodNumber>;
discountedRate: import("zod").ZodOptional<import("zod").ZodNumber>;
currency: import("zod").ZodOptional<import("zod").ZodString>;
fuelSurcharge: import("zod").ZodOptional<import("zod").ZodNumber>;
accessorialCharges: import("zod").ZodOptional<import("zod").ZodNumber>;
handlingFee: import("zod").ZodOptional<import("zod").ZodNumber>;
transitTime: import("zod").ZodOptional<import("zod").ZodString>;
transitDays: import("zod").ZodOptional<import("zod").ZodNumber>;
deliveryDate: import("zod").ZodOptional<import("zod").ZodString>;
estimatedDelivery: import("zod").ZodOptional<import("zod").ZodString>;
zone: import("zod").ZodOptional<import("zod").ZodString>;
originZip: import("zod").ZodOptional<import("zod").ZodString>;
destinationZip: import("zod").ZodOptional<import("zod").ZodString>;
commodityClass: import("zod").ZodOptional<import("zod").ZodString>;
guaranteed: import("zod").ZodOptional<import("zod").ZodBoolean>;
}, import("zod").ZodTypeAny, "passthrough">[];
options: Record<string, unknown> | unknown[];
status: number;
message: string;
count: number;
total: number;
totalResults: number;
}>;
};
};
};
/**
* Creates the shipviaData resource methods (data-only versions)
*/
export declare function createShipviaDataResource(shipvia: ReturnType<typeof createShipviaResource>): {
rates: {
/**
* Get shipping rates data only
* @param params Shipping rate request parameters
* @returns Promise<ShipviaRatesData> Shipping rate data array
*/
list: (params: ShipviaRatesParams) => Promise<ShipviaRatesData>;
ltl: {
/**
* Get LTL freight rates data only
* @param params LTL rate request parameters
* @returns Promise<ShipviaRatesData> LTL rate data array
*/
list: (params: ShipviaRatesLtlParams) => Promise<ShipviaRatesData>;
};
};
};
export type ShipviaResource = ReturnType<typeof createShipviaResource>;
export type ShipviaDataResource = ReturnType<typeof createShipviaDataResource>;
export {};
//# sourceMappingURL=shipvia.d.ts.map