Product and Inventory APIs (V1)

Below are the headers required to trigger Fenix’s Product and Inventory API

Authentication API

Resource Name

Authentication:

Authenticate external system against the Fenix Inbound data pipeline.

URL

/login

Method

POST

Headers

  • username

  • password

  • x-api-key

Response Body

{ "id": "", "firstName": "fenixname", "lastName": "Dev", "phone": null, "emailId": "fenixname", "type": "business_user", "status": "ACTIVE", "organizationId": "", "authToken": "MWI2MjcwMTMwhZjQzZDJkMmNmNTI", "x-identity": "dd77ab3404b93ecebnbhbhbdc04c87fda804c" }

 

Header Name

Description

Header Name

Description

Header Name

Description

Header Name

Description

store_name

Name of the retailer’s store (Shopify, BigCommerce, Enterprise, etc…) which configured in the Fenix System to enable fenix post purchase experience.

Note: Fenix Team provides it as part of intial Inbound Integration discussion.

x-api-key

Note: Fenix Team provides it as part of intial Inbound Integration discussion. And, it gets rotated every 6 months.

authToken

To authenticate the external system(_3PLs, Enterprise, etc…) which triggers the Fenix Inbound APIs

Note1: To get the authToken, external systems must trigger Authentication API using user_name and password provided by the Fenix Team. Collect authToken from API response payload, then use it in further order & fulfillment APIs.

Note2: External systems must refresh the authToken every 4 hours (UTC) as it get expired every 4 hours in the Fenix.

x-identity

To authorise the external system (_3PLs, Enterprise, etc…) to pump above mentioned retailer’s (Shopify, BigCommerce, Enterprise, etc…) orders and fulfillments into the Fenix system.

Note: It available as part of the Authention API response payload. And, it gets rotated every 3 months.

content-type

Request Payload(order & fulfillment) format.

Note: Fenix supported type application/json

username & password

These are used to get authToken & x-identity from Authentication API.

Note: These are belongs to external systems (_3PLs, Enterprise, etc…) which pumps retailer’s (Shopify, BigCommerce, Enterprise, etc…) order & fulfillment data into the Fenix.

Note: Fenix Team provides them as part of intial Inbound Integration discussion.

Product Create/Update API

Resource Name

Rest Endpoint to send the prodcut data information Fenix

Resource URL

/api/v1/external/products

Method

POST

Headers

  • store_name

  • authToken

  • x-api-key

  • x-identity

  • content-type

Request Payload

{
"webId" : "11974-CK-ST",
"width" : 0.0,
"girth" : 0.0,
"length" : 0.0,
"height" : 9.9,
"weight" : 5.55,
"productId" : null,
"productName" : "CaliKingStone",
"categoryId" : null,
"categoryName" : null,
"weightUnits" : null,
"dimensionUnits" : null,
"giftItem" : null,
"leadTime" : 0,
"vendorName" : "39021518913686",
"id" : "11974-CK-ST"
}

Response Payload

NA

Response Status

201 - Success

400 – Failure

401 - Un-Authentication

Product API Request Payload Data Model:

Attribute Name

Data Type

Description

id

String

A unique identifier in the entire data model which represent the product.

webId(*)

String

sku name

vendorName

String

The name of the product's vendor.

productId(*)

String

The product id

productName (*)

String

The name of the product

dimension.swidth (*)

Integer

product width

dimensions.girth (*)

Integer

product girth

dimensions.length (*)

Integer

product length

dimensions.height(*)

Integer

product height

weight.weight (*)

Integer

product weight

categoryId

String

categoryId of product

categoryName

String

categoryName of product

weight.weightUnits

String

weight units (default: LBS)

dimensions.dimensionUnits

String

dimension units

giftItem

Boolean

is gift item

leadTime

Integer

product have any lead time

Inventory Create/Update API

Resource Name

Rest Endpoint to send the prodcut data information Fenix

Resource URL

/api/v1/external/inventory

Method

POST

Headers

  • store_name

  • authToken

  • x-api-key

  • x-identity

  • content-type

Request Payload

{
"id" : "RNO_12829-QN-NV",
"webId" : "12829-QN-NV",
"quantity" : 0,
"threshold" : 0,
"hfrFlag" : false,
"locationId" : "RNO",
"allocatedQuantity" : 0
}

Response Payload

NA

Response Status

201 - Success

400 – Failure

401 - Un-Authentication

Inventory API Request Payload Data Model:

Attribute Name

Data Type

Description

id

String

A unique identifier in the entire data model which represent the product.

webId(*)

String

sku name

quantity

String

number of skus

threshold(*)

Integer

sku have any threshold

locationId (*)

String

sku have in which location

allocatedQuantity (*)

Integer

how many skus allocated

Â