Snapdeal Integration
App Create:
We need to create Snapdeal App in the Eshopbox workspace
Then we have to create connection for each facility.
Listing Create: Following is the mapping between product keys:
itemID: skuCode
sellerSku: supc
Inventory Updates:
We need to push Absolute Inventory using the following API:
Create Order:
Fulfillment Mode | Pull Based | Push Based |
---|---|---|
| Event Notification |
For example: Following is a mapping between Eshopbox Create Order API with Snadeal Order API Keys
Eshopbox Create Order Keys | Snapdeal Order Keys |
---|---|
|
|
|
|
|
|
|
|
Order Processing:
Order Reject:
If the seller does not have the adequate inventory for an order, then we can call the following API to reject order and it will be considered as out of stock:
API: /orders/suborder/bulk/status · Snapdeal Seller APIs
Note: Here we need to use siReferenceCode
which we can fetch from GET ORDER API at items level or we can save this siReferenceCode
in our order_items table while creating the order.
Request Body:
{
"subOrderStatusUpdates":{
"SI823006":"OOS",
"SI345668":"OOS"
}
}
If the order belongs to fulfilment models except for SD+ then we need to call the following API (To update the IMEI Number on Snapdeal ):
Note: Required if the product is a mobile phone, computer accessories etc
API Link: /orders/suborder/bulk/imei · Snapdeal Seller APIs
Request Body:
{
"imeiUpdates": {
"{{items[].lineItemSequenceNumber}}":"{{IMEI Number}}"
}
}
Order Split API: If the order has multiple line Items and the seller cannot ship them together, then we can use this API
(OPTIONAL) API: /orders/split · Snapdeal Seller APIs
Request Body:
{
"subOrderIds":[
["SI777000"],
["SI777018", "SI123934"],
["SI798763"]
],
"fulfillmentType": "DROPSHIP",
"invoiceCodes": ["14323", "22342", "34587"]
}
To update the Invoice code:
API Link: /orders/invoice · Snapdeal Seller APIs
Request Body:
{
"invoiceUpdates": {
"SLP108858": {
"fulfillmentType": "DROPSHIP",
"invoiceCode": "samplecode1"
}
}
}
Generate Invoice:
API: /orders/print · Snapdeal Seller APIs
Request Body:
{
"fulfillmentType":"ONESHIP",
"orderCodes":["SLP815139"],
"thermalEnabled":false
}
Response:
{
"metadata": {
"requestId": "df865aee-87fc-4ecc-af19-9373cd644fdc",
"clientId": "clientId",
"responseTime": 5,
"requestedURI": "POST /orders/print"
},
"payload": {
"downloadLink": "https://sdl-seller-api.s3.amazonaws.com/orderExport/aace21_INVOICE_ONESHIP_1456212979434.pdf",
"orderDetails": {
"SLP815139": {
"operationSuccessful": true
},
"SLP815137": {
"operationSuccessful": true
}
}
}
}
Mark Order as Delivered: We need to mark the order delivered in our system against each order present in the response of this API
API: /orders/completed · Snapdeal Seller APIs
Mark Order as Cancelled: We need to mark the order cancelled in our system against each order present in the response of this API
API: /suborders/cancelled · Snapdeal Seller APIs
Open Questions:
Q1. What will be the fulfilment mode for Eshopbox?
Possible values:
Dropship
Oneship
Oneship Plus (OC+)
SD+
Vendor Self
Q2. We get the IMEI number in Order Response at the items level, where do we need to save it?
Key: packages[].items[].serializedUniqueId
Q3. Do we need to call Manifest API?
API 1: Once the order has been printed and physically packed, we need to call the following API to mark status of order as “AHOS“
API Link: /oneship/hos · Snapdeal Seller APIs
Request Body:
{
"orderCodes":["SLP775880"]
}
Response:
{
"metadata": {
"requestId": "08571e27-c7ac-43da-ad4b-36cb903afc76",
"clientId": "ePaisa",
"responseTime": 11,
"requestedURI": "POST /oneship/hos"
},
"payload": {
"handOverCode": "HOS11111",
"handOverDetails": {
"SLP775880": {
"operationSuccessful": true
}
}
}
}
API 2: If we want to add the number of orders in a HOS then we can do with the following API but we can add only if HOS is open: We need to pass handover code in params
API Link: http://sellerapis.snapdeal.com/v1.1/docs/oneshiphosid-1
Request Body:
{
"orderCodes":["SLP816457"]
}
Response:
{
"metadata": {
"requestId": "2d777afb-44cf-4cbd-9c08-f1c0595f804e",
"clientId": "ePaisa",
"responseTime": 65,
"requestedURI": "PUT /oneship/hos/HOS12144"
},
"payload": {
"handOverDetails": {
"SLP816457": {
"operationSuccessful": true
}
}
}
}
API 3: Then we can call the following API to print HOS:
API Link: /oneship/hos/print · Snapdeal Seller APIs
Request Body:
{
"handOverCode":"HOS12071"
}
Response:
{
"metadata": {
"requestId": "7588a208-93e6-412b-b810-2ada1da0ae83",
"clientId": "ePaisa",
"responseTime": 32,
"requestedURI": "POST /oneship/hos/print"
},
"payload": {
"operationSuccessful": true,
"downloadLink": "https://sdl-seller-api.s3.amazonaws.com/orderExport/e81b95_HANDOVER_1456213940240.pdf"
}
}
Q4. We have to update IMEI number for electronic accessories but do we have to call InvoiceCode update API ? is it mandatory or optional?