NewStore SFCC Integration API (1.0.0)
Download OpenAPI specification:Download
Description
Provides integration between SalesForce Commerce Cloud and NewStore.Create a new Catalog Export job
Create a new Catalog Export job and returns the URL for its input location.
Request Body schema: application/json
job_id required | string |
execution_id required | string |
site_id required | string |
cartridge_version required | string |
Responses
Request samples
- Payload
{- "job_id": "string",
- "execution_id": "string",
- "site_id": "string",
- "cartridge_version": "string"
}
Response samples
- 201
Create a new Pricebook Export job
Create a new Pricebook Export job and returns the URL for its input location.
Request Body schema: application/json
job_id required | string |
execution_id required | string |
site_id required | string |
cartridge_version required | string |
Responses
Request samples
- Payload
{- "job_id": "string",
- "execution_id": "string",
- "site_id": "string",
- "cartridge_version": "string"
}
Response samples
- 201
Get job config for an order export
Get job config for an order export. Returns the URL for its input location.
Request Body schema: application/json
job_id required | string |
execution_id required | string |
site_id required | string |
cartridge_version required | string |
Responses
Request samples
- Payload
{- "job_id": "string",
- "execution_id": "string",
- "site_id": "string",
- "cartridge_version": "string"
}
Response samples
- 201
{- "upload_url": "string"
}
Get job config for a inventory import
Returns the URL for its input location.
Request Body schema: application/json
job_id required | string |
execution_id required | string |
site_id required | string |
cartridge_version required | string |
Responses
Request samples
- Payload
{- "job_id": "string",
- "execution_id": "string",
- "site_id": "string",
- "cartridge_version": "string"
}
Response samples
- 201
{- "upload_url": "string"
}
Inventory import callback
Notify Callback from SFCC after successful inventory import
Request Body schema: application/json
job_id required | string |
execution_id required | string |
site_id required | string |
cartridge_version required | string |
custom required | object |
Responses
Request samples
- Payload
{- "job_id": "string",
- "execution_id": "string",
- "site_id": "string",
- "cartridge_version": "string",
- "custom": { }
}
Start the availability export from NS
Start the availability export from NS
Request Body schema: application/json
job_id required | string |
execution_id required | string |
site_id required | string |
cartridge_version required | string |
custom required | object |
Responses
Request samples
- Payload
{- "job_id": "string",
- "execution_id": "string",
- "site_id": "string",
- "cartridge_version": "string",
- "custom": { }
}
Shows a filterable list of created import jobs.
Returns a JSON object containing a jobs[]
list.
If the result has more than one page, the response will also contain a nextPage
hash.
Pagination:
If the nextPage
hash is returned, it means we have more than one page.
To fetch the next page, call this endpoint again with the hash as a query parameter.
Example: /job_history?nextPage=PASTE_THE_HASH_HERE
.
Filtering:
This endpoint supports the following filters:
-
entity
(catalog, pricebook, order, availability, inventory) Example:/job_history?entity=catalog
-
status
(pending, running, finished, failed) Example:/job_history?status=pending
query Parameters
entity | string Enum: "catalog" "pricebook" "order" "availability" "inventory" |
status | string Enum: "pending" "running" "finished" "failed" "skipped" |
nextPage | string |
Responses
Response samples
- 200
{- "jobs": {
- "uuid": "string",
- "entity": "catalog",
- "createdAt": "string",
- "status": "pending",
- "message": "string",
- "catalogImportId": "string",
- "metadata": {
- "job_id": "string",
- "execution_id": "string",
- "site_id": "string",
- "cartridge_version": "string"
}, - "links": {
- "logs": "string",
- "input": "string",
- "output": "string",
- "details": "string"
}
}, - "nextPage": "string"
}
Import job details
Shows information about a specific import job with a link for its logs.
path Parameters
uuid required | string |
Responses
Response samples
- 200
{- "uuid": "string",
- "entity": "catalog",
- "createdAt": "string",
- "status": "pending",
- "message": "string",
- "catalogImportId": "string",
- "metadata": {
- "job_id": "string",
- "execution_id": "string",
- "site_id": "string",
- "cartridge_version": "string"
}, - "links": {
- "logs": "string",
- "input": "string",
- "output": "string",
- "details": "string"
}, - "statusHistory": [
- {
- "status": "pending",
- "message": "string",
- "transitionedAt": "string"
}
], - "catalogMappingContext": {
- "property1": "string",
- "property2": "string"
}
}
Store credentials for OCAPI access
Allows the provided credentials to be stored securely, and then used for calls to OCAPI. Either to read data from the API or to start job executions. The availability import from NewStore to SFCC requires these credentials to be set.
Request Body schema: application/json
client_id required | string OCAPI client ID. Note for an SFCC sandbox instance, a value of "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" can be used. |
client_secret required | string OCAPI client secret. Note for an SFCC sandbox instance, a value of "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" can be used. |
Responses
Request samples
- Payload
{- "client_id": "string",
- "client_secret": "string"
}
Get routing options from the NewStore Platform.
Allows to route an order from a store.
Request Body schema: application/json
required | object An array of flat items from the shopping bag. |
required | object
|
service_levels | Array of strings |
Array of objects (RoutingOptionsRequestShippingAddress) |
Responses
Request samples
- Payload
{- "shopping_cart": {
- "catalog": {
- "shop_id": "string",
- "shop_locale": "string"
}, - "items": [
- {
- "is_preorder": true,
- "online_from": "2019-08-24T14:15:22Z",
- "preorder_start": "2019-08-24T14:15:22Z",
- "price": {
- "amount": 0,
- "currency": "string"
}, - "product_id": "string"
}
]
}, - "routing_strategy": {
- "strategy": "default",
- "fulfillment_node_ids": [
- "string"
], - "service_level_identifier": { }
}, - "service_levels": [
- "string"
], - "shipping_address": [
- {
- "address_line_1": "string",
- "address_line_2": "string",
- "city": "string",
- "country": "string",
- "phone": "string",
- "state": "string",
- "zip_code": "string"
}
]
}
Response samples
- 200
{- "items": [
- {
- "id": "string",
- "name": "string",
- "deliveryTime": "string",
- "shippingCosts": {
- "value": 0,
- "currency": "string"
}, - "fulfillmentNodes": [
- {
- "id": "string",
- "products": [
- {
- "productId": "string",
- "quantity": 0
}
], - "shippingOfferToken": "string",
- "cost": {
- "value": 0,
- "currency": "string"
}
}
]
}
]
}
Get in-store pickup options from the NewStore Platform.
Allows collecting an order from a store.
Request Body schema: application/json
required | Array of objects (InStorePickupOptionsRequestBag) |
required | object A reference geo-location. For example, the location of the customer. |
required | object In-store pickup options request parameters. |
Responses
Request samples
- Payload
{- "bag": [
- {
- "product_id": "string",
- "quantity": 0
}
], - "location": {
- "geo": {
- "latitude": 0,
- "longitude": 0
}, - "address": {
- "country": "US",
- "postal_code": "04864"
}
}, - "options": {
- "limit": 0,
- "search_radius": 0,
- "show_stores_without_atp": true
}
}
Response samples
- 200
{- "items": [
- {
- "fulfillmentNodeId": "string",
- "storeId": "string",
- "storeName": "string",
- "hasAtp": true,
- "phoneNumber": "string",
- "cost": {
- "currencyCode": "string",
- "price": 0
}, - "deliveryTime": "string",
- "distance": 0,
- "shippingOfferToken": "string",
- "address": {
- "address1": "string",
- "address2": "string",
- "city": "string",
- "countryCode": "string",
- "latitude": 0,
- "longitude": 0,
- "province": "string",
- "state": "string",
- "zipCode": "string"
}
}
]
}
Store mapping config for a catalog.
Stores the mapping config for a particular catalog, which then will be used for the transformation from the SFCC XML to NewStore JSON format.
Request Body schema: application/json
sfcc_catalog_id required | string The Catalog ID as defined in SalesForce Commerce Cloud. This ID is read when processing the uploaded input file and used to retrieve the associated mapping config. |
required | object (CatalogMappingConfigClassDTO) |
Responses
Request samples
- Payload
{- "sfcc_catalog_id": "string",
- "config": {
- "languagesPriority": [
- "en-us",
- "de-de",
- "x-default"
], - "sitesPriority": [
- "RefArch"
], - "images": {
- "include": [
- "string"
], - "is_swatch_view_type": "string",
- "pathTemplate": "string",
- "placeHolder": { }
}, - "header": {
- "categories": {
- "shop": "storefront-catalog-en",
- "locale": "en-us",
- "is_master": true
}, - "products": {
- "catalog_id": "storefront-catalog-en",
- "locale": "en-us",
- "internal_disable_image_processing": true,
- "is_master": true,
- "searchable_attributes": [
- {
- "name": "material",
- "path": "$.material",
- "weight": 1
}, - {
- "name": "color",
- "path": "$.color",
- "weight": 2
}
], - "filterable_attributes": [
- {
- "name": "color",
- "path": "$.color"
}
]
}
}, - "properties_mapping": { },
- "categories": {
- "assign_unassigned_to_root": true
}
}
}
Store mapping config for a pricebook import.
Stores the mapping config for pricebook imports, which then will be used for the transformation from SFCC XML to NewStore JSON.
Request Body schema: application/json
config required | object |
Responses
Request samples
- Payload
{- "config": { }
}
Store mapping config for a availability.
Stores the mapping config for a particular availability list, which then will be used for the transformation from NewStore JSON format to SFCC XML.
Request Body schema: application/json
inventory_list_id required | string |
config required | object |
Responses
Request samples
- Payload
{- "inventory_list_id": "string",
- "config": { }
}
Store mapping config for inventory lists.
Stores the mapping config for a particular inventory list, which then will be used for the transformation from SFCC XML to NewStore JSON format.
Request Body schema: application/json
inventory_list_id required | string |
config required | object |
Responses
Request samples
- Payload
{- "inventory_list_id": "string",
- "config": { }
}