UNPKG

ordercloud-javascript-sdk

Version:

The offical Javascript SDK for the Ordercloud ecommerce API

226 lines (225 loc) 16 kB
import { ListPage } from '../models/ListPage'; import { Searchable } from '../models/Searchable'; import { Sortable } from '../models/Sortable'; import { Filters } from '../models/Filters'; import { Spec } from '../models/Spec'; import { SpecOption } from '../models/SpecOption'; import { SpecProductAssignment } from '../models/SpecProductAssignment'; import { PartialDeep } from '../models/PartialDeep'; import { RequiredDeep } from '../models/RequiredDeep'; import { RequestOptions } from '../models/RequestOptions'; declare class Specs { private impersonating; /** * @ignore * not part of public api, don't include in generated docs */ constructor(); /** * List specs * Check out the {@link https://ordercloud.io/api-reference/product-catalogs/specs/list|api docs} for more info * * @param listOptions.search Word or phrase to search for. * @param listOptions.searchOn Comma-delimited list of fields to search on. * @param listOptions.sortBy Comma-delimited list of fields to sort by. * @param listOptions.page Page of results to return. When paginating through many items (> page 30), we recommend the "Last ID" method, as outlined in the Advanced Querying documentation. * @param listOptions.pageSize Number of results to return per page. * @param listOptions.filters An object or dictionary representing key/value pairs to apply as filters. Valid keys are top-level properties of the returned model or 'xp.???' * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ List<TSpec extends Spec>(listOptions?: { search?: string; searchOn?: Searchable<'Specs.List'>; sortBy?: Sortable<'Specs.List'>; page?: number; pageSize?: number; filters?: Filters; }, requestOptions?: RequestOptions): Promise<RequiredDeep<ListPage<TSpec>>>; /** * Create a spec * Check out the {@link https://ordercloud.io/api-reference/product-catalogs/specs/create|api docs} for more info * * @param spec Required fields: Name * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Create<TSpec extends Spec>(spec: Spec, requestOptions?: RequestOptions): Promise<RequiredDeep<TSpec>>; /** * Retrieve a spec * Check out the {@link https://ordercloud.io/api-reference/product-catalogs/specs/get|api docs} for more info * * @param specID ID of the spec. * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Get<TSpec extends Spec>(specID: string, requestOptions?: RequestOptions): Promise<RequiredDeep<TSpec>>; /** * Create or update a spec If an object with the same ID already exists, it will be overwritten. * Check out the {@link https://ordercloud.io/api-reference/product-catalogs/specs/save|api docs} for more info * * @param specID ID of the spec. * @param spec Required fields: Name * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Save<TSpec extends Spec>(specID: string, spec: Spec, requestOptions?: RequestOptions): Promise<RequiredDeep<TSpec>>; /** * Delete a spec * Check out the {@link https://ordercloud.io/api-reference/product-catalogs/specs/delete|api docs} for more info * * @param specID ID of the spec. * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Delete(specID: string, requestOptions?: RequestOptions): Promise<void>; /** * Partially update a spec * Check out the {@link https://ordercloud.io/api-reference/product-catalogs/specs/patch|api docs} for more info * * @param specID ID of the spec. * @param spec * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ Patch<TSpec extends Spec>(specID: string, spec: PartialDeep<Spec>, requestOptions?: RequestOptions): Promise<RequiredDeep<TSpec>>; /** * List spec options * Check out the {@link https://ordercloud.io/api-reference/product-catalogs/specs/list-options|api docs} for more info * * @param specID ID of the spec. * @param listOptions.search Word or phrase to search for. * @param listOptions.searchOn Comma-delimited list of fields to search on. * @param listOptions.sortBy Comma-delimited list of fields to sort by. * @param listOptions.page Page of results to return. When paginating through many items (> page 30), we recommend the "Last ID" method, as outlined in the Advanced Querying documentation. * @param listOptions.pageSize Number of results to return per page. * @param listOptions.filters An object or dictionary representing key/value pairs to apply as filters. Valid keys are top-level properties of the returned model or 'xp.???' * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ ListOptions<TSpecOption extends SpecOption>(specID: string, listOptions?: { search?: string; searchOn?: Searchable<'Specs.ListOptions'>; sortBy?: Sortable<'Specs.ListOptions'>; page?: number; pageSize?: number; filters?: Filters; }, requestOptions?: RequestOptions): Promise<RequiredDeep<ListPage<TSpecOption>>>; /** * Create a spec option A Spec can have multiple Options-- for example, if the spec is called 'Color', the options might be 'Blue', 'Red', and 'Green'. * Check out the {@link https://ordercloud.io/api-reference/product-catalogs/specs/create-option|api docs} for more info * * @param specID ID of the spec. * @param specOption Required fields: Value * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ CreateOption<TSpecOption extends SpecOption>(specID: string, specOption: SpecOption, requestOptions?: RequestOptions): Promise<RequiredDeep<TSpecOption>>; /** * Retrieve a spec option * Check out the {@link https://ordercloud.io/api-reference/product-catalogs/specs/get-option|api docs} for more info * * @param specID ID of the spec. * @param optionID ID of the option. * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ GetOption<TSpecOption extends SpecOption>(specID: string, optionID: string, requestOptions?: RequestOptions): Promise<RequiredDeep<TSpecOption>>; /** * Create or update a spec option * Check out the {@link https://ordercloud.io/api-reference/product-catalogs/specs/save-option|api docs} for more info * * @param specID ID of the spec. * @param optionID ID of the option. * @param specOption Required fields: Value * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ SaveOption<TSpecOption extends SpecOption>(specID: string, optionID: string, specOption: SpecOption, requestOptions?: RequestOptions): Promise<RequiredDeep<TSpecOption>>; /** * Delete a spec option * Check out the {@link https://ordercloud.io/api-reference/product-catalogs/specs/delete-option|api docs} for more info * * @param specID ID of the spec. * @param optionID ID of the option. * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ DeleteOption(specID: string, optionID: string, requestOptions?: RequestOptions): Promise<void>; /** * Partially update a spec option * Check out the {@link https://ordercloud.io/api-reference/product-catalogs/specs/patch-option|api docs} for more info * * @param specID ID of the spec. * @param optionID ID of the option. * @param specOption * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ PatchOption<TSpecOption extends SpecOption>(specID: string, optionID: string, specOption: PartialDeep<SpecOption>, requestOptions?: RequestOptions): Promise<RequiredDeep<TSpecOption>>; /** * Delete a spec product assignment * Check out the {@link https://ordercloud.io/api-reference/product-catalogs/specs/delete-product-assignment|api docs} for more info * * @param specID ID of the spec. * @param productID ID of the product. * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ DeleteProductAssignment(specID: string, productID: string, requestOptions?: RequestOptions): Promise<void>; /** * List spec product assignments * Check out the {@link https://ordercloud.io/api-reference/product-catalogs/specs/list-product-assignments|api docs} for more info * * @param listOptions.search Word or phrase to search for. * @param listOptions.searchOn Comma-delimited list of fields to search on. * @param listOptions.sortBy Comma-delimited list of fields to sort by. * @param listOptions.page Page of results to return. When paginating through many items (> page 30), we recommend the "Last ID" method, as outlined in the Advanced Querying documentation. * @param listOptions.pageSize Number of results to return per page. * @param listOptions.filters An object or dictionary representing key/value pairs to apply as filters. Valid keys are top-level properties of the returned model or 'xp.???' * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ ListProductAssignments<TSpecProductAssignment extends SpecProductAssignment>(listOptions?: { search?: string; searchOn?: Searchable<'Specs.ListProductAssignments'>; sortBy?: Sortable<'Specs.ListProductAssignments'>; page?: number; pageSize?: number; filters?: Filters; }, requestOptions?: RequestOptions): Promise<RequiredDeep<ListPage<TSpecProductAssignment>>>; /** * Create or update a spec product assignment * Check out the {@link https://ordercloud.io/api-reference/product-catalogs/specs/save-product-assignment|api docs} for more info * * @param specProductAssignment Required fields: SpecID, ProductID * @param requestOptions.accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). * @param requestOptions.cancelToken Provide an [axios cancelToken](https://github.com/axios/axios#cancellation) that can be used to cancel the request. * @param requestOptions.requestType Provide a value that can be used to identify the type of request. Useful for error logs. */ SaveProductAssignment(specProductAssignment: SpecProductAssignment, requestOptions?: RequestOptions): Promise<void>; /** * @description * enables impersonation by calling the subsequent method with the stored impersonation token * * @example * Specs.As().List() // lists Specs using the impersonated users' token */ As(): this; } declare const _default: Specs; export default _default;