UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

67 lines 3.13 kB
import { BaseServiceClient } from '../../core/base-client'; import { createHealthCheckResource, createHealthCheckDataResource, createRatesResource, createRatesDataResource, } from './resources'; /** * Avalara Tax Service Client * @description Client for interacting with Avalara tax calculation API endpoints for real-time tax rate computation and compliance * @fullPath api.avalara * @service avalara * @domain tax-calculation * @discoverable true * @searchTerms ["avalara", "tax calculation", "sales tax", "vat", "tax compliance", "tax rates", "e-commerce tax"] * @relatedEndpoints ["api.avalara.healthCheck.get", "api.avalara.rates.create", "api.commerce.orders.create", "api.commerce.cartHeaders.checkout"] * @commonPatterns ["Tax calculation", "Sales tax compliance", "E-commerce tax processing", "Multi-jurisdiction tax"] * @workflow ["e-commerce-checkout", "tax-compliance", "order-processing", "financial-reporting"] * @functionalArea "tax-and-compliance" * @businessRules ["Requires valid bearer authentication", "Real-time tax calculation", "Multi-jurisdiction support", "Compliance with local tax laws"] * @performance "Optimized for e-commerce checkout flows and bulk tax calculations" * @example * ```typescript * import { HTTPClient } from '@augur/api-client/core'; * import { AvalaraClient } from '@augur/api-client/services/avalara'; * * const http = new HTTPClient('avalara', { siteId: 'your-site-id', bearerToken: 'your-token' }); * const avalara = new AvalaraClient(http); * * // Check service health * const health = await avalara.healthCheck.get(); * const healthData = await avalara.healthCheckData.get(); * * // Calculate tax rates * const taxRequest = { * lines: [{ amount: 100.00, description: 'Widget' }], * addresses: { * shipTo: { * line1: '123 Main St', * city: 'Irvine', * region: 'CA', * country: 'US', * postalCode: '92602' * } * }, * type: 'SalesOrder' * }; * const taxResult = await avalara.rates.create(taxRequest); * const taxData = await avalara.ratesData.create(taxRequest); * ``` */ export class AvalaraClient extends BaseServiceClient { constructor(http, baseUrl) { super('avalara', http, baseUrl || 'https://avalara.augur-api.com'); // Bind executeRequest for resource factories const boundExecuteRequest = (config, params, pathParams) => { if (params !== undefined || config.paramsSchema !== undefined) { return this.executeRequest(config, params, pathParams); } return this.executeRequest(config, undefined, pathParams); }; // Initialize resources this.healthCheck = createHealthCheckResource(boundExecuteRequest); this.healthCheckData = createHealthCheckDataResource(this.healthCheck); this.rates = createRatesResource(boundExecuteRequest); this.ratesData = createRatesDataResource(this.rates); } getServiceDescription() { return 'Avalara tax calculation service for real-time tax rate computation and compliance'; } } //# sourceMappingURL=client.js.map