Seller Panel V3 APIs Integration Guide
Technology Stack: Rest Framework
Version 3.2
eRetail V3 JIT APIs
eRetail V3 JIT APIs
Generic Information
Date Fields:
- Date Format: dd/MM/yyyy
- Date Time Format: dd/MM/yyyy HH:mm:ss
- Time Zone: IST
Authentications:
ApiKey in Request Headers (ApiKey retrieved through AuthToken Call.)
Web Service Details:
- Technology: Restful Web Services
- Request Type: Post (Except: AuthToken)
- Encoding: application/x-www-form-urlencoded
- Communication Type: JSON
- Page Number and limit are optional (default PageNumber 1 limit 100)
- Maximum Limit 100.
Username and Password:
Developer or Integrator must get in touch with the Marketplace Team or account Manager to get the Username and password.
1. AuthToken
The Auth Token generated in response is a Static Token and is having a validity of 10 years. The
developer/integrator should make this call only once. There is no need to keep calling this API in
repeat mode.
Also, In case of a Seller/vendor having multiple Warehouse, This token remains the same for all
the locations/Warehouses/Child Sellers of that seller.
- API URL: https://xxxxx/RestWS/api/sellerPanel/v3/authToken
- Method: GET
- Request Params: username=50TEST&password=pass
- Sample Request: http://preprod.vineretail.com/RestWS/api/sellerPanel/v3/authToken?username=51TEST4&password=sa@321
Sample Response:
2. Product Fetch
This API is used to fetch the Product details from Seller Panel.
This API can be called either to fetch the entire list of SKUs created/updated created or Updated
after a specific date or to fetch the Detail of 1 Product.
Best Practice is to Pull all the Product details from Seller Panel go Live date to the integration go live
date. Once the entire list is pulled/created. It is advised that the developer/integrator should call this
API on passing the date and time of the current date so that only the Updated records/ New created
records will be pulled.
- API URL: https://xxxxx/RestWS/api/sellerPanel/v3/productFetch
- Method: POST
- API Hit Rate: 40 hits in 300 Seconds
- Content-Type: application/x-www-form-urlencoded
Sample Curl:
Case 1: To fetch the list of Products created/Updated after a specific date.
Request: (to be passed as key Value Pair)
RequestBody:{"updatedDate": "01/01/2015 00:00:00",↵"skuCode":
[],"pageNumber":1,"limit":100}
Response:
Case 2: To fetch the details of specific Product.
Request: (to be passed as key Value Pair)
RequestBody:{ "updatedDate":"", "skuCode":[ "TEST-55829-00007", "TEST-55829-00011"
], "pageNumber":1, "limit":100 }
Response:
SkuCode and Updated date both filters are provided, Updated date filter will be ignored.
API Request Field Mapping
API Response Field Mapping
Field Name | Description |
responseCode | Specify whether there was any error |
responseMessage | “Success” or not |
productList |
|
sku | Marketplace SKU Code |
vendorSkuCode | Vendor SKU code of the vendor Selling on the Marketplace |
MfgSkuCode | Manufacturing SKU Code of the vendor Selling on the Marketplace |
skuName | Name of the SKU Code |
mrp | MRP of the SKU |
salePrice | Selling Price of SKU |
baseCost | Base Cost of SKU |
status | SKU status 1 for active |
lastUpdateDate | Last Updated date of the SKU |
brand | Brand of the SKU |
color | Color of the SKU |
size | Size of the SKU |
weight | Weight of the SKU |
length | Length of the SKU |
width | Width of the SKU |
height | Height of the SKU |
serialTracking | Whether IMEI is enable or not |
sellerId | Child Warehouse Id of the Seller (Applicable in case of Seller Multi Loc) |
3. Inventory Price Update
This API is used to Update the available inventory or Price of the seller. The seller can pass 100 SKUs in 1
Batch.
Best Practice is to Hit the API If and only If there is a transaction happened at seller’s end. (Increase
or decrease in inventory).
For the inventory reconciliation on daily or weekly basis or for the first-time inventory Update for all
the SKUs. It is advised to call this API in such a way that the batch size is 100 and the No. of requests
should not be greater than 40 per 5 minutes (means in 5 minutes, Inventory of 4000 SKUs gets
updated). Pick the remaining SKUs in another batch and execute it after 5 minutes.
API URL: https://xxxxx/RestWS/api/sellerPanel/v3/authToken
Method: GET
Request Params: username=50TEST&password=pass
Sample CURL:
Case 1: If the Vendor has 1 single Warehouse
Sample Response:
Case 2: If the Seller have multiple locations.
(Request to be used as a form Data)
RequestBody:{↵"invPriceList":[↵{ "sku":"CSKU1", "salePrice":"205",
"invQty":11,"sellerId":"MWHP"},↵{ "sku":"CSKU2", "salePrice":"230",
"invQty":14,"sellerId":"MWHP"}↵]↵}
Response:
Case 3: Response if the SKU code does not exist in system:
API Request Field Mapping
Field Name | Data Type | Mandatory | Description |
sku | Varchar(50) | Mandatory | SKU code |
invQty | Decimal(10,3) | Optional | Inventory quantity that needs to be updated |
salePrice | Decimal(10,3) | Optional | Selling Price that needs to be Updated |
sellerId | Varchar(20) | Optional | Seller Id of the Child Seller (applicable in case of multi WH of seller) |
API Response Field Mapping
Field Name | Description |
responseCode | Specify whether there was any error |
responseMessage | “Success” or not |
SKU |
|
sku | Marketplace SKU Code |
moderationId | Moderation Id is a key representing that request uniquely. Status of this request can be checked by “inventoryPriceStatus” API |
sku | Marketplace SKU Code |
requestedInvQty | Requested quantity by the user |
approvedInvQty | Updated/Approved quantity of the Update (If Updated Successfully) |
status | Whether the status is Pending or Confirmed |
requestedSalePrice | Requested Selling Price Updated by the user |
SellerID | SellerId of the Child Seller for which the inventory is Updated. |
4. Inventory Price Status
This API is used to fetch the final Status of the inventory Update API calls made in Batches.
API URL: https://xxxxx/RestWS/api/sellerPanel/v3/inventoryPriceStatus
API Hit Rate: 40 hits in 300 Seconds
Request:
RequestBody = {
"moderationIdsList": [ 108, 109 ]
}
Response:
Maximum 100 ModerationsIds can be pushed in one call.
API Request Field Mapping
Field Name | Data Type | Mandatory | Description |
moderationIdsList | Integer(11) | Mandatory | Array of moderation Id needed. |
API Response Field Mapping
Field Name | Description |
responseCode | Specify whether there was any error |
responseMessage | “Success” or not |
skus | Array of SKUs |
moderationId | Unique Identifier generated on inventory Update Feed |
sku | SKU Code |
requestedInvQty | Inventory updates requested by the user |
approvedInvQty | Updated or Approve quantity in system if updated successfully |
status | Whether the Status is Pending or Confirmed successfully |
requestedSalePrice | Requested selling price sent by the user for Update |
sellerId | Seller Id of the child Seller for which the inventory is updated (Applicable for Multi WH Seller) |
5. Order List /Order List JIT
This API is used to fetch the List of Orders created after a specific date. The No. of orders in 1 Page in the response is 100.
It is advised that the developer or integrator should store the Last Order Create date in the System and make the next call from that time at which the last order is pulled. This can provide the most relevant response else the same No. of orders keeps on repeating in every response.
Filter Status List is available in the Annexure in the last of this document.
This API provides all the orders in response (both the created as well as If an old order is updated after the date-time passed in the API request). Hence it is not required to check the details of an individual orders by calling the OrderFetch API after a specific interval of time for every single order.
Possible cases because of which an older order (order date older than the filter passed in the request but updated within the filter passed).
- If a new order is created
- If an order is partially canceled.
- If an order is fully canceled.
- Any details on the existing order is updated.
To Pull the new and canceled or partially canceled orders, please pass the filter status 5, 8 as mandatory status in every request.
For a Dropship Seller,
API URL: https://xxxxx/RestWS/api/sellerPanel/v3/orderList
For JIT Seller,
API URL: https://xxxxx/RestWS/api/sellerPanel/v3/orderListJIT
API Hit Rate: 40 hits in 300 Seconds
Case 1: For a seller having 1 single warehouse.
Request:
RequestBody:{"updateDate":"01/08/2015 21:00:00", "filterStatusList":"5,8,15,25","pageNumber":1,"limit":200}
Case 2: For a seller having multi Warehouse
Request:
RequestBody:{"updateDate":"30/07/2020 17:55:09", "filterStatusList":"5,8,15,25,10,18","sellerId":"mwhc2","pageNumber":"1","limit":"200"}
Response:
Please Note: Order List in output is ordered by OrderLastUpdateDate ASC
API Request Field Mapping
Field Name | Data Type | Mandatory | Description |
updateDate | DateTime | Optional | Either updatedDate filterStatusList needed. Get Orders from updateDate to current date. |
filterStatusList | Integer | Optional | Comma Separated status |
sellerId | Varchar (20) | Optional | Seller Id of the child Seller for which the inventory is updated (Applicable for Multi WH Seller) |
API Response Field Mapping
Field Name | Description |
responseCode | Specify whether there was any error |
responseMessage | “Success” or not |
orderList |
|
orderNo | This is External Order No. |
orderStatus | e. g. 5,10 etc. (other status mentioned in the Annexure in the last of this document). |
orderDate | Date of the Order Created, For JIT API, it is the date of PO created |
orderLastUpdateDate | Last Updated date of the Order. |
onHold | Whether the status of Order or PO is on HOLD. |
sellerId | Seller Id of the child Seller for which the inventory is updated (Applicable for Multi WH Seller) |
6. Order Fetch /Order Fetch JIT
This API is used to fetch the details of the Orders received in the response of OrderList API.
It is advised that the developer or integrator should not call this API to fetch the status of the individual order. Use this API to fetch the info of the Orders coming in the response of Order List API as that already have all those orders in response that got updated, canceled, created.
For Dropshipping,
API URL: https://xxxxx/RestWS/api/sellerPanel/v3/orderFetch
For JIT,
API URL: https://xxxxx/RestWS/api/sellerPanel/v3/orderFetchJIT
API Hit Rate: 80 hits in 300 Seconds
Request:
RequestBody:{"orderNo" : ["83724872-1"] }
CURL:
Response:
API Request Field Mapping
Field Name | Data Type | Mandatory | Description |
orderNo | Varchar(50) | Mandatory | This is Master Order No. Array of Master Order no needed. |
API Response Field Mapping
Field Name | Description |
responseCode | Specify whether there was any error |
responseMessage | “Success” or not |
orders |
|
orderNo | This is External OrderNo |
orderStatus | e. g. 5,10 |
orderDate | Date of the order Placed, For JIT vendor, it’s date of PO created |
customerName | Name of the Customer to Whom the order needs to be shipped |
paymentMethod | e.g.1,2 (Mentioned in the Annexure in the last of this doc) |
orderAmount | Amount of the Order |
orderCurrency | Currency |
orderTaxAmount | Tax Amount on Order or JIT PO. |
onHold |
|
shippingCharge | Shipping Charges on Order |
discountAmount | Discount Amount |
discCouponCode | Credit Coupon Code |
storeCredit | Credit Discount |
gvAmount | Gift voucher Amount |
codCharge | Cod/Handling Charges |
address1 | Ship address1 |
address2 | Ship Address2 |
address3 | Ship Address3 |
phone | Ship Phone |
Ship Email | |
countryCode | Country |
state | Ship State |
city | Ship City |
pinCode | Ship Pincode |
billToName | Biller Name |
bill_Address1 |
|
bill_Address2 |
|
bill_Address3 |
|
bill_Phone |
|
bill_Email |
|
bill_CountryCode |
|
bill_State |
|
bill_City |
|
bill_ZipCode |
|
cancelRemark |
|
reasonForCancellatio |
|
n | |
priority | Order Priority |
orderLastUpdateDate | Last updated date of the Order |
orderItems |
|
lineNo | Order Item Line no |
deliveryMode |
|
skuCode | SKU code |
skuName | Name of the SKU |
orderQty | Ordered quantity by the customer. For JIT, it is the PO qty raised by the brand to vendor. |
rejectedQty | Quantity rejected by the vendor |
cancelledQty | Customer Cancelled qty |
shippedQty | Shipped qty of that order |
returnedQty | Qty returned by the customer |
deliveredQty | Qty delivered to the customer |
lineAmount | Line amount= Unit Price x Line Order quantity |
lineTaxAmount | Total tax on that line |
unitPrice | Unit Price of that SKU per qty |
mrp | MRP of the SKU per qty |
discountAmount | Line Discount Amount |
shippingCharge | Shipping Charges on that line |
codCharge | COD/Handling charges on that line |
invoiceNo | Invoice No. |
transCode | Transporter Code |
transName | Name of the Transporter |
awbNo | Tracking No. |
imeiNos | IMEI No. of the SKU |
confirmDate | Order confirm date |
gvAmount | Gift voucher Amount |
storeCredit | Store Discount |
lineStatus | Line Item Status |
cst |
|
vat |
|
7. Generate Invoice
This API is used to invoice the Order.
API URL: https://xxxxx/RestWS/api/sellerPanel/v3/generateInvoice
API Hit Rate: 80 hits in 300 Seconds
CURL:
Request:
RequestBody:{"orderItemsList": [{"orderNo": "639-1","lineNo": "1","invoiceNo":
"VANHEUSEN00001","transporterName": "","trackingNo": "","weight":"0.5"}]}
Response:
API Request Field Mapping
Field Name | Data Type | Mandatory | Description |
orderNo | Varchar(50) | Mandatory | This is MasterOrderNo . |
lineNo | Integer(11) | Mandatory |
|
invoiceNo | Varchar(50) | Optional |
|
transporterName | Varchar(200) | Mandatory | Transport name like ECOM,BlueDart etc. |
trackingNo | Varchar(50) | Mandatory |
|
imeiNos | Varchar(100) | Optional |
|
|
|
|
|
API Response Field Mapping
Field Name | Description |
responseCode | Specify whether there was any error |
responseMessage | “Success” or not |
invoiceNo |
|
8. Fetch Invoice
This API is used to Fetch the invoice info of the order.
API URL: https://xxxxx/RestWS/api/sellerPanel/v3/fetchInvoice
API Hit Rate: 80 hits in 300 Seconds
CURL:
Request:
RequestBody:{"invoiceNo" : "TEST11920000005" }
Response:
API Request Field Mapping
Field Name | Data Type | Mandatory | Description |
invoiceNo | Varchar(50) | Mandatory |
|
API Response Field Mapping
Field Name | Description |
responseCode | Specify whether there was any error |
responseMessage | “Success” or not |
invoiceItems |
|
orderNo | This is Master Order No. |
orderDate |
|
orderLastUpdateDate |
|
orderStatus |
|
lineNo |
|
lineInvoiceNo |
|
lineStatus |
|
lineTransporterCode |
|
lineTransporterName | Transporter Name like By Hand delivery , ECOM,Bluedart etc. |
lineTrackingNo |
|
lineImeiNos |
|
9. Fetch Documents
API URL: https://xxxxx/RestWS/api/sellerPanel/v3/fetchDocuments
API Hit Rate: 80 hits in 300 Seconds
CURL:
Request:
RequestBody:{ "invoiceNo": "TEST1819000001", "documentType": "ShippingLabel"}
Response:
(the output will be a pdf stream).
%PDF-1.5
%����
2 0 obj
<</Length 28/Filter/FlateDecode>>stream
x�+�r
�26S�03QI�r
�
�
API Request Field Mapping
Field Name | Data Type | Mandatory | Description |
invoiceNo | Varchar(50) | Mandatory |
|
documentType | Varchar(200) | Mandatory | Document type like “shippingLable”,”Invoice” |
API Response Field Mapping
Field Name | Description |
| Output will be a PDF stream which contains the label file and the response contains the content-type, file-Type etc.
|
10. Order Ship
This API is used to mark the orders as Dispatched. Developer or integrator can pass 100 hundred orders in 1 single request.
API URL: https://xxxxx/RestWS/api/sellerPanel/v3/orderShipping
API Hit Rate: 200 hits in 300 Seconds
CURL:
Request: (in Key value Pair)
RequestBody:{ "shipDetails": [{ "orderNo": "71988508-1", "awbNo": "NYK-3299-SP"
}]}
Response:
API Request Field Mapping
Field Name | Data Type | Mandatory | Description |
orderNo | Varchar(50) | Mandatory |
|
invNo | Varchar(50) | Mandatory |
|
API Response Field Mapping
Field Name | Description |
responseCode | Specify whether there was any error |
responseMessage | “Success” or not |
11. Order Cancellation
This order is used to push the seller's cancellation. 1 order will be cancelled in 1 request.
API URL: https://xxxxx/RestWS/api/sellerPanel/v3/orderCancellation
API Hit Rate: 40 hits in 300 Seconds
CURL:
Request:
RequestBody:{"orderNo": "59878966-1"}
Response:
API Request Field Mapping
Field Name | Data Type | Mandatory | Description |
orderNo | Varchar(50) | Mandatory |
|
API Response Field Mapping
Field Name | Description |
responseCode | Specify whether there was any error |
responseMessage | “Success” or not |
12. Back Order Fetch API
This API is used to fetch the Pendency or Back Order inventory or Reserved inventory against the Orders and applicable to JIT vendors only. This API provides all the SKUs with their Back Order quantity in response.
API URL: https://xxxxx.vineretail.com/RestWS/api/sellerPanel/v3/skuBackOrder
Method: GET
API Hit Rate: 40 hits in 300 Seconds
CURL:
Response:
API Response Field Mapping
Field Name | Description |
VendorCode | Vendor Code for which the Back order qty is fetched |
SKU | SKU Code of Brand |
Price | Vendor Price of the SKU |
VendorSKUCode | SKU code of the vendor |
Qty | Back Order inventory that needs to be blocked |
Swagger Link:
https://erp.vineretail.com/SellerPanelV3/#
Annexure - Error Codes
Response Code | Response Message |
0 | Success |
9 | Generic Error |
11 | Invalid API credentials |
13 | API Hit Quota Exceeded |
14 | API credentials are no more active |
15 | API credentials has been expired |
Annexure – Order Status
Status Code | Status Text |
1 | Pending |
5 | Confirmed |
8 | Cancelled |
10 | Ready for Ship |
12 | AWB InProcess |
15 | Shipped |
18 | In Process |
20 | Intransit |
25 | Delivered |
30 | Ready for Pickup |
35 | Pickup Intransit |
40 | Pickup Confirmed |
45 | Disputed |
50 | Rejected |
55 | Returned |
60 | RTO |
65 | RTO Delivered |
Annexure – Order Payment Method
Status Code | Status Text |
1 | Prepaid |
2 | COD |
Annexure – Delivery Mode
Status Code | Status Text |
1 | Direct Ship |
2 | Vendor Self Delivery |
3 | Fulfilled by RD (One Ship) |
4 | Seller on Inventory |
5 | Ship via FC |