@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
60 lines • 2.7 kB
TypeScript
import { BaseServiceClient } from '../../core/base-client';
import type { HTTPClient } from '../../core/client';
import { type HealthCheckResource, type HealthCheckDataResource, type RatesResource, type RatesDataResource } 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 declare class AvalaraClient extends BaseServiceClient {
/** Health check resource */
readonly healthCheck: HealthCheckResource;
/** Health check data resource (data-only) */
readonly healthCheckData: HealthCheckDataResource;
/** Tax rates resource */
readonly rates: RatesResource;
/** Tax rates data resource (data-only) */
readonly ratesData: RatesDataResource;
constructor(http: HTTPClient, baseUrl?: string);
protected getServiceDescription(): string;
}
//# sourceMappingURL=client.d.ts.map