japanpost-api
Version:
Japan Post Servive API client
51 lines • 1.99 kB
TypeScript
import { TokenRequest } from "./request/TokenRequest";
import { TokenResponse } from "./response/TokenResponse";
import { SearchcodeResponse } from "./response/SearchcodeResponse";
import { SearchcodeRequest } from "./request/SearchcodeRequest";
import { AddresszipRequest } from "./request/AddresszipRequest";
import { AddresszipResponse } from "./response/AddresszipResponse";
import { RetryOptions, CircuitBreakerOptions } from "./retry";
export interface JapanPostTokenInitOptions {
client_id: string;
secret_key: string;
}
export interface JapanPostAPIOptions {
baseUrl?: string;
autoTokenRefresh?: boolean;
/** Retry configuration */
retryOptions?: RetryOptions;
/** Circuit breaker configuration */
circuitBreakerOptions?: CircuitBreakerOptions;
/** Whether to enable validation (default: true) */
enableValidation?: boolean;
}
type TokenInit = string | JapanPostTokenInitOptions;
export declare class JapanPostAPI {
#private;
constructor(tokenInit: TokenInit, options?: JapanPostAPIOptions);
initToken(options?: JapanPostTokenInitOptions): Promise<void>;
setToken(token: string): void;
tokenExpired(): boolean;
token(request?: TokenRequest): Promise<TokenResponse>;
searchcode(request: SearchcodeRequest): Promise<SearchcodeResponse>;
searchcodeAll(request: SearchcodeRequest): AsyncGenerator<SearchcodeResponse, void, unknown>;
addresszip(request: AddresszipRequest): Promise<AddresszipResponse>;
addresszipAll(request: AddresszipRequest): AsyncGenerator<AddresszipResponse, void, unknown>;
/**
* Update retry configuration
*/
updateRetryOptions(options: RetryOptions): void;
/**
* Get circuit breaker state
*/
getCircuitBreakerState(): {
state: import("./retry").CircuitBreakerState;
failureCount: number;
};
/**
* Reset circuit breaker
*/
resetCircuitBreaker(): void;
}
export {};
//# sourceMappingURL=JapanPostAPI.d.ts.map