woocommerce-rest-ts-api
Version:
WooCommerce REST API - Type Script Library
43 lines • 3.71 kB
TypeScript
import type { AxiosRequestConfig } from "axios";
import OAuth from "oauth-1.0a";
import type { WooRestApiMethod, IWooRestApiOptions, WooRestApiEndpoint, OrdersMainParams, ProductsMainParams, SystemStatusParams, CouponsParams, CustomersParams, DELETE, Orders, Products, Customers, Coupons, SystemStatus, WooCommerceApiResponse } from "./types/index.js";
import { type RetryStrategy } from "./http/RetryStrategy.js";
import { type Throttler } from "./http/Throttler.js";
export type { WooRestApiMethod, IWooRestApiQuery, IWooRestApiOptions, WooRestApiEndpoint, OrdersMainParams, ProductsMainParams, SystemStatusParams, CouponsParams, CustomersParams, DELETE, Orders, Products, Customers, Coupons, SystemStatus, WooCommerceApiResponse, } from "./types/index.js";
export { WooCommerceApiError, AuthenticationError, OptionsException } from "./types/index.js";
export type WooRestApiOptions = IWooRestApiOptions<AxiosRequestConfig>;
export type WooRestApiParams = CouponsParams & CustomersParams & OrdersMainParams & ProductsMainParams & SystemStatusParams & DELETE;
export default class WooCommerceRestApi<T extends WooRestApiOptions> {
protected _opt: T;
protected _throttler: Throttler;
protected _retryStrategy: RetryStrategy;
constructor(opt: T);
_setDefaultsOptions(opt: T): void;
protected createThrottler(max?: number): Throttler;
protected createRetryStrategy(cfg?: IWooRestApiOptions["retryConfig"]): RetryStrategy;
private _acquireSlot;
private _releaseSlot;
private _executeWithRetry;
_normalizeQueryString(url: string, params: Partial<Record<string, any>>): string;
_getUrl(endpoint: string, params: Partial<Record<string, unknown>>): string;
_getOAuth(): OAuth;
_request(method: WooRestApiMethod, endpoint: string, data?: Record<string, unknown>, params?: Record<string, unknown>): Promise<import("axios").AxiosResponse>;
get<T = unknown>(endpoint: WooRestApiEndpoint, params?: Partial<WooRestApiParams>): Promise<WooCommerceApiResponse<T>>;
post<T = unknown>(endpoint: WooRestApiEndpoint, data: Record<string, unknown>, params?: Partial<WooRestApiParams>): Promise<WooCommerceApiResponse<T>>;
put<T = unknown>(endpoint: WooRestApiEndpoint, data: Record<string, unknown>, params?: Partial<WooRestApiParams>): Promise<WooCommerceApiResponse<T>>;
delete<T = unknown>(endpoint: WooRestApiEndpoint, data: Pick<WooRestApiParams, "force">, params: Pick<WooRestApiParams, "id">): Promise<WooCommerceApiResponse<T>>;
options<T = unknown>(endpoint: WooRestApiEndpoint, params?: Partial<WooRestApiParams>): Promise<WooCommerceApiResponse<T>>;
getProducts(params?: Record<string, unknown>): Promise<WooCommerceApiResponse<Products[]>>;
getProduct(id: number): Promise<WooCommerceApiResponse<Products>>;
createProduct(productData: Partial<Products>): Promise<WooCommerceApiResponse<Products>>;
updateProduct(id: number, productData: Partial<Products>): Promise<WooCommerceApiResponse<Products>>;
getOrders(params?: Record<string, unknown>): Promise<WooCommerceApiResponse<Orders[]>>;
getOrder(id: number): Promise<WooCommerceApiResponse<Orders>>;
createOrder(orderData: Partial<Orders>): Promise<WooCommerceApiResponse<Orders>>;
getCustomers(params?: Partial<CustomersParams>): Promise<WooCommerceApiResponse<Customers[]>>;
getCustomer(id: number): Promise<WooCommerceApiResponse<Customers>>;
getCoupons(params?: Partial<CouponsParams>): Promise<WooCommerceApiResponse<Coupons[]>>;
getSystemStatus(): Promise<WooCommerceApiResponse<SystemStatus>>;
}
export { parsePaginationHeaders, collectAllPages, type PaginationInfo } from "./utils/PaginationHelper.js";
//# sourceMappingURL=index.d.ts.map