UNPKG

@simpleapps-com/augur-api

Version:

TypeScript client library for Augur microservices API endpoints

71 lines 3.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AvalaraClient = void 0; const base_client_1 = require("../../core/base-client"); const resources_1 = require("./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); * ``` */ class AvalaraClient extends base_client_1.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 = (0, resources_1.createHealthCheckResource)(boundExecuteRequest); this.healthCheckData = (0, resources_1.createHealthCheckDataResource)(this.healthCheck); this.rates = (0, resources_1.createRatesResource)(boundExecuteRequest); this.ratesData = (0, resources_1.createRatesDataResource)(this.rates); } getServiceDescription() { return 'Avalara tax calculation service for real-time tax rate computation and compliance'; } } exports.AvalaraClient = AvalaraClient; //# sourceMappingURL=client.js.map