@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
66 lines • 4.18 kB
TypeScript
import type { ShippingClient } from '../client';
import type { RatesRequestParams, RatesResponse } from '../schemas';
type ExecuteRequest = ShippingClient['executeRequest'];
/**
* Creates the rates resource methods
* OpenAPI Path: /rates → rates.*
* @description Shipping rate calculation endpoint for multi-carrier comparison
*/
export declare function createRatesResource(executeRequest: ExecuteRequest): {
/**
* Get comprehensive shipping rates from multiple carriers
*
* @fullPath api.shipping.rates.create
* @service shipping
* @domain shipping-and-logistics
* @dataMethod ratesData.create
* @discoverable true
* @searchTerms ["shipping rates", "calculate cost", "carrier comparison", "freight quotes", "delivery cost", "ups", "fedex", "usps", "dhl", "shipping options"]
* @relatedEndpoints ["api.logistics.speedship.freight.get", "api.commerce.cart.shipping.calculate", "api.orders.shipping.estimate", "api.customers.addresses.validate"]
* @commonPatterns ["Calculate shipping cost", "Compare carrier rates", "Get delivery options", "Estimate shipping", "Find cheapest option", "Get fastest delivery"]
* @workflow ["e-commerce-checkout", "order-fulfillment", "shipping-estimation", "cost-analysis", "carrier-selection", "delivery-planning"]
* @prerequisites ["Valid shipping addresses", "Package dimensions and weight", "Valid authentication token", "x-site-id header", "Carrier API access"]
* @nextSteps ["Select shipping option", "Create shipping label", "Track shipment", "Update order with shipping cost", "Process payment with shipping"]
* @businessRules ["Requires complete address information", "Package weight/dimensions mandatory", "Supports multiple packages", "Returns carrier-specific rates", "Includes all fees and surcharges"]
* @functionalArea "shipping-and-logistics"
* @crossSite "Supports multi-site shipping configurations and carrier accounts"
* @caching "Cache rates for 15 minutes, invalidate on address or package changes"
* @performance "Parallel carrier API calls, use response format to optimize data size, supports pagination for large results"
*
* @param params Comprehensive shipping rate request with origin, destination, and package details
* @returns Promise<RatesResponse> Complete shipping rates from multiple carriers with detailed analysis
*/
create: (params: RatesRequestParams) => Promise<RatesResponse>;
};
/**
* Creates the ratesData resource methods (data-only versions)
*/
export declare function createRatesDataResource(rates: ReturnType<typeof createRatesResource>): {
/**
* Get shipping rates data without full response metadata
*
* @fullPath api.shipping.ratesData.create
* @service shipping
* @domain shipping-and-logistics
* @dataMethod ratesData
* @discoverable true
* @searchTerms ["rates data", "shipping cost", "carrier quotes", "delivery prices", "freight data"]
* @relatedEndpoints ["api.shipping.rates.create", "api.logistics.speedship.freight.get"]
* @commonPatterns ["Get rates data", "Calculate shipping cost", "Compare carrier options"]
* @workflow ["e-commerce-checkout", "order-fulfillment", "shipping-estimation"]
* @prerequisites ["Valid shipping addresses", "Package details", "Valid authentication token"]
* @nextSteps ["Select shipping option", "Create shipping label", "Process payment"]
* @businessRules ["Returns only rates data", "No response metadata included", "Direct access to rate comparison"]
* @functionalArea "shipping-and-logistics"
* @caching "Cache rates for 15 minutes"
* @performance "Direct data access, optimal for rate comparisons and integrations"
*
* @param params Comprehensive shipping rate request parameters
* @returns Promise<RatesData> Direct shipping rates data without response wrapper
*/
create: (params: RatesRequestParams) => Promise<unknown>;
};
export type RatesResource = ReturnType<typeof createRatesResource>;
export type RatesDataResource = ReturnType<typeof createRatesDataResource>;
export {};
//# sourceMappingURL=rates.d.ts.map