woocommerce-rest-ts-api
Version:
WooCommerce REST API - Type Script Library
52 lines • 3.62 kB
TypeScript
import { AxiosRequestConfig } from "axios";
import OAuth from "oauth-1.0a";
import { WooRestApiMethod, IWooRestApiOptions, WooRestApiEndpoint, OrdersMainParams, ProductsMainParams, SystemStatusParams, CouponsParams, CustomersParams, DELETE, Orders, Products, Customers, Coupons, SystemStatus } from "./typesANDinterfaces.js";
export { WooRestApiMethod, IWooRestApiQuery, IWooRestApiOptions, WooRestApiEndpoint, OrdersMainParams, ProductsMainParams, SystemStatusParams, CouponsParams, CustomersParams, DELETE, Orders, Products, Customers, Coupons, SystemStatus, } from "./typesANDinterfaces.js";
export type WooRestApiOptions = IWooRestApiOptions<AxiosRequestConfig>;
export type WooRestApiParams = CouponsParams & CustomersParams & OrdersMainParams & ProductsMainParams & SystemStatusParams & DELETE;
export interface WooCommerceApiResponse<T> {
data: T;
status: number;
statusText: string;
headers: any;
}
export default class WooCommerceRestApi<T extends WooRestApiOptions> {
protected _opt: T;
constructor(opt: T);
_setDefaultsOptions(opt: T): void;
_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<any>;
get<T = any>(endpoint: WooRestApiEndpoint, params?: Partial<WooRestApiParams>): Promise<WooCommerceApiResponse<T>>;
post<T = any>(endpoint: WooRestApiEndpoint, data: Record<string, unknown>, params?: Partial<WooRestApiParams>): Promise<WooCommerceApiResponse<T>>;
put<T = any>(endpoint: WooRestApiEndpoint, data: Record<string, unknown>, params?: Partial<WooRestApiParams>): Promise<WooCommerceApiResponse<T>>;
delete<T = any>(endpoint: WooRestApiEndpoint, data: Pick<WooRestApiParams, "force">, params: Pick<WooRestApiParams, "id">): Promise<WooCommerceApiResponse<T>>;
options<T = any>(endpoint: WooRestApiEndpoint, params?: Partial<WooRestApiParams>): Promise<WooCommerceApiResponse<T>>;
getProducts(params?: Record<string, any>): 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, any>): 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 declare class WooCommerceApiError extends Error {
statusCode?: number | undefined;
response?: any | undefined;
endpoint?: string | undefined;
constructor(message: string, statusCode?: number | undefined, response?: any | undefined, endpoint?: string | undefined);
}
export declare class AuthenticationError extends WooCommerceApiError {
constructor(message?: string);
}
export declare class OptionsException {
name: "Options Error";
message: string;
constructor(message: string);
}
//# sourceMappingURL=index.d.ts.map