UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

64 lines 3.24 kB
import { BaseServiceClient } from '../../core/base-client'; import { createHealthCheckResource, createHealthCheckDataResource, createPriceEngineResource, createPriceEngineDataResource, createTaxEngineResource, createTaxEngineDataResource, createJobPriceHdrResource, createJobPriceHdrDataResource, createPingResource, createPingDataResource, } from './resources'; /** * Pricing API Client * @description Client for interacting with Pricing microservice API endpoints for pricing calculations, tax computation, and job-based pricing management * @service pricing * @domain pricing-management * @discoverable true * @searchTerms ["pricing", "tax", "job pricing", "price engine", "tax engine", "price calculation", "tax calculation"] * @example * ```typescript * import { HTTPClient } from '@augur/api-client/core'; * import { PricingClient } from '@augur/api-client/services/pricing'; * * const http = new HTTPClient('pricing', { siteId: 'your-site-id', bearerToken: 'your-token' }); * const pricing = new PricingClient(http); * * // Get item price * const price = await pricing.priceEngine.get({ customerId: 12345, itemId: 'ABC123', quantity: 10 }); * * // Calculate tax * const tax = await pricing.taxEngine.create({ * customer_id: 12345, * postal_code: '12345', * items: [{ item_id: 'ABC123', quantity: 2, unit_price: 25.99, extended_amount: 51.98 }], * ship_to_address: { street: '123 Main St', city: 'Anytown', state: 'NY', postal_code: '12345' } * }); * * // List job price headers * const jobHeaders = await pricing.jobPriceHdr.list({ limit: 25, q: 'contract' }); * * // Get specific job price line * const jobLine = await pricing.jobPriceHdr.lines.get(12345, 67890); * ``` */ export class PricingClient extends BaseServiceClient { /** * Create a new PricingClient instance * @param http Configured HTTPClient instance * @param baseUrl Base URL for the Pricing API (default: https://pricing.augur-api.com) */ constructor(http, baseUrl = 'https://pricing.augur-api.com') { super('pricing', http, baseUrl); // Bind executeRequest for resource factories const boundExecuteRequest = (config, params, pathParams) => { return this.executeRequest(config, params, pathParams); }; // Initialize resources this.healthCheck = createHealthCheckResource(boundExecuteRequest); this.healthCheckData = createHealthCheckDataResource(this.healthCheck); this.priceEngine = createPriceEngineResource(boundExecuteRequest); this.priceEngineData = createPriceEngineDataResource(this.priceEngine); this.taxEngine = createTaxEngineResource(boundExecuteRequest); this.taxEngineData = createTaxEngineDataResource(this.taxEngine); this.jobPriceHdr = createJobPriceHdrResource(boundExecuteRequest); this.jobPriceHdrData = createJobPriceHdrDataResource(this.jobPriceHdr); this.ping = createPingResource(boundExecuteRequest); this.pingData = createPingDataResource(this.ping); } getServiceDescription() { return 'Pricing service for price calculations, tax computation, and job-based pricing management'; } } //# sourceMappingURL=client.js.map