ordercloud-javascript-sdk
Version:
The offical Javascript SDK for the Ordercloud ecommerce API
226 lines (225 loc) • 16 kB
TypeScript
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;