Constructor
new SalesforceConnector(client)
Parameters:
| Name | Type | Description |
|---|---|---|
client |
ShopApi.ApiClient |
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 |
- Source:
Returns:
The new SalesforceConnector instance.
- Type
- module:sfcc.SalesforceConnector
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>
addCouponEntry(cart, couponEntry, opts) → {Promise.<module:types.Cart>}
Add a coupon to the cart by it's code.
Parameters:
| Name | Type | Description |
|---|---|---|
cart |
module:types.Cart | The customer's cart. |
couponEntry |
Object | The coupon. |
opts |
Object | Options 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>
createOrder(cart, opts) → {Promise.<module:types.Order>}
Create a new order using a given cart. This command will trigger the appropriate
OCAPI order authorization hooks. If orders placed through this command aren't progressing
from the created status, it's possible that your API hooks haven't been set up. Please
consult your Saleforce professional.
Parameters:
| Name | Type | Description |
|---|---|---|
cart |
module:types.Cart | The customer's cart. |
opts |
Object |
- Implements:
- Source:
Returns:
.
- Type
- Promise.<module:types.Order>
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.
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>
getOrder(id, optsopt) → {Promise.<module:types.Order>}
Get a single order by id.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
id |
String | The order id. |
|
opts |
Object |
<optional> |
Options object |
- Implements:
- Source:
Returns:
.
- Type
- Promise.<module:types.Order>
getOrders(ids, optsopt) → {Promise.<module:types.OrderList>}
Get multiple orders by their ids.
On supported backends this method will retrieve orders 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 order ids. |
|
opts |
Object |
<optional> |
Options object |
- Implements:
- Source:
Returns:
.
- Type
- Promise.<module:types.OrderList>
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.
-
-
-
Will throw an error if the customer credentials are incorrect.
-
Returns:
.
- Type
- Promise.<module:types.Customer>
logout() → {Promise.<undefined>}
Log a customer out.
- Implements:
- Source:
Throws:
-
Will throw an error if there was a server-side error.
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:
parseCouponEntry()
Parse a coupon item
- 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 |
- Source:
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 |
- Source:
Returns:
- Type
- Promise.<module:types.Image>
parseOrder()
Parse an order.
- Implements:
- Source:
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
Returns:
- Type
- Promise.<module:types.Customer>
registerCustomer(data) → {Promise.<module:types/Customer>}
Register a new customer account and login.
Parameters:
| Name | Type | Description |
|---|---|---|
data |
module:types/CustomerRegistration |
- Source:
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>
removeCouponEntry(cart, couponEntryId, opts) → {Promise.<module:types.Cart>}
Removes a coupon from the cart by its coupon entry id.
Parameters:
| Name | Type | Description |
|---|---|---|
cart |
module:types.Cart | The customer's cart. |
couponEntryId |
Object | The coupon entry id. |
opts |
Object | Options 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).
- Source:
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>