ordercloud-javascript-sdk
Version:
The offical Javascript SDK for the Ordercloud ecommerce API
176 lines (175 loc) • 12.7 kB
TypeScript
import { ListPage } from '../models/ListPage';
import { Searchable } from '../models/Searchable';
import { Sortable } from '../models/Sortable';
import { Filters } from '../models/Filters';
import { ExtendedLineItem } from '../models/ExtendedLineItem';
import { OrderDirection } from '../models/OrderDirection';
import { SearchType } from '../models/SearchType';
import { LineItem } from '../models/LineItem';
import { Address } from '../models/Address';
import { PartialDeep } from '../models/PartialDeep';
import { RequiredDeep } from '../models/RequiredDeep';
import { RequestOptions } from '../models/RequestOptions';
declare class LineItems {
private impersonating;
/**
* @ignore
* not part of public api, don't include in generated docs
*/
constructor();
/**
* List line item across orders
* Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/list-across-orders|api docs} for more info
*
* @param direction Direction of the order, from the current user's perspective.
* @param listOptions.buyerID ID of the buyer.
* @param listOptions.supplierID ID of the supplier.
* @param listOptions.from Lower bound of date range that the order was created.
* @param listOptions.to Upper bound of date range that the order was created.
* @param listOptions.search Word or phrase to search for.
* @param listOptions.searchOn Comma-delimited list of fields to search on.
* @param listOptions.searchType Type of search to perform.
* @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.
*/
ListAcrossOrders<TExtendedLineItem extends ExtendedLineItem>(direction: OrderDirection, listOptions?: {
buyerID?: string;
supplierID?: string;
from?: string;
to?: string;
search?: string;
searchOn?: Searchable<'LineItems.ListAcrossOrders'>;
searchType?: SearchType;
sortBy?: Sortable<'LineItems.ListAcrossOrders'>;
page?: number;
pageSize?: number;
filters?: Filters;
}, requestOptions?: RequestOptions): Promise<RequiredDeep<ListPage<TExtendedLineItem>>>;
/**
* List line items
* Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/list|api docs} for more info
*
* @param direction Direction of the order, from the current user's perspective.
* @param orderID ID of the order.
* @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<TLineItem extends LineItem>(direction: OrderDirection, orderID: string, listOptions?: {
search?: string;
searchOn?: Searchable<'LineItems.List'>;
sortBy?: Sortable<'LineItems.List'>;
page?: number;
pageSize?: number;
filters?: Filters;
}, requestOptions?: RequestOptions): Promise<RequiredDeep<ListPage<TLineItem>>>;
/**
* Create a line item
* Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/create|api docs} for more info
*
* @param direction Direction of the order, from the current user's perspective.
* @param orderID ID of the order.
* @param lineItem Required fields: 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.
*/
Create<TLineItem extends LineItem>(direction: OrderDirection, orderID: string, lineItem: LineItem, requestOptions?: RequestOptions): Promise<RequiredDeep<TLineItem>>;
/**
* Retrieve a line item
* Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/get|api docs} for more info
*
* @param direction Direction of the order, from the current user's perspective.
* @param orderID ID of the order.
* @param lineItemID ID of the line item.
* @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<TLineItem extends LineItem>(direction: OrderDirection, orderID: string, lineItemID: string, requestOptions?: RequestOptions): Promise<RequiredDeep<TLineItem>>;
/**
* Create or update a line item If an object with the same ID already exists, it will be overwritten.
* Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/save|api docs} for more info
*
* @param direction Direction of the order, from the current user's perspective.
* @param orderID ID of the order.
* @param lineItemID ID of the line item.
* @param lineItem Required fields: 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.
*/
Save<TLineItem extends LineItem>(direction: OrderDirection, orderID: string, lineItemID: string, lineItem: LineItem, requestOptions?: RequestOptions): Promise<RequiredDeep<TLineItem>>;
/**
* Delete a line item
* Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/delete|api docs} for more info
*
* @param direction Direction of the order, from the current user's perspective.
* @param orderID ID of the order.
* @param lineItemID ID of the line item.
* @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(direction: OrderDirection, orderID: string, lineItemID: string, requestOptions?: RequestOptions): Promise<void>;
/**
* Partially update a line item
* Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/patch|api docs} for more info
*
* @param direction Direction of the order, from the current user's perspective.
* @param orderID ID of the order.
* @param lineItemID ID of the line item.
* @param lineItem
* @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<TLineItem extends LineItem>(direction: OrderDirection, orderID: string, lineItemID: string, lineItem: PartialDeep<LineItem>, requestOptions?: RequestOptions): Promise<RequiredDeep<TLineItem>>;
/**
* Set a shipping address Set the Shipping Address of the Line Item. Appropriate only when the Address is not to be saved/reused. To use a Saved Address (i.e. from the Addresses resource), PATCH the Line Item's ShippingAddressID property instead.
* Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/set-shipping-address|api docs} for more info
*
* @param direction Direction of the order, from the current user's perspective.
* @param orderID ID of the order.
* @param lineItemID ID of the line item.
* @param address Required fields: Street1, City, Country
* @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.
*/
SetShippingAddress<TLineItem extends LineItem>(direction: OrderDirection, orderID: string, lineItemID: string, address: Address, requestOptions?: RequestOptions): Promise<RequiredDeep<TLineItem>>;
/**
* Partially update a line item shipping address Partially update the Shipping Address of the Line Item. Not allowed on unsubmitted Line Items where ShippingAddressID has been set. In that case, use the Addresses resource to update the Saved Address.
* Check out the {@link https://ordercloud.io/api-reference/orders-and-fulfillment/line-items/patch-shipping-address|api docs} for more info
*
* @param direction Direction of the order, from the current user's perspective.
* @param orderID ID of the order.
* @param lineItemID ID of the line item.
* @param address
* @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.
*/
PatchShippingAddress<TLineItem extends LineItem>(direction: OrderDirection, orderID: string, lineItemID: string, address: PartialDeep<Address>, requestOptions?: RequestOptions): Promise<RequiredDeep<TLineItem>>;
/**
* @description
* enables impersonation by calling the subsequent method with the stored impersonation token
*
* @example
* LineItems.As().List() // lists LineItems using the impersonated users' token
*/
As(): this;
}
declare const _default: LineItems;
export default _default;