UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

70 lines 2.87 kB
import { PriceEngineParamsSchema, PriceEngineResponseSchema, } from '../schemas'; /** * Creates the priceEngine resource methods * OpenAPI Path: /price-engine → priceEngine.* * @description Pricing calculations and price determination */ export function createPriceEngineResource(executeRequest) { return { /** * Get item price using the price engine * @description Primary pricing endpoint for calculating item prices with sophisticated caching and compression * @fullPath api.pricing.priceEngine.get * @service pricing * @domain pricing-calculation * @dataMethod priceEngineData.get * @discoverable true * @searchTerms ["price engine", "item pricing", "price calculation", "get price"] * @relatedEndpoints ["api.pricing.taxEngine.create"] * @commonPatterns ["calculate item price", "get pricing", "price lookup"] * @param params Pricing parameters including customer ID, item ID, quantity, and other options * @returns Detailed pricing information including base price, unit price, discounts, and calculation details * @throws ValidationError When parameters are invalid or response is malformed * @example * ```typescript * const price = await client.priceEngine.get({ * customerId: 12345, * itemId: 'ABC123', * quantity: 10, * unitOfMeasure: 'EA', * shipToId: 456 * }); * * console.log('Unit Price:', price.unit_price); * console.log('Discount:', price.discount_percent); * console.log('Price Source:', price.price_source); * ``` */ get: async (params) => { return executeRequest({ method: 'GET', path: '/price-engine', paramsSchema: PriceEngineParamsSchema, responseSchema: PriceEngineResponseSchema, }, params); }, }; } /** * Creates the priceEngineData resource methods (data-only versions) */ export function createPriceEngineDataResource(priceEngine) { return { /** * Get item price data without response metadata * @fullPath api.pricing.priceEngineData.get * @service pricing * @domain pricing-calculation * @discoverable true * @searchTerms ["price engine data", "get price data", "pricing data"] * @relatedEndpoints ["api.pricing.priceEngine.get"] * @commonPatterns ["get price data", "price calculation data"] * @returns Promise<PriceEngineData> Price calculation data directly */ get: async (params) => { const response = await priceEngine.get(params); return response.data; }, }; } //# sourceMappingURL=price-engine.js.map