Constructor
new SalesforceConnector(client)
Parameters:
| Name | Type | Description |
|---|---|---|
client |
ShopApi.ApiClient |
- Implements:
- Source:
Methods
(static) fromConfig(config) → {module:sfcc.SalesforceConnector}
Given a configuration in the form of a plain object, this method returns a new SalesforceConnector instance.
Parameters:
| Name | Type | Description |
|---|---|---|
config |
Object | https://github.com/mobify/commercecloud-ocapi-client/blob/develop/src/ApiClient.js#L44 |
Returns:
The new SalesforceConnector instance.
addCartItem(cart, cartItem, opts) → {Promise.<module:types.Cart>}
Adds a cart item to cart.
Parameters:
| Name | Type | Description |
|---|---|---|
cart |
module:types.Cart | The cart to add the cart item to. |
cartItem |
module:types.CartItem | The cart item to add. |
opts |
Object |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.Cart>
createCart(oldCcart, optsopt) → {Promise.<module:types.Cart>}
Creates a new cart with an optional cart object.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
oldCcart |
module:types.Cart | The cart you'd like to migrate to the new cart |
|
opts |
Object |
<optional> |
object |
- Implements:
- Source:
Throws:
Could not create cart.
Returns:
- Type
- Promise.<module:types.Cart>
deleteCart(cartId, optsopt)
Deletes the given cart
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
cartId |
String | The id of the cart you want to delete. |
|
opts |
Object |
<optional> |
object |
- Implements:
- Source:
Throws:
Could not delete cart.
getCart(cartId, optsopt) → {Promise.<module:types.Cart>}
Retrieve cart by id.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
cartId |
String | The id of the cart you want to retrieve |
|
opts |
Object |
<optional> |
object |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.Cart>
getCategories(ids, optsopt) → {Promise.<module:types.CategoryList>}
Returns multiple product Categories by their ids.
On supported backends this method will retrieve Categories in a single network call. Others may make a call per id to emulate the same behaviour.
Invalid ids are ignored and results are not guaranteed to be returned in the order requested.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
ids |
Array.<String> | ||
opts |
Object |
<optional> |
object |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.CategoryList>
getCategory(id, optsopt) → {Promise.<module:types.Category>}
Get a product Category by id.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
id |
String | ||
opts |
Object |
<optional> |
object |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.Category>
getCustomer(id, optsopt) → {Promise.<module:types.Customer>}
Return a customer's details by id.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
id |
String | Customer Id |
|
opts |
Object |
<optional> |
Options object |
- Implements:
- Source:
Throws:
-
Throw generic error if server has error.
- Type
- module:errors/ServerError
Returns:
- Type
- Promise.<module:types.Customer>
getDefaultHeaders() → {Object.<String, String>}
Get the default headers that are sent with every request.
- Implements:
- Source:
Returns:
- Type
- Object.<String, String>
getPaymentMethods(cart, opts) → {Promise.<Array.module:types.PaymentMethod>}
Get the available payment methods for the cart
Parameters:
| Name | Type | Description |
|---|---|---|
cart |
module:types.Cart | The customer's cart. |
opts |
Object |
- Implements:
- Source:
Returns:
- Type
- Promise.<Array.module:types.PaymentMethod>
getProduct(id, optsopt) → {Promise.<module:types.Product>}
Get a single product by id.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
id |
String | The product id. |
|
opts |
Object |
<optional> |
Options object |
- Implements:
- Source:
Returns:
.
- Type
- Promise.<module:types.Product>
getProducts(ids, optsopt) → {Promise.<module:types.ProductList>}
Get multiple products by their ids.
On supported backends this method will retrieve products in a single network call. Others may make a call per id to emulate the same behaviour.
Invalid ids are ignored and results are not guaranteed to be returned in the order requested.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
ids |
Array.<String> | The product ids. |
|
opts |
Object |
<optional> |
Options object |
- Implements:
- Source:
Returns:
.
- Type
- Promise.<module:types.ProductList>
getShippingMethods(cart, opts) → {Promise.<Array.<module:types.ShippingMethod>>}
Get all the available shipping methods given the cart details.
Parameters:
| Name | Type | Description |
|---|---|---|
cart |
module:types.Cart | The cart to determinen avaialble shipping methods for. |
opts |
Object |
- Implements:
- Source:
Returns:
- Type
- Promise.<Array.<module:types.ShippingMethod>>
getStore(id, optsopt) → {Promise.<module:types.Store>}
Get a Store (ie. a physical retail-outlet) by id. Includes addresses, opening hours, etc.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
id |
String | The id of the store |
|
opts |
Object |
<optional> |
Options object |
- Implements:
- Source:
Returns:
.
- Type
- Promise.<module:types.Store>
login(username, password) → {Promise.<module:types/Customer>}
Log a customer in and return their details.
On backends which support "guest login", credentials can be omitted to give you a guest session.
Parameters:
| Name | Type | Description |
|---|---|---|
username |
String | |
password |
String |
- Implements:
- Source:
Throws:
-
-
Will throw an error if the username or password aren't provided for type registered.
- Type
- module:errors/InvalidArgumentError
-
-
-
Will throw an error if the customer credentials are incorrect.
- Type
- module:errors/ForbiddenError
-
Returns:
.
- Type
- Promise.<module:types/Customer>
logout() → {Promise.<undefined>}
Log a custmer out.
- Implements:
- Source:
Throws:
-
Will throw an error if there was a server-side error.
- Type
- module:errors/ServerError
Returns:
- Type
- Promise.<undefined>
parseCart()
Parse a cart
- Implements:
- Source:
parseCartItem()
Parse a cart item
- Implements:
- Source:
parseCategories(categories) → {Array.<module:types.Category>}
Takes an array of OCAPI Category objects and parses it into an commerce-integrations Category type.
Parameters:
| Name | Type | Description |
|---|---|---|
categories |
Array.<Object> | an array of OCAPI Category document |
- Implements:
- Source:
Returns:
- Type
- Array.<module:types.Category>
parseCategory()
Parse a category.
- Implements:
- Source:
parseCustomer(data) → {Promise.<module:types.Customer>}
Takes a OCAPI Customer object and parses it into a commerce-integrations Customer type.
Parameters:
| Name | Type | Description |
|---|---|---|
data |
Object | a OCAPI Customer document |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.Customer>
parseCustomerInformation()
Parse customer information
- Implements:
- Source:
parseGetStore(data) → {Promise.<module:types.Store>}
Takes a OCAPI Store object and parses it into a commerce-integrations Store type.
Parameters:
| Name | Type | Description |
|---|---|---|
data |
Object | a OCAPI Store document |
Returns:
- Type
- Promise.<module:types.Store>
parseImage(imageUrl, attributes) → {Promise.<module:types.Image>}
Takes an image url and its attributes and return an commerce-integrations Image type.
Parameters:
| Name | Type | Description |
|---|---|---|
imageUrl |
string | |
attributes |
Object | additional attributes of an image |
Returns:
- Type
- Promise.<module:types.Image>
parseOrderAddress()
Parse an order address
- Implements:
- Source:
parsePayment()
Parse a payment.
- Implements:
- Source:
parsePaymentMethod()
Parse a payment method
- Implements:
- Source:
parseProduct(data) → {Promise.<module:types.Product>}
Takes a OCAPI Product object and parses it into a commerce-integrations Product type.
Parameters:
| Name | Type | Description |
|---|---|---|
data |
Object | a OCAPI Product document |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.Product>
parseSearchProducts(data) → {Promise.<module:types.ProductSearch>}
Takes a OCAPI ProductSearchResult object and parses it into a commerce-integrations ProductSearch type.
Parameters:
| Name | Type | Description |
|---|---|---|
data |
Object | a OCAPI ProductSearchResult document |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.ProductSearch>
parseSearchStores()
Parse a StoreSearchResult
- Implements:
- Source:
parseShippingMethod()
Parse a shipping method
- Implements:
- Source:
refreshSession() → {Promise.<module:types/Customer>}
Refresh a session token, on backends that support refresh.
- Implements:
- Source:
Throws:
-
Will throw an error if authorization credentials are incorrect
- Type
- module:errors/ForbiddenError
Returns:
- Type
- Promise.<module:types/Customer>
removeCartItem(cart, cartItemId, opts) → {Promise.<module:types.Cart>}
Remove a cart item from the cart.
Parameters:
| Name | Type | Description |
|---|---|---|
cart |
module:types.Cart | The cart to remove the cart item from. |
cartItemId |
String | The id of the cart item to remove. |
opts |
Object |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.Cart>
searchProducts(productSearchRequest, optsopt) → {Promise.<module:types.ProductSearch>}
Search for products, given a productSearchRequest object.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
productSearchRequest |
module:types.ProductSearchRequest | Search query |
|
opts |
Object |
<optional> |
Options object |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.ProductSearch>
searchStores(storeSearchRequest, optsopt) → {Promise.<module:types.StoreSearchResult>}
Searches for Stores (ie. physical retail-outlets).
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
storeSearchRequest |
module:types.StoreSearchRequest | ||
opts |
Object |
<optional> |
Options object |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.StoreSearchResult>
setBillingAddress(cart, billingAddress, opts) → {Promise.<module:types.Cart>}
Set the billing address on the cart.
Parameters:
| Name | Type | Description |
|---|---|---|
cart |
module:types.Cart | The cart to update the billing address for. |
billingAddress |
module:types.OrderAddress | The new or modified address. |
opts |
Object |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.Cart>
setCustomerInformation(cart, customerInformation, opts) → {Promise.<module:types.Cart>}
Set the customer information.
Parameters:
| Name | Type | Description |
|---|---|---|
cart |
module:types.Cart | The customer's cart. |
customerInformation |
module:types.CustomerInformation | The new or modified customer information. |
opts |
Object |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.Cart>
setDefaultHeaders(headers)
Set the default headers that are sent with every request.
Parameters:
| Name | Type | Description |
|---|---|---|
headers |
Object.<String, String> |
- Implements:
- Source:
setPayment(cart, payment, opts) → {Promise.<module:types.Cart>}
Add a supported payment type to the cart
Parameters:
| Name | Type | Description |
|---|---|---|
cart |
module:types.Cart | The cart to remove the payment from. |
payment |
module:types.Payment | The payment to add. |
opts |
Object |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.Cart>
setShippingAddress(cart, shippingAddress, opts) → {Promise.<module:types.Cart>}
Set the shipping address on the cart.
Parameters:
| Name | Type | Description |
|---|---|---|
cart |
module:types.Cart | The cart to update the shipping address for. |
shippingAddress |
module:types.OrderAddress | The new or modified address. |
opts |
Object |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.Cart>
setShippingMethod(cart, shippingMethod, opts) → {Promise.<module:types.Cart>}
Set the shipping method for the cart.
Parameters:
| Name | Type | Description |
|---|---|---|
cart |
module:types.Cart | The cart to set the shipping method for. |
shippingMethod |
module:types.ShippingMethod | The shipping method to set. |
opts |
Object |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.Cart>
transformSearchStoreParams()
This function will take product search request as we use them in the commerce-integrations and output them into a format usable by the specific connector (ocapi).
updateCartItem(cart, cartItem, opts) → {Promise.<module:types.Cart>}
Update an existing cart item in the cart.
Parameters:
| Name | Type | Description |
|---|---|---|
cart |
module:types.Cart | The cart to containing the cart item to update. |
cartItem |
module:types.CartItem | The cart item to update. |
opts |
Object |
- Implements:
- Source:
Returns:
- Type
- Promise.<module:types.Cart>