ordercloud-javascript-sdk
Version:
The offical Javascript SDK for the Ordercloud ecommerce API
183 lines (182 loc) • 12.2 kB
TypeScript
import { ListPage } from '../models/ListPage';
import { Searchable } from '../models/Searchable';
import { Sortable } from '../models/Sortable';
import { Filters } from '../models/Filters';
import { User } from '../models/User';
import { ImpersonateTokenRequest } from '../models/ImpersonateTokenRequest';
import { AccessToken } from '../models/AccessToken';
import { UserOrderMoveOption } from '../models/UserOrderMoveOption';
import { PartialDeep } from '../models/PartialDeep';
import { RequiredDeep } from '../models/RequiredDeep';
import { RequestOptions } from '../models/RequestOptions';
declare class Users {
private impersonating;
/**
* @ignore
* not part of public api, don't include in generated docs
*/
constructor();
/**
* List users
* Check out the {@link https://ordercloud.io/api-reference/buyer/users/list|api docs} for more info
*
* @param buyerID ID of the buyer.
* @param listOptions.userGroupID ID of the user group.
* @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<TUser extends User>(buyerID: string, listOptions?: {
userGroupID?: string;
search?: string;
searchOn?: Searchable<'Users.List'>;
sortBy?: Sortable<'Users.List'>;
page?: number;
pageSize?: number;
filters?: Filters;
}, requestOptions?: RequestOptions): Promise<RequiredDeep<ListPage<TUser>>>;
/**
* Create a user
* Check out the {@link https://ordercloud.io/api-reference/buyer/users/create|api docs} for more info
*
* @param buyerID ID of the buyer.
* @param user Required fields: Username, FirstName, LastName, Email, Active
* @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<TUser extends User>(buyerID: string, user: User, requestOptions?: RequestOptions): Promise<RequiredDeep<TUser>>;
/**
* Retrieve a user
* Check out the {@link https://ordercloud.io/api-reference/buyer/users/get|api docs} for more info
*
* @param buyerID ID of the buyer.
* @param userID ID of the user.
* @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<TUser extends User>(buyerID: string, userID: string, requestOptions?: RequestOptions): Promise<RequiredDeep<TUser>>;
/**
* Create or update a user If an object with the same ID already exists, it will be overwritten.
* Check out the {@link https://ordercloud.io/api-reference/buyer/users/save|api docs} for more info
*
* @param buyerID ID of the buyer.
* @param userID ID of the user.
* @param user Required fields: Username, FirstName, LastName, Email, Active
* @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<TUser extends User>(buyerID: string, userID: string, user: User, requestOptions?: RequestOptions): Promise<RequiredDeep<TUser>>;
/**
* Delete a user
* Check out the {@link https://ordercloud.io/api-reference/buyer/users/delete|api docs} for more info
*
* @param buyerID ID of the buyer.
* @param userID ID of the user.
* @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(buyerID: string, userID: string, requestOptions?: RequestOptions): Promise<void>;
/**
* Partially update a user
* Check out the {@link https://ordercloud.io/api-reference/buyer/users/patch|api docs} for more info
*
* @param buyerID ID of the buyer.
* @param userID ID of the user.
* @param user
* @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<TUser extends User>(buyerID: string, userID: string, user: PartialDeep<User>, requestOptions?: RequestOptions): Promise<RequiredDeep<TUser>>;
/**
* Retrieve a user access token
* Check out the {@link https://ordercloud.io/api-reference/buyer/users/get-access-token|api docs} for more info
*
* @param buyerID ID of the buyer.
* @param userID ID of the user.
* @param impersonateTokenRequest Required fields: ClientID, Roles
* @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.
*/
GetAccessToken<TAccessToken extends AccessToken>(buyerID: string, userID: string, impersonateTokenRequest: ImpersonateTokenRequest, requestOptions?: RequestOptions): Promise<RequiredDeep<TAccessToken>>;
/**
* Move a user to a different buyer
* Check out the {@link https://ordercloud.io/api-reference/buyer/users/move|api docs} for more info
*
* @param buyerID ID of the buyer.
* @param userID ID of the user.
* @param newBuyerID ID of the new buyer.
* @param listOptions.orders Orders of the user. Possible values: None, Unsubmitted, All.
* @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.
*/
Move<TUser extends User>(buyerID: string, userID: string, newBuyerID: string, listOptions?: {
orders?: UserOrderMoveOption;
}, requestOptions?: RequestOptions): Promise<RequiredDeep<TUser>>;
/**
* Revoke a user tokens Revokes all security tokens of specified buyer user.
* Check out the {@link https://ordercloud.io/api-reference/buyer/users/revoke-user-tokens|api docs} for more info
*
* @param buyerID ID of the buyer.
* @param userID ID of the user.
* @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.
*/
RevokeUserTokens(buyerID: string, userID: string, requestOptions?: RequestOptions): Promise<void>;
/**
* Unlock a user account
* Check out the {@link https://ordercloud.io/api-reference/buyer/users/unlock-user-account|api docs} for more info
*
* @param buyerID ID of the buyer.
* @param userID ID of the user.
* @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.
*/
UnlockUserAccount(buyerID: string, userID: string, requestOptions?: RequestOptions): Promise<void>;
/**
* List user across buyers
* Check out the {@link https://ordercloud.io/api-reference/buyer/users/list-across-buyers|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.
*/
ListAcrossBuyers<TUser extends User>(listOptions?: {
search?: string;
searchOn?: Searchable<'Users.ListAcrossBuyers'>;
sortBy?: Sortable<'Users.ListAcrossBuyers'>;
page?: number;
pageSize?: number;
filters?: Filters;
}, requestOptions?: RequestOptions): Promise<RequiredDeep<ListPage<TUser>>>;
/**
* @description
* enables impersonation by calling the subsequent method with the stored impersonation token
*
* @example
* Users.As().List() // lists Users using the impersonated users' token
*/
As(): this;
}
declare const _default: Users;
export default _default;