wildberries-api
Version:
Typescript API для Wildberries, сгенерированное из Swagger. Без внешних зависимостей.
355 lines • 12.7 kB
TypeScript
export interface OfferResponse {
id?: number;
title?: string;
description?: string;
section?: 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 12 | 13;
catalog_path?: number[];
price?: number;
discount_price?: number;
gallery?: string[];
meta?: string;
tags?: Tag[] | null;
thumbnail?: string[];
content?: OfferContent[];
created?: string;
updated?: string;
deleted?: string;
status: 0 | 1;
view_count?: number;
purchase_count?: number;
adult: boolean;
age_rating?: "0+" | "6+" | "12+" | "14+" | "16+" | "18+";
rating?: number;
}
export interface OfferCreateRequest {
title: string;
description: string;
tags: string[];
section: 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 12 | 13;
catalog_path: number[];
age_rating: "0+" | "6+" | "12+" | "14+" | "16+" | "18+";
price: number;
discount_price?: number;
gallery?: string[];
keys?: string[];
status?: 0 | 1;
content?: OfferCreateContent[];
meta?: OfferMetaRequest;
}
export interface OfferUpdateRequest {
title?: string;
description?: string;
price?: number;
discount_price?: number | null;
gallery?: string[] | null;
age_rating?: "0+" | "6+" | "12+" | "14+" | "16+" | "18+";
tags?: string[];
status?: 0 | 1 | 2 | 3;
catalog_path?: number[];
meta?: OfferMetaRequest;
section?: 1 | 2 | 4 | 5 | 6;
}
export interface OfferPriceUpdateRequest {
regular_price?: number;
discount_price?: number;
}
export interface KeysCountResponse {
total: number;
available: number;
reserved: number;
}
export interface OfferStatusUpdateRequest {
status: 0 | 1 | 2 | 3;
}
export interface OfferMetaRequest {
addresses?: string | null;
key_instruction?: string | null;
}
export interface OfferResponseList {
items: OfferResponse[];
total: Total;
}
export interface KeyResponse {
id: number;
value: string;
created_at: string;
buyed_at: string | null;
}
export interface OfferContent {
content: number;
title?: string;
description?: string;
files?: {
contentType?: string;
size?: number;
uri?: string;
}[];
meta?: string;
playlist?: string;
category_id?: 1 | 2 | 4;
}
export interface GetFullCatalogResponse {
items: CatalogNode[];
total: number;
}
export interface CatalogNode {
children?: CatalogNode[];
img: string;
name: string;
parent_id: number;
path?: number[] | null;
id: number;
is_section: boolean;
node_order: number;
section_id: number;
total: number;
}
export interface Tag {
id?: number;
value?: string;
value_translit?: string;
weight?: number;
}
export interface OfferCreateContent {
category_id: number;
content: number;
}
export interface KeysLoadRequest {
keys: string[];
offer_id: number;
}
export interface KeysResponseList {
items: KeyResponse[];
total: number;
}
export interface IllustrationResponse {
uris: string[];
userId: number;
}
export interface UploadInitRequest {
title: string;
description: string;
catalog_id: 1 | 2 | 4;
content_type: "video/mp4" | "audio/mpeg" | "text/plain" | "application/pdf" | "application/epub+zip";
parts: ChunkPart[];
meta: ContentMeta;
}
export interface UploadInitResponse {
content_id?: number;
uuid?: string;
}
export interface UploadChunkResponse {
chunk?: number;
uri?: string;
}
export interface ContentMeta {
thumbnail: string[];
source_file_name?: string;
rating?: "0+" | "6+" | "12+" | "14+" | "16+" | "18+";
original_name?: string;
voice?: string;
bisac?: string;
pages?: number;
author?: string;
translator?: string;
duration?: string;
}
export interface ProblemDetails400 {
status?: number;
title: string;
detail?: string;
code?: string;
errors?: ProblemDetails400[];
requestId: string;
origin?: string;
}
export interface ProblemDetails401 {
status?: number;
title: string;
detail?: string;
code?: string;
requestId: string;
origin?: string;
}
export interface ProblemDetails403 {
status?: number;
title: string;
code?: string;
requestId: string;
origin?: string;
}
export interface ProblemDetails404 {
status?: number;
title: string;
detail?: string;
code?: string;
requestId: string;
origin?: string;
}
export interface ProblemDetails500 {
status?: number;
title: string;
code?: string;
errors?: ProblemDetails500[];
requestId: string;
origin?: string;
}
export interface ProblemDetails502 {
status?: number;
title: string;
code?: string;
errors?: ProblemDetails502[];
requestId: string;
origin?: string;
}
export interface KeyRedeemedResponse {
id: number;
value: string;
created_at: string;
buyed_at: string;
offer_id: number;
offer_title: string;
offer_price: number;
}
export interface UpdateContentRequest {
title?: string | null;
description?: string | null;
}
export interface ChunkPart {
index: number;
size: number;
}
export interface Content {
id: number;
author_id: number;
title: string;
description: string;
content_type: "video/mp4" | "audio/mpeg" | "text/plain" | "application/pdf" | "application/epub+zip";
uri: string;
files: {
contentType?: string;
size?: number;
uri?: string;
}[];
playlist: string;
meta?: any;
category_id: 1 | 2 | 4;
status: number;
created: string;
updated: string;
}
export interface ContentList {
items: Content[];
total: Total;
}
export interface UploadGalleryResponse {
uris?: string[];
}
export interface KeysRedeemedResponseList {
items: KeyRedeemedResponse[];
total: Total;
}
export type Total = number;
export type QueryParamsType = Record<string | number, any>;
export type ResponseFormat = keyof Omit<Body, "body" | "bodyUsed">;
export interface FullRequestParams extends Omit<RequestInit, "body"> {
secure?: boolean;
path: string;
type?: ContentType;
query?: QueryParamsType;
format?: ResponseFormat;
body?: unknown;
baseUrl?: string;
cancelToken?: CancelToken;
}
export type RequestParams = Omit<FullRequestParams, "body" | "method" | "query" | "path">;
export interface ApiConfig<SecurityDataType = unknown> {
baseUrl?: string;
baseApiParams?: Omit<RequestParams, "baseUrl" | "cancelToken" | "signal">;
securityWorker?: (securityData: SecurityDataType | null) => Promise<RequestParams | void> | RequestParams | void;
customFetch?: typeof fetch;
}
export interface HttpResponse<D extends unknown, E extends unknown = unknown> extends Response {
data: D;
error: E;
}
type CancelToken = Symbol | string | number;
export declare enum ContentType {
Json = "application/json",
FormData = "multipart/form-data",
UrlEncoded = "application/x-www-form-urlencoded",
Text = "text/plain"
}
export declare class HttpClient<SecurityDataType = unknown> {
baseUrl: string;
private securityData;
private securityWorker?;
private abortControllers;
private customFetch;
private baseApiParams;
constructor(apiConfig?: ApiConfig<SecurityDataType>);
setSecurityData: (data: SecurityDataType | null) => void;
protected encodeQueryParam(key: string, value: any): string;
protected addQueryParam(query: QueryParamsType, key: string): string;
protected addArrayQueryParam(query: QueryParamsType, key: string): any;
protected toQueryString(rawQuery?: QueryParamsType): string;
protected addQueryParams(rawQuery?: QueryParamsType): string;
private contentFormatters;
protected mergeRequestParams(params1: RequestParams, params2?: RequestParams): RequestParams;
protected createAbortSignal: (cancelToken: CancelToken) => AbortSignal | undefined;
abortRequest: (cancelToken: CancelToken) => void;
request: <T = any, E = any>({ body, secure, path, type, query, format, baseUrl, cancelToken, ...params }: FullRequestParams) => Promise<HttpResponse<T, E>>;
}
export declare class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDataType> {
api: {
loadKeys: (data: KeysLoadRequest, params?: RequestParams) => Promise<HttpResponse<void, ProblemDetails401 | ProblemDetails403 | ProblemDetails404 | ProblemDetails500>>;
getRedeemedKeys: (query?: {
offer_id?: number;
skip?: number;
take?: number;
date_from?: string;
date_to?: string;
}, params?: RequestParams) => Promise<HttpResponse<KeysRedeemedResponseList, ProblemDetails401 | ProblemDetails500>>;
offerKeysCountGet: (offerId: number, params?: RequestParams) => Promise<HttpResponse<KeysCountResponse, ProblemDetails401 | ProblemDetails404 | ProblemDetails500>>;
offerKeysGet: (offerId: number, params?: RequestParams) => Promise<HttpResponse<KeysResponseList, ProblemDetails400 | ProblemDetails401 | ProblemDetails403 | ProblemDetails404 | ProblemDetails500>>;
offerCreate: (data: OfferCreateRequest, params?: RequestParams) => Promise<HttpResponse<OfferResponse, ProblemDetails400 | ProblemDetails401 | ProblemDetails500>>;
offersUploadThumbnail: (data: File, params?: RequestParams) => Promise<HttpResponse<void, ProblemDetails400 | ProblemDetails401 | ProblemDetails500>>;
offerUpdate: (offerId: number, data: OfferUpdateRequest, params?: RequestParams) => Promise<HttpResponse<void, ProblemDetails400 | ProblemDetails401 | ProblemDetails403 | ProblemDetails404 | ProblemDetails500>>;
offerGet: (offerId: number, params?: RequestParams) => Promise<HttpResponse<OfferResponse, ProblemDetails400 | ProblemDetails401 | ProblemDetails404 | ProblemDetails500>>;
offersAuthorGet: (query?: {
search?: string;
category?: 1 | 2 | 4;
status?: 0 | 1 | 2;
sort?: "created" | "updated";
sort_dir?: "asc" | "desc";
skip?: number;
take?: number;
}, params?: RequestParams) => Promise<HttpResponse<OfferResponseList, ProblemDetails400 | ProblemDetails401 | ProblemDetails500>>;
offerUpdatePrice: (offerId: number, data: OfferPriceUpdateRequest, params?: RequestParams) => Promise<HttpResponse<void, ProblemDetails400 | ProblemDetails401 | ProblemDetails500>>;
offerUpdateStatus: (offerId: number, data: OfferStatusUpdateRequest, params?: RequestParams) => Promise<HttpResponse<void, ProblemDetails400 | ProblemDetails401 | ProblemDetails500>>;
getCatalog: (params?: RequestParams) => Promise<HttpResponse<GetFullCatalogResponse, ProblemDetails401 | ProblemDetails500>>;
contentUploadIllustration: (data: File, params?: RequestParams) => Promise<HttpResponse<IllustrationResponse, ProblemDetails400 | ProblemDetails401 | ProblemDetails500>>;
contentUploadInit: (data: UploadInitRequest, params?: RequestParams) => Promise<HttpResponse<UploadInitResponse, ProblemDetails400 | ProblemDetails401 | ProblemDetails500>>;
contentUploadChunk: (data: File, params?: RequestParams) => Promise<HttpResponse<UploadChunkResponse, ProblemDetails400 | ProblemDetails401 | ProblemDetails500>>;
contentUpdate: (contentId: number, data: UpdateContentRequest, params?: RequestParams) => Promise<HttpResponse<Content, ProblemDetails400 | ProblemDetails401 | ProblemDetails500>>;
contentIdGet: (contentId: number, params?: RequestParams) => Promise<HttpResponse<Content, ProblemDetails400 | ProblemDetails401 | ProblemDetails404 | ProblemDetails500>>;
contentAuthorGet: (query?: {
search?: string;
category?: 1 | 2 | 4;
status?: 0 | 1 | 2 | 3 | 4 | 5;
sort?: "created" | "updated";
sort_dir?: "asc" | "desc";
skip?: number;
take?: number;
}, params?: RequestParams) => Promise<HttpResponse<ContentList, ProblemDetails401 | ProblemDetails500>>;
contentDownloadGet: (uri: string, params?: RequestParams) => Promise<HttpResponse<void, ProblemDetails401 | ProblemDetails404 | ProblemDetails500 | ProblemDetails502>>;
contentDelete: (data: {
content_id?: number;
}, params?: RequestParams) => Promise<HttpResponse<void, ProblemDetails401 | ProblemDetails404 | ProblemDetails500>>;
contentGallery: (data: {
files: File[];
}, params?: RequestParams) => Promise<HttpResponse<UploadGalleryResponse, ProblemDetails400 | ProblemDetails401 | ProblemDetails500>>;
};
}
export {};
//# sourceMappingURL=wbd.d.ts.map