@spree/storefront-api-v2-sdk
Version:
Node module to easily integrate your JavaScript or TypeScript application with Spree Storefront API V2. You can create an entirely custom Storefront in JS/TS with this package including one page checkout, Single Page Apps, PWAs and so on.
432 lines (431 loc) • 16.7 kB
TypeScript
import { Http } from '@spree/core-api-v2-sdk';
import type { IQuery, IToken, NoContentResult } from '@spree/core-api-v2-sdk';
import type { IAccountResult, IAccountConfirmationResult, AccountAddressesResult, AccountAddressResult, AccountAddressParams, ForgotPasswordParams, ResetPasswordParams, AccountInfoOptions, CreditCardsListOptions, DefaultCreditCardOptions, RemoveCreditCardOptions, CompletedOrdersListOptions, CompletedOrderOptions, CreateOptions, ConfirmOptions, ForgotPasswordOptions, ResetPasswordOptions, UpdateOptions, AddressesListOptions, ShowAddressOptions, CreateAddressOptions, RemoveAddressOptions, UpdateAddressOptions } from '../interfaces/Account';
import type { ICreditCardResult, ICreditCardsResult } from '../interfaces/CreditCard';
import type { IOrderResult, IOrdersResult } from '../interfaces/Order';
export default class Account extends Http {
/**
* Creates new account and returns its attributes. See [api docs](https://api.spreecommerce.org/docs/api-v2/534a12ece987f-create-an-account).
*
* **Success response schema:** [Success schema](../pages/response-schema.html#success-schema)
*
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.create({
* user: {
* email: 'john@snow.org',
* password: 'spree123',
* password_confirmation: 'spree123'
* }
* })
* ```
*/
create(options: CreateOptions): Promise<IAccountResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
* Creates new account and returns its attributes.
*/
create(params: IQuery): Promise<IAccountResult>;
/**
* Confirms new account e-mail and returns account registration status. See [reference](https://github.com/spree/spree_auth_devise/blob/db4ccf202f42cdb713931e9915b213ab9c9b2062/config/routes.rb).
*
* **Success response schema:**
* ```ts
* {
* data: {
* state: string
* }
* }
* ```
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.confirm({ confirmation_token: '2xssfC9Hzf8DJXyRZGmB' })
* ```
*/
confirm(option: ConfirmOptions): Promise<IAccountConfirmationResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
*/
confirm(confirmationToken: string): Promise<IAccountConfirmationResult>;
/**
* Sends an account recovery link to the provided email address. The link allows resetting the password for the account.
*
* **Success response schema:** [Success schema](../pages/response-schema.html#success-schema)
*
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.forgotPassword({
* user: {
* email: 'spree@example.com'
* }
* })
* ```
*/
forgotPassword(options: ForgotPasswordOptions): Promise<NoContentResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
*/
forgotPassword(params: ForgotPasswordParams): Promise<NoContentResult>;
/**
* Changes the password associated with the account using an account recovery token.
*
* **Success response schema:** [Success schema](../pages/response-schema.html#success-schema)
*
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.resetPassword({
* reset_password_token: '7381273269536713689562374856',
* user: {
* password: '123!@#asdASD',
* password_confirmation: '123!@#asdASD'
* }
* })
* ```
*/
resetPassword(options: ResetPasswordOptions): Promise<NoContentResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
*/
resetPassword(resetPasswordToken: string, params: ResetPasswordParams): Promise<NoContentResult>;
/**
* Updates account and returns its attributes. See [api docs](https://api.spreecommerce.org/docs/api-v2/9f8e112bbb91f-update-an-account).
*
* **Required token:** [Bearer token](../pages/tokens.html#bearer-token)
*
* **Success response schema:** [Success schema](../pages/response-schema.html#success-schema)
*
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.update({
* bearer_token: '7381273269536713689562374856',
* user: {
* email: 'john@snow.org',
* password: 'new_spree123',
* password_confirmation: 'new_spree123'
* }
* })
* ```
*/
update(options: UpdateOptions): Promise<IAccountResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
*/
update(token: IToken, params: IQuery): Promise<IAccountResult>;
/**
* Returns current user information. See [api docs](https://api.spreecommerce.org/docs/api-v2/a531029531471-retrieve-an-account).
*
* **Required token:** [Bearer token](../pages/tokens.html#bearer-token)
*
* **Success response schema:** [Success schema](../pages/response-schema.html#success-schema)
*
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.accountInfo({ bearer_token: '7381273269536713689562374856' })
* ```
*/
accountInfo(options: AccountInfoOptions): Promise<IAccountResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
*/
accountInfo(token: IToken, params?: IQuery): Promise<IAccountResult>;
/**
* Returns a list of Credit Cards for the signed in User. See [api docs](https://api.spreecommerce.org/docs/api-v2/eae76f03a90db-list-all-credit-cards).
*
* **Required token:** [Bearer token](../pages/tokens.html#bearer-token)
*
* **Success response schema:** [Success schema](../pages/response-schema.html#success-schema)
*
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.creditCardsList({ bearer_token: '7381273269536713689562374856' })
* ```
*/
creditCardsList(options: CreditCardsListOptions): Promise<ICreditCardsResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
*/
creditCardsList(token: IToken, params?: IQuery): Promise<ICreditCardsResult>;
/**
* Return the User's default Credit Card. See [api docs](https://api.spreecommerce.org/docs/api-v2/1054d9230daf4-retrieve-the-default-credit-card).
*
* **Required token:** [Bearer token](../pages/tokens.html#bearer-token)
*
* **Success response schema:** [Success schema](../pages/response-schema.html#success-schema)
*
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.defaultCreditCard({ bearer_token: '7381273269536713689562374856' })
* ```
*/
defaultCreditCard(options: DefaultCreditCardOptions): Promise<ICreditCardResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
*/
defaultCreditCard(token: IToken, params?: IQuery): Promise<ICreditCardResult>;
/**
* Remove a User's Credit Card. See [api docs](https://api.spreecommerce.org/docs/api-v2/b3A6MTc1NjU3NDM-remove-a-credit-card).
*
* **Required token:** [Bearer token](../pages/tokens.html#bearer-token)
*
* **Success response schema:** [Success schema](../pages/response-schema.html#success-schema)
*
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.removeCreditCard({
* bearer_token: '7381273269536713689562374856',
* id: '14'
* })
* ```
*/
removeCreditCard(options: RemoveCreditCardOptions): Promise<NoContentResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
*/
removeCreditCard(token: IToken, id: string, params?: IQuery): Promise<NoContentResult>;
/**
* Returns Orders placed by the User. Only completed ones. See [api docs](https://api.spreecommerce.org/docs/api-v2/94d319dfe8909-list-all-orders).
*
* **Required token:** [Bearer token](../pages/tokens.html#bearer-token)
*
* **Success response schema:** [Success schema](../pages/response-schema.html#success-schema)
*
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.completedOrdersList({
* bearer_token: '7381273269536713689562374856'
* })
* ```
*/
completedOrdersList(options: CompletedOrdersListOptions): Promise<IOrdersResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
*/
completedOrdersList(token: IToken, params?: IQuery): Promise<IOrdersResult>;
/**
* Return the User's completed Order. See [api docs](https://api.spreecommerce.org/docs/api-v2/ab4c5da10fbba-retrieve-an-order).
*
* **Required token:** [Bearer token](../pages/tokens.html#bearer-token)
*
* **Success response schema:** [Success schema](../pages/response-schema.html#success-schema)
*
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.completedOrder({
* bearer_token: '7381273269536713689562374856',
* order_number: 'R653163382'
* })
* ```
*/
completedOrder(options: CompletedOrderOptions): Promise<IOrderResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
*/
completedOrder(token: IToken, orderNumber: string, params?: IQuery): Promise<IOrderResult>;
/**
* Returns a list of Addresses for the signed in User. See [api docs](https://api.spreecommerce.org/docs/api-v2/c8ebb212f75bf-list-all-addresses).
*
* **Required token:** [Bearer token](../pages/tokens.html#bearer-token)
*
* **Success response schema:** [Success schema](../pages/response-schema.html#success-schema)
*
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.addressesList({
* bearer_token: '7381273269536713689562374856'
* })
* ```
*/
addressesList(options: AddressesListOptions): Promise<AccountAddressesResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
*/
addressesList(token: IToken): Promise<AccountAddressesResult>;
/**
* Returns a single address for the signed in User.
*
* **Required token:** [Bearer token](../pages/tokens.html#bearer-token)
*
* **Success response schema:** [Success schema](../pages/response-schema.html#success-schema)
*
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.showAddress({
* bearer_token: '7381273269536713689562374856',
* id: '1'
* })
* ```
*/
showAddress(options: ShowAddressOptions): Promise<AccountAddressResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
*/
showAddress(token: IToken, addressId: string, params?: IQuery): Promise<AccountAddressResult>;
/**
* Create a new Address for the signed in User. See [api docs](https://api.spreecommerce.org/docs/api-v2/daacab4666dfc-create-an-address).
*
* **Required token:** [Bearer token](../pages/tokens.html#bearer-token)
*
* **Options schema:**
* ```ts
* interface options {
* address: {
* firstname: string
* lastname: string
* address1: string
* address2?: string
* city: string
* phone?: string
* zipcode: string
* state_name: string // State Abbreviations
* country_iso: string // Country ISO (2-chars) or ISO3 (3-chars)
* company?: string
* }
* }
* ```
*
* **Success response schema:** [Success schema](../pages/response-schema.html#success-schema)
*
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.createAddress({
* bearer_token: '7381273269536713689562374856',
* address: {
* firstname: 'John',
* lastname: 'Snow',
* address1: '7735 Old Georgetown Road',
* address2: '2nd Floor',
* city: 'Bethesda',
* phone: '3014445002',
* zipcode: '20814',
* state_name: 'MD',
* country_iso: 'US',
* company: 'Spark'
* }
* })
* ```
*/
createAddress(options: CreateAddressOptions): Promise<AccountAddressResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
*/
createAddress(token: IToken, params: AccountAddressParams): Promise<AccountAddressResult>;
/**
* Removes selected Address for the signed in User. See [api docs](https://api.spreecommerce.org/docs/api-v2/b3A6MTAwNjA3Njg-remove-an-address).
*
* **Required token:** [Bearer token](../pages/tokens.html#bearer-token)
*
* **Success response schema:** [Success schema](../pages/response-schema.html#success-schema)
*
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.removeAddress({
* bearer_token: '7381273269536713689562374856',
* id: '1'
* })
* ```
*/
removeAddress(options: RemoveAddressOptions): Promise<NoContentResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
*/
removeAddress(token: IToken, id: string, params?: IQuery): Promise<NoContentResult>;
/**
* Update selected Address for the signed in User. See [api docs](https://api.spreecommerce.org/docs/api-v2/fbae19a10190d-update-an-address).
*
* Required token: Bearer token
*
* **Options schema:**
* ```ts
* interface options {
* id: string
* address: {
* firstname: string
* lastname: string
* address1: string
* address2?: string
* city: string
* phone?: string
* zipcode: string
* state_name: string // State Abbreviations
* country_iso: string // Country ISO (2-chars) or ISO3 (3-chars)
* company?: string
* }
* }
* ```
*
* **Success response schema:** [Success schema](../pages/response-schema.html#success-schema)
*
* **Failure response schema:** [Error schema](../pages/response-schema.html#error-schema)
*
* **Example:**
* ```ts
* const response = await client.account.updateAddress({
* bearer_token: '7381273269536713689562374856',
* id: '1',
* address: {
* firstname: 'John',
* lastname: 'Snow',
* address1: '7735 Old Georgetown Road',
* address2: '2nd Floor',
* city: 'Bethesda',
* phone: '3014445002',
* zipcode: '20814',
* state_name: 'MD',
* country_iso: 'US',
* company: 'Spark'
* }
* })
* ```
*/
updateAddress(options: UpdateAddressOptions): Promise<AccountAddressResult>;
/**
* @hidden
* @deprecated Use the combined options signature instead.
*/
updateAddress(token: IToken, addressId: string, params: AccountAddressParams): Promise<AccountAddressResult>;
}