Assure Magic V2 API Documentation for ERP Systems
HTTP Status Codes and Bodies 8
Master Interface API Reference 9
Inbound | POST | /master/vendors 9
Inbound | PUT | /master/vendors 10
Inbound | GET | /master/vendors/{vendorCode} 12
Inbound | POST | /master/vendors/{vendorCode}/locations 13
Update Vendor Location Master 16
Inbound | PUT | /master/vendors/{vendorCode}/locations 16
Search Vendor Location Master 18
Inbound | GET | /master/vendors/{vendorCode}/locations/{vendorLocationCode} 18
Inbound | POST | /master/customers 20
Inbound | PUT | /master/customers 22
Inbound | GET | /master/customers/{customerCode} 23
Add Customer Location Master 24
Inbound | POST | /master/customers/{customerCode}/locations 24
Update Customer Location Master 27
Inbound | PUT | /master/customers/{customerCode}/locations 27
Search Customer Location Master 29
Inbound | GET | /master/customers/{customerCode}/locations/{customerLocationCode} 29
Inbound | POST | /master/articles 32
Inbound | PUT | /master/articles 35
Inbound | POST | /master/articles/search 37
Add / Update SKU Attributes 39
Inbound | PUT | /master/sku-attributes 39
Inbound | POST | /master/sku-attributes/search 41
Inbound | POST | /master/sku-listings 43
Create Virtual SKU Definition 44
Inbound | POST | /master/articles 44
Search Virtual SKU Definition 45
Inbound | POST | /master/articles 45
Order Interface API Reference 46
Inbound | POST | /orders/outward 46
Create Outward Order Using Partner Codes 51
Inbound | POST | /orders/outward/partner-code 51
Inbound | POST | /orders/inward 55
Inbound | PUT | /orders/{orderCode}/cancel 57
Outbound | PUT | {Client’s URL} 58
Inbound | PUT | /orders/{orderCode} 59
Outbound | POST | {Client’s URL} 60
GRN Interface API Reference 67
Outbound | POST | {Client’s URL} 67
GRN Posting Gate Entry Wise 69
Outbound | POST | {Client’s URL} 69
GRN Notifications (Near Real Time) 70
Outbound | POST | {Client’s URL} 70
Gate Entry GRN Notifications (Near Real Time) 72
Outbound | POST | {Client’s URL} 72
Shipment Interface API Reference 75
Outbound | POST | {Client’s URL} 75
Outbound | GET | {Client’s URL} 82
Outbound | GET | {Client’s URL} 84
Outbound | POST | {Client’s URL} 85
Return Order Interface API Reference 86
Outbound | POST | {Client’s URL} 86
Inventory Interface API Reference 93
Outbound | PUT | {Client’s URL} 93
Inbound | POST | /inventories 94
Introduction
Assure Magic provides a set of APIs which help any external system (channel) to integrate with Assure Fulfillment Platform like:
E-commerce portal (Assure MagicV2 API Documentation for Ecommerce)
Flow Diagram
Setting Up
Go through the Assure Magic documentation and Assure magic FAQ document
Mail to assure.support@increff.com for exchange of credentials
Implement required APIs at your end
Test your APIs in staging environment
Once APIs are developed and tested, please repeat the above process to go live in the production system
Protocols
REST Synchronous calls
Format
JSON format
API Invocation
Following headers need to be provided (unless otherwise stated). The credentials will be provided to you upon request.
authUsername
authPassword
Content-Type: application/json
Rate Limiting
We have rate limiting applied for inbound calls to Assure magic from any external source. We can allow 200 inbound requests per minute for any client. This rate limiting is applied across all inbound calls and it is not at url level. For eg. ERP can make 100 create inward order calls and 100 create vendor master calls i.e. total 200 inbound requests per minute. For this kind of errors, status code will be 429 and calls should be retried from external source to Assure Magic 2.
Staging Environment Url
Base-URL : https://staging-oltp.increff.com/assure-magic2
ASIM Environment Url
https://assure-proxy-asim.increff.com/assuremagic2/
HTTP Status Codes and Bodies
Both end points must use only following HTTP Status Codes
200: In case of success
400: In case of bad request data
401: In case of authentication / authorization failure
404: In case of URL does not exist
500: In case of an Internal Server Error
In case of a 400 or 500 error, following response body JSON should be thrown by the client system in case there is an error
{
"hasError":true,
"errorMessage":"string"
}
In case of a 400 or 500 in the Assure system , the below JSON body will be thrown.
{
"code": "BAD_DATA",
"message": "Input validation failed",
"description": "[channelSkuCode: may not be null]"
}
Master Interface API Reference
Create Vendor Master
Inbound | POST | /master/vendors
Summary
This API creates vendor masters in Assure.
Description
ERP systems recognise their vendors/suppliers with a code which is commonly referred to as vendor code. This API can be used to create vendors corresponding to the ERP vendors in Assure.
Request
{
"vendorCode":"ErpVendorCode",
"name": "name",
"isExcessGrnAllowed":true/false,
"address":{
"name":"vendor",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
}
}
Parameter Name | Data Type | Description | Mandatory |
| String | Code used by ERP to identify vendors | yes |
| String | Name of vendor | yes |
| boolean | isExcessGrnAllowed for the supplier | No |
| Object | Address of vendor | yes |
| String | Name of vendor | yes |
| String | 1st line of vendor’s address | yes |
| String | 2nd line of vendor’s address | no |
| String | 3rd line of vendor’s address | no |
| String | City of vendor | yes |
| String | State of vendor | yes |
| String | ZIP/Pin code of vendor | yes |
| String | Country of vendor | yes |
| String | Email of vendor | yes |
| String | Phone Number of vendor | no |
Response
EmptyBody
HttpStatus : 200
Update Vendor Master
Inbound | PUT | /master/vendors
Summary
This API updates vendor masters in Assure.
Description
This API can be used to update vendors which were already created by Create Vendor Master API. Except vendorCode, all fields are updatable.
Request
{
"vendorCode":"ErpVendorCode",
"name": "name",
"isExcessGrnAllowed":true/false,
"address":{
"name":"vendor",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
}
}
Parameter Name | Data Type | Description | Mandatory |
| String | Code used by ERP to identify vendors | yes |
| String | Name of vendor | yes |
| boolean | isExcessGrnAllowed for the supplier | No |
| Object | Address of vendor | yes |
| String | Name of vendor | yes |
| String | 1st line of vendor’s address | yes |
| String | 2nd line of vendor’s address | no |
| String | 3rd line of vendor’s address | no |
| String | City of vendor | yes |
| String | State of vendor | yes |
| String | ZIP/Pin code of vendor | yes |
| String | Country of vendor | yes |
| String | Email of vendor | yes |
| String | Phone Number of vendor | no |
Response
EmptyBody
HttpStatus : 200
Search Vendor Master
Inbound | GET | /master/vendors/{vendorCode}
Summary
This API returns vendor master data available for a vendor code in Assure.
Description
This API returns vendor master data available for a vendor code in Assure.
Request
EmptyBody
Response
{
"vendorCode":"ErpVendorCode",
"name": "name",
"address":{
"name":"vendor",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
}
}
HttpStatus : 200
Parameter Name | Data Type | Description |
| String | Code used by ERP to identify vendors |
| String | Name of vendor |
| Object | Address of vendor |
| String | Name of vendor |
| String | 1st line of vendor’s address |
| String | 2nd line of vendor’s address |
| String | 3rd line of vendor’s address |
| String | City of vendor |
| String | State of vendor |
| String | ZIP/Pin code of vendor |
| String | Country of vendor |
| String | Email of vendor |
| String | Phone Number of vendor |
Add Vendor Location Master
Inbound | POST | /master/vendors/{vendorCode}/locations
Summary
This api creates a vendor’s location in Assure.
Description
ERP systems recognise their vendor location with a code which is commonly referred to as vendor location code. This API can be used to create vendor locations corresponding to the ERP vendor locations in Assure.
Request
{
"vendorLocationCode":"vendorLocationCode",
"gstin":"ABBDEC567HH",
"billingAddress":{
"name":"name",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
},
"shippingAddress":{
"name":"name",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
}
}
Parameter Name | Data Type | Description | Mandatory |
| String | Code of already created vendor in Assure by ERP | yes |
| String | GSTIN number | yes |
| String | Code of new location to be added | yes |
| Object | Address of vendor’s location | yes |
| String | Name of vendor’s location | yes |
| String | 1st line of vendor location’s address | yes |
| String | 2nd line of vendor location’s address | no |
| String | 3rd line of vendor location’s address | no |
| String | City of vendor’s location | yes |
| String | State of vendor’s location | yes |
| String | ZIP/Pin code of vendor’s location | yes |
| String | Country of vendor’s location | yes |
| String | Email of vendor’s location | yes |
| Object | Address of vendor’s location | yes |
| String | Name of vendor’s location | yes |
| String | 1st line of vendor location’s address | yes |
| String | 2nd line of vendor location’s address | no |
| String | 3rd line of vendor location’s address | no |
| String | City of vendor’s location | yes |
| String | State of vendor’s location | yes |
| String | ZIP/Pin code of vendor’s location | yes |
| String | Country of vendor’s location | yes |
| String | Email of vendor’s location | yes |
Response
EmptyBody
HttpStatus : 200
Update Vendor Location Master
Inbound | PUT | /master/vendors/{vendorCode}/locations
Summary
This api updates a vendor’s location in Assure.
Description
This API can be used to update vendor locations which were created by Add Vendor Location Master API. Except vendor location code, all fields can be updated.
Request
{
"vendorLocationCode":"vendorLocationCode",
"gstin":"ABBDEC567HH",
"billingAddress":{
"name":"name",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
},
"shippingAddress":{
"name":"name",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
}
}
Parameter Name | Data Type | Description | Mandatory |
| String | Code of already created vendor in Assure by ERP | yes |
| String | GSTIN number | yes |
| String | Code of new location to be added | yes |
| Object | Address of vendor’s location | yes |
| String | Name of vendor’s location | yes |
| String | 1st line of vendor location’s address | yes |
| String | 2nd line of vendor location’s address | no |
| String | 3rd line of vendor location’s address | no |
| String | City of vendor’s location | yes |
| String | State of vendor’s location | yes |
| String | ZIP/Pin code of vendor’s location | yes |
| String | Country of vendor’s location | yes |
| String | Email of vendor’s location | yes |
| Object | Address of vendor’s location | yes |
| String | Name of vendor’s location | yes |
| String | 1st line of vendor location’s address | yes |
| String | 2nd line of vendor location’s address | no |
| String | 3rd line of vendor location’s address | no |
| String | City of vendor’s location | yes |
| String | State of vendor’s location | yes |
| String | ZIP/Pin code of vendor’s location | yes |
| String | Country of vendor’s location | yes |
| String | Email of vendor’s location | yes |
Response
EmptyBody
HttpStatus : 200
Search Vendor Location Master
Inbound | GET | /master/vendors/{vendorCode}/locations/{vendorLocationCode}
Summary
This API returns vendor location master data available for a vendor code and vendor location code in Assure.
Description
This API returns vendor location master data available for a vendor code and vendor location code in Assure.
Request
EmptyBody
Response
{
"vendorCode": "vendorCode",
"vendorLocationCode":"vendorLocationCode",
"gstin":"ABBDEC567HH",
"billingAddress":{
"name":"name",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
},
"shippingAddress":{
"name":"name",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
}
}
HttpStatus : 200
Parameter Name | Data Type | Description |
| String | Code of already created vendor in Assure by ERP |
| String | GSTIN number |
| String | Code of new location to be added |
| Object | Address of vendor’s location |
| String | Name of vendor’s location |
| String | 1st line of vendor location’s address |
| String | 2nd line of vendor location’s address |
| String | 3rd line of vendor location’s address |
| String | City of vendor’s location |
| String | State of vendor’s location |
| String | ZIP/Pin code of vendor’s location |
| String | Country of vendor’s location |
| String | Email of vendor’s location |
| Object | Address of vendor’s location |
| String | Name of vendor’s location |
| String | 1st line of vendor location’s address |
| String | 2nd line of vendor location’s address |
| String | 3rd line of vendor location’s address |
| String | City of vendor’s location |
| String | State of vendor’s location |
| String | ZIP/Pin code of vendor’s location |
| String | Country of vendor’s location |
| String | Email of vendor’s location |
Create Customer Master
Inbound | POST | /master/customers
Summary
This api creates customer masters in Assure.
Description
ERP systems recognise their customer with a code which is commonly referred to as customer code. This API can be used to create customers corresponding to the ERP customers in Assure.
Request
{
"customerCode":"ErpCustomerCode",
"name": "name",
"isExcessGrnAllowed":true/false,
"address":{
"name":"customerName",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
}
}
Parameter Name | Data Type | Description | Mandatory |
| String | Code used by ERP to identify customers | yes |
| String | Name of customer | yes |
| boolean | isExcessGrnAllowed for the supplier | No |
| Object | Address of customer | yes |
| String | Name of customer | yes |
| String | 1st line of customer’s address | yes |
| String | 2nd line of customer’s address | no |
| String | 3rd line of customer’s address | no |
| String | City of customer | yes |
| String | State of customer | yes |
| String | ZIP/Pin code of customer | yes |
| String | Country of customer | yes |
| String | Email of customer | yes |
Response
EmptyBody
HttpStatus : 200
Update Customer Master
Inbound | PUT | /master/customers
Summary
This api updates customer masters in Assure.
Description
This API can be used to update customers which were created through Create Customer Master API. Except customer code all fields are updatable.
Request
{
"customerCode":"ErpCustomerCode",
"name": "name",
"isExcessGrnAllowed":true/false,
"address":{
"name":"customerName",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
}
}
Parameter Name | Data Type | Description | Mandatory |
| String | Code used by ERP to identify customers | yes |
| String | Name of customer | yes |
| boolean | isExcessGrnAllowed for the supplier | No |
| Object | Address of customer | yes |
| String | Name of customer | yes |
| String | 1st line of customer’s address | yes |
| String | 2nd line of customer’s address | no |
| String | 3rd line of customer’s address | no |
| String | City of customer | yes |
| String | State of customer | yes |
| String | ZIP/Pin code of customer | yes |
| String | Country of customer | yes |
| String | Email of customer | yes |
Response
EmptyBody
HttpStatus : 200
Search Customer Master
Inbound | GET | /master/customers/{customerCode}
Summary
This api returns customer masters data present in Assure.
Description
This api returns customer masters data present in Assure.
Request
EmptyBody
Response
{
"customerCode":"ErpCustomerCode",
"name": "name",
"address":{
"name":"customerName",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
}
}
HttpStatus : 200
Parameter Name | Data Type | Description |
| String | Code used by ERP to identify customers |
| String | Name of customer |
| Object | Address of customer |
| String | Name of customer |
| String | 1st line of customer’s address |
| String | 2nd line of customer’s address |
| String | 3rd line of customer’s address |
| String | City of customer |
| String | State of customer |
| String | ZIP/Pin code of customer |
| String | Country of customer |
| String | Email of customer |
Add Customer Location Master
Inbound | POST | /master/customers/{customerCode}/locations
Summary
This api creates a customer's location in Assure.
Description
ERP systems recognise their customer’s location with a code which is commonly referred to as customer location code. This API can be used to create a customer's location corresponding to the ERP customers in Assure.
Request
{
"customerLocationCode":"customerLocationCode",
"gstin":"ABBDEG67889",
"billingAddress":{
"name":"name",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
},
"shippingAddress":{
"name":"name",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
}
}
Parameter Name | Data Type | Description | Mandatory |
| String | Code of already created customer in Assure by ERP | yes |
| String | GSTIN number | yes |
| String | Code of new location to be added | yes |
| Object | Address of vendor’s location | yes |
| String | Name of vendor’s location | yes |
| String | 1st line of vendor location’s address | yes |
| String | 2nd line of vendor location’s address | no |
| String | 3rd line of vendor location’s address | no |
| String | City of vendor’s location | yes |
| String | State of vendor’s location | yes |
| String | ZIP/Pin code of vendor’s location | yes |
| String | Country of vendor’s location | yes |
| String | Email of vendor’s location | yes |
| Object | Address of vendor’s location | yes |
| String | Name of vendor’s location | yes |
| String | 1st line of vendor location’s address | yes |
| String | 2nd line of vendor location’s address | no |
| String | 3rd line of vendor location’s address | no |
| String | City of vendor’s location | yes |
| String | State of vendor’s location | yes |
| String | ZIP/Pin code of vendor’s location | yes |
| String | Country of vendor’s location | yes |
| String | Email of vendor’s location | yes |
Response
EmptyBody
HttpStatus : 200
Update Customer Location Master
Inbound | PUT | /master/customers/{customerCode}/locations
Summary
This api updates a customer's location in Assure.
Description
This API can be used to update customer locations which were created by the Add Customer Location Master API. Except customer location code, all fields can be updated.
Request
{
"customerLocationCode":"customerLocationCode",
"gstin":"ABBDEG67889",
"billingAddress":{
"name":"name",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
},
"shippingAddress":{
"name":"name",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
}
}
Parameter Name | Data Type | Description | Mandatory |
| String | Code of already created customer in Assure by ERP | yes |
| String | GSTIN number | yes |
| String | Code of new location to be added | yes |
| Object | Address of vendor’s location | yes |
| String | Name of vendor’s location | yes |
| String | 1st line of vendor location’s address | yes |
| String | 2nd line of vendor location’s address | no |
| String | 3rd line of vendor location’s address | no |
| String | City of vendor’s location | yes |
| String | State of vendor’s location | yes |
| String | ZIP/Pin code of vendor’s location | yes |
| String | Country of vendor’s location | yes |
| String | Email of vendor’s location | yes |
| Object | Address of vendor’s location | yes |
| String | Name of vendor’s location | yes |
| String | 1st line of vendor location’s address | yes |
| String | 2nd line of vendor location’s address | no |
| String | 3rd line of vendor location’s address | no |
| String | City of vendor’s location | yes |
| String | State of vendor’s location | yes |
| String | ZIP/Pin code of vendor’s location | yes |
| String | Country of vendor’s location | yes |
| String | Email of vendor’s location | yes |
Response
EmptyBody
HttpStatus : 200
Search Customer Location Master
Inbound | GET | /master/customers/{customerCode}/locations/{customerLocationCode}
Summary
This API returns customer location master data available for a customer code and customer location code in Assure.
Description
This API returns customer location master data available for a customer code and customer location code in Assure.
Request
EmptyBody
Response
{
"customerCode": "customerCode",
"customerLocationCode":"customerLocationCode",
"gstin":"ABBDEG67889",
"billingAddress":{
"name":"name",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
},
"shippingAddress":{
"name":"name",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
}
}
HttpStatus : 200
Parameter Name | Data Type | Description |
| String | Code of already created customer in Assure by ERP |
| String | GSTIN number |
| String | Code of new location to be added |
| Object | Address of vendor’s location |
| String | Name of vendor’s location |
| String | 1st line of vendor location’s address |
| String | 2nd line of vendor location’s address |
| String | 3rd line of vendor location’s address |
| String | City of vendor’s location |
| String | State of vendor’s location |
| String | ZIP/Pin code of vendor’s location |
| String | Country of vendor’s location |
| String | Email of vendor’s location |
| Object | Address of vendor’s location |
| String | Name of vendor’s location |
| String | 1st line of vendor location’s address |
| String | 2nd line of vendor location’s address |
| String | 3rd line of vendor location’s address |
| String | City of vendor’s location |
| String | State of vendor’s location |
| String | ZIP/Pin code of vendor’s location |
| String | Country of vendor’s location |
| String | Email of vendor’s location |
Create Article Master
Inbound | POST | /master/articles
Summary
This API is used to create article masters in Assure.
Description
This API will create article masters in Assure.
Note : Single payload can contains upto 5000 articles
Request
{
"articleMasters":[
{
"channelSkuCode":"erpArticleCode1",
"channelSerialNo":"serial1",
"barcode":"barcode",
"category":"category",
"brand":"BrandFactory",
"styleCode":"erp article style",
"mrp":1299.00,
"hsn":"hsn1234",
"imageUrl":"HTTP://www.mybrand.com/styl123.jpg",
"name":"product name",
"taxRule":"GST_3",
"size":"xl",
"color":"blue",
"channelToleranceDays":3,
"grnToleranceDays":3,
"returnToleranceDays":3,
"isPerishable":true,
“channelDimension”:{
“length”:20.2,
“breadth”:20.2,
“height”:20.2,
“weight”:20.2
}
"skuAttributes":{
"attribute1":"blue",
"attribute2":"red",
"attribute3":null,
"attribute4":"13188913",
"attribute5":"W857556A-19S",
"attribute6":"FB512BKBK",
"attribute7":"JMD11683",
"attribute8":null,
"attribute9":null,
"attribute10":null,
"attribute11":null,
"attribute12":null,
"attribute13":null,
"attribute14":null,
"attribute15":null
}
"isVirtual":false,
"virtualSkuDefinition": null
},
{
"channelSkuCode":"erpArticleCode2",
"barcode":"sku2",
"category":"category",
"brand":"brand1",
"styleCode":"erp article style",
"mrp":1299.00,
"hsn":"hsn1234",
"imageUrl":"HTTP://www.mybrand.com/styl123.jpg",
"name":"product name",
"taxRule":"GST_APPAREL",
"size":"xl",
"color":"blue",
"channelToleranceDays":3,
"grnToleranceDays":3,
"returnToleranceDays":3,
"isPerishable":true,
"skuAttributes":{
"attribute1":"white",
"attribute2":"pink",
"attribute3":null,
"attribute4":"13188914",
"attribute5":"W857557A-18S",
"attribute6":"FB613BKBK",
"attribute7":"JMD11684",
"attribute8":"1318",
"attribute9":null,
"attribute10":null,
"attribute11":null,
"attribute12":null,
"attribute13":null,
"attribute14":null,
"attribute15":null
}
"isVirtual":true,
"virtualSkuDefinition": {
"childSkus": [
{
"channelSkuCode": "erpArticleCode3",
"qty": 2
},
{
"channelSkuCode": "erpArticleCode1",
"qty": 1
}
],
"virtualParentChannelSkuId": "erpArticleCode2"
}
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | Code used by channel to identify an SKU | yes |
| String | Unique code generated at channel side for that order item. | yes |
| String | Scannable code present on physical product that identifies an SKU uniquely | yes |
| String | Represents the broad category this product belongs to | no |
| String | Brand of the sku | yes |
| String | styleCode of the product | yes |
| Double | Maximum Retail Price of the product | yes |
| String | HSN code of the product | yes |
| String | Public image url of the product. This is used in warehouse at multiple stages to gain efficiency and accuracy | no |
| String | Name of the product | yes |
| String | Rule used to compute tax as per Assure Tax Rule Table | yes |
| String | Size of the product | no |
| String | Color of the product | no |
| boolean | Is the item perishable or not | no |
| Int | Days before getting expired upto which item can be used to fulfill orders created by ERP | no |
| Int | System will provide validation at the time of GRN if products is getting expired in less the grn tolerance days | no |
| Int | System will provide validation at the time of B2C return if products is getting expired in less the | no |
| Object [ ] | SKU Attributes of the product | no |
| boolean | Is there a virtual sku definition | no |
| Object | A combination of multiple SKUs together to form a virtual-bundle SKU | no |
Response
EmptyBody
HttpStatus : 200
Update Article Master
Inbound | PUT | /master/articles
Summary
This API is used to update article masters which are already there in Assure.
Description
This API will update article masters in Assure.
Note : Single payload can contain upto 5000 articles.
Request
{
"articleMasters":[
{
"channelSkuCode":"channelSkuCode1",
"category":"category",
"brand":"BrandFactory",
"styleCode":"erp article style",
"mrp":1299.00,
"hsn":"hsn1234",
"imageUrl":"HTTP://www.mybrand.com/styl123.jpg",
"name":"product name",
"taxRule":"GST_3",
"size":"xl",
"color":"blue",
},
{
"channelSkuCode":"channelSkuCode2",
"category":"category",
"brand":"puma",
"styleCode":"erp article style",
"mrp":1299.00,
"hsn":"hsn1234",
"imageUrl":"HTTP://www.mybrand.com/styl123.jpg",
"name":"product name",
"taxRule":"GST_APPAREL",
"size":"xl",
"color":"blue"
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| Object [ ] | List of article masters that needs to be updated. | yes |
| String | Code used by the channel to identify an SKU.It cannot be updated. | yes |
| String | Represents the broad category this product belongs to | no |
| String | Brand of the sku | no |
| String | styleCode of the product | no |
| Double | Maximum Retail Price of the product | no |
| String | HSN code of the product | no |
| String | Public image url of the product. This is used in warehouse at multiple stages to gain efficiency and accuracy | no |
| String | Name of the product | no |
| String | Rule used to compute tax as per Assure Tax Rule Table | no |
| String | Size of the product | no |
| String | Color of the product | no |
Response
EmptyBody
HttpStatus : 200
Search Article Master
Inbound | POST | /master/articles/search
Summary
This API is used to search existing article masters in Assure.
Description
This API will search article masters in Assure.
Note : Single payload can contain upto 5000 articles.
Request
{
"channelSkuCodes":[
"100565437",
"100565435"
]
}
Parameter Name | Data Type | Description | Mandatory |
| String [ ] | List of channelSkuCodes(Code used by channel to identify an SKU). Max Limit is 5000 | yes |
Response
{
"articleMasters":[
{
"channelSkuCode":"channelSkuCode1",
"category":"category",
"brand":"BrandFactory",
"styleCode":"erp article style",
"mrp":1299.00,
"hsn":"hsn1234",
"imageUrl":"HTTP://www.mybrand.com/styl123.jpg",
"name":"product name",
"taxRule":"GST_3",
"size":"xl",
"color":"blue"
},
{
"channelSkuCode":"channelSkuCode2",
"category":"category",
"brand":"puma",
"styleCode":"erp article style",
"mrp":1299.00,
"hsn":"hsn1234",
"imageUrl":"HTTP://www.mybrand.com/styl123.jpg",
"name":"product name",
"taxRule":"GST_APPAREL",
"size":"xl",
"color":"blue"
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| Object [ ] | List of article master details. | yes |
| String | Code used by the channel to identify an SKU.It cannot be updated. | yes |
| String | Represents the broad category this product belongs to | no |
| String | Brand of the sku | no |
| String | styleCode of the product | no |
| Double | Maximum Retail Price of the product | no |
| String | HSN code of the product | no |
| String | Public image url of the product. This is used in warehouse at multiple stages to gain efficiency and accuracy | no |
| String | Name of the product | no |
| String | Rule used to compute tax as per Assure Tax Rule Table | no |
| String | Size of the product | no |
| String | Color of the product | no |
HttpStatus : 200
Add / Update SKU Attributes
Inbound | PUT | /master/sku-attributes
Summary
This API is used to add / update sku attributes.
Description
This API is used to add skuAttributes if not existing, or update the same if already present.
Key points for usage
If the value of Sku Attribute does not exist against an SKU, it will be saved.
If the value of Sku Attribute already exists, providing an empty string (" ’') against it in payload will set the attribute value to null.
If the value of Sku Attribute already exists, providing null in payload will not update the attribute value against the attribute key.
Note : Single payload can contain sku-attributes against maximum 5000 channelSkus.
Request
{
"skuAttributeList":[
{
"channelSkuCode":"erpArticleCode1",
"skuAttributes": {
"attribute1": "string",
"attribute10": "string",
"attribute11": "string",
"attribute12": "string",
"attribute13": "string",
"attribute14": "string",
"attribute15": "",
"attribute2": "",
"attribute3": "",
"attribute4": "",
"attribute5": null,
"attribute6": null,
"attribute7": null,
"attribute8": null,
"attribute9": null
}
},
{
"channelSkuCode":"erpArticleCode2",
"skuAttributes": {
"attribute1": "string",
"attribute10": "",
"attribute11": "",
"attribute12": "",
"attribute13": "",
"attribute14": "",
"attribute15": "",
"attribute2": "string",
"attribute3": "string",
"attribute4": "string",
"attribute5": null,
"attribute6": null,
"attribute7": null,
"attribute8": null,
"attribute9": null
}
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | Code used by channel to identify an SKU | yes |
| Object [ ] | SKU Attributes of the product | no |
Response
EmptyBody
HttpStatus : 200
Search SKU Attributes
Inbound | POST | /master/sku-attributes/search
Summary
This API is used to search sku attributes in ASSURE.
Description
This API is used to add search skuAttributes against the provided channelSkus in ASSURE .
Note : Single payload can contain a maximum 5000 channelSkus.
Request
{
"channelSkuCodes":[
"erpArticleCode1",
"erpArticleCode2"
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | Code used by channel to identify an SKU | yes |
Response
{
"skuAttributeList":[
{
"channelSkuCode":"erpArticleCode1",
"skuAttributes": {
"attribute1": "string",
"attribute10": "string",
"attribute11": "string",
"attribute12": "string",
"attribute13": "string",
"attribute14": "string",
"attribute15": "string",
"attribute2": "string",
"attribute3": "string",
"attribute4": "string",
"attribute5": "string",
"attribute6": "string",
"attribute7": "string",
"attribute8": "string",
"attribute9": "string"
}
},
{
"channelSkuCode":"erpArticleCode2",
"skuAttributes": {
"attribute1": "string",
"attribute10": "string",
"attribute11": "string",
"attribute12": "string",
"attribute13": "string",
"attribute14": "string",
"attribute15": "string",
"attribute2": "string",
"attribute3": "string",
"attribute4": "string",
"attribute5": "string",
"attribute6": "string",
"attribute7": "string",
"attribute8": "string",
"attribute9": "string"
}
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| Object [ ] | Code used by channel to identify an SKU | yes |
| String | SKU code of order item | yes |
| Object [ ] | SKU Attributes of the product | no |
HttpStatus : 200
Create SKU Listings
Inbound | POST | /master/sku-listings
Summary
This API is used to create BarCode to Channel SKU mappings, provided the article masters are already created.
Description
This API will create listings in ASSURE(Barcode-ChannelSku) mappings
Note: Single payload can only send up to 5000 skuListings
Request
{
"channelName":"flipkart_channel",
"skuListings":[
{
"channelSkuCode":"ChannelSku1",
"channelSerialNo":"ChannelSerialNo1",
"barcode":"barcode1",
"toleranceDays":2
},
{
"channelSkuCode":"ChannelSku2",
"channelSerialNo":"ChannelSerialNo2",
"barcode":"barcode2",
"toleranceDays":2
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | ERP channel Code for the marketplace | Yes |
| Object[] | List of listings | Yes |
| String | Code used by channel to identify an SKU | yes |
| String | Unique code generated at channel side for that order item. | yes |
| String | Scannable code present on physical product that identifies an SKU uniquely | yes |
| Int | Days before getting expired upto which item can be used to fulfill orders created by ERP | No |
Create Virtual SKU Definition
Inbound | POST | /master/articles
Summary
This API is used to create virtual Sku definition in Assure.
Description
This API will create Virtual sku definition in Assure.
Request
{
"virtualSkuDefinitions": [
{
"virtualParentChannelSkuId": "virtual1",
"childSkus": [
{
"channelSkuCode": "SKU1",
"qty": 2
},
{
"channelSkuCode": "SKU2",
"qty": 1
}
]
}
]
}
Parameter Name | Data Type | Description | Mandatory |
virtualSkuDefinitions | Object [ ] | List of virtual SKU definitions | yes |
virtualSkuDefinitions | String | SKU code of virtual SKU | yes |
virtualSkuDefinitions | Object [ ] | List of child SKUs | yes |
childSkus.channelSkuCode | String | SKU code of child SKU | yes |
childSkus.qty | Integer | Quantity of child SKU | yes |
HttpStatus : 200
Search Virtual SKU Definition
Inbound | POST | /master/articles
Summary
This API is used to search virtual Sku definition in Assure.
Description
This API will search Virtual sku definition in Assure.
Request
{
"parentChannelSkus": [
"parentSku1",
"parentSku2"
]
}
Parameter Name | Data Type | Description | Mandatory |
parentChannelSkus | String [ ] | List of parent SKU ids | yes |
Response
{
"virtualSkuDefinitions": [
{
"virtualParentChannelSkuId": "parent1",
"childSkus": [
{
"channelSkuCode": "sku1",
"qty": 2
}
]
}
]
}
Create Manufacturable SKU Definition
Inbound | POST | /master/sku/manufacturable
Summary
This API is used to create a manufacturable Sku in Assure. These skus are print on demand skus.
Description
This API will create a manufacturable sku in Assure.
Request
{
“locationCode”:”loc1”,
“channelSkuIds”:[“sku1”,”sku2”]
}
Parameter Name | Data Type | Description | Mandatory |
locationCode | String | locationCode | yes |
channelSkuIds | List[String] | SKU code of manufacturable skus | yes |
HttpStatus : 200
Remove Manufacturable SKU Definition
Inbound | POST | /master/sku/manufacturable/remove
Summary
This API is used to remove a manufacturable Sku in Assure.
Description
This API will remove a manufacturable sku in Assure.
Request
{
“locationCode”:”loc1”,
“channelSkuIds”:[“sku1”,”sku2”]
}
Parameter Name | Data Type | Description | Mandatory |
locationCode | String | locationCode | yes |
channelSkuIds | List[String] | SKU code of manufacturable skus | yes |
HttpStatus : 200
Order Interface API Reference
Create Outward Order
Inbound | POST | /orders/outward
Summary
This API is used to create new outward orders in Assure.
Description
This API will create outward orders in Assure. One payload will create only one order and one SKU can be present only once.
Request
{
"parentOrderCode":"132",
"locationCode":"Wid234",
"orderCode":"H19304030003",
"orderTime":"2020-10-16T20:22:28.000+05:30",
"orderType":"SO/STO/RTV/RPO",
"isPriority":false,
"gift":false,
"onHold":false,
"qcStatus":PASS/FAIL,
"dispatchByTime":"2020-10-16T20:22:28.000+05:30",
"startProcessingTime":"2020-10-16T20:22:28.000+05:30",
"paymentMethod":"COD",
“taxBreakupForms”:[
{
“channelSkuId”:”sky1”,
“baseSellingPricePerUnit”:100.8,
“taxItemForms”:[
{
“type”:””,
“rate”:1.2,
“taxPerUnit”:27.5
}
]
}
],
“packType”:”PIECE/BULK”,
"shippingAddress":{
"name":"customerName",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
},
"billingAddress":{
"name":"customerName",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
},
"orderItems":[
{
"channelSkuCode":"100005643",
"orderItemCode":"item123",
"quantity":2,
"sellerDiscountPerUnit":75.0,
"channelDiscountPerUnit":150.0,
"sellingPricePerUnit":1500.0,
"shippingChargePerUnit":50.0,
"minExpiry":"2021-08-11",
"giftOptions":{
"giftwrapRequired":false,
"giftMessage":"",
"giftChargePerUnit":0,
“giftDocument”:”abc”,
“giftDocumentFormat”:”PDF”
}
},
{
"channelSkuCode":"100005644",
"orderItemCode":"item124",
"quantity":2,
"sellerDiscountPerUnit":50.0,
"channelDiscountPerUnit":100.0,
"sellingPricePerUnit":1000.0,
"shippingChargePerUnit":50.0,
"minExpiry":"2021-08-11",
"giftOptions":{
"giftwrapRequired":false,
"giftMessage":"",
"giftChargePerUnit":0,
“giftDocument”:”abc”,
“giftDocumentFormat”:”PDF”
}
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | Represents code of parent order of the order | no |
| String | Location code of warehouse from where this order will get fulfilled | yes |
| String | Unique code used by channel to identify the order | yes |
| String | Time at which order got placed by customer | yes |
| String | Possible value - SO (Sales Order), STO (Stock Transfer Order), RTV (Return To Vendor), RPO(Replacement) | yes |
| Boolean | This flag is true in case order is HIGH priority than normal orders. | no |
| Boolean | This flag is true in case order is a gift and needs to be gift wrapped. | no |
| Boolean | This flag is true in case order has to be kept on hold. Processing starts only after call is made to unhold the order | yes |
| String | Time by which the order is expected to get dispatched | yes |
| String | Time by which the order processing is expected to get started | yes |
| String | Possible values - COD, NCOD | yes |
| Object[ ] | Tax break up for the items(if this is sent, al the fields of the object should be sent) | no |
| String | Channel Sku id | yes |
| Double | Base selling price per unit of the Sku | yes |
| Object[ ] | Distribution of tax with tax type | yes |
| String | Type of tax applicable | yes |
| Double | Tax rate for this tax type | yes |
| Double | Tax applicable for this type of tax per unit | yes |
| String | Possible values - PIECE/BULK | no |
| String | Possible values - PASS, FAIL By default value : PASS | Yes |
| Object | Shipping address of the customer | yes |
| String | Name of customer | yes |
| String | 1st line of customer’s address | yes |
| String | 2nd line of customer’s address | no |
| String | 3rd line of customer’s address | no |
| String | City of customer | yes |
| String | State of customer | yes |
| String | ZIP/Pin code of customer | yes |
| String | Country of customer | yes |
| String | Email of customer | yes |
| String | Phone Number of customer | no |
| Object | Billing address of the customer | yes |
| String | Name of customer | yes |
| String | 1st line of customer’s address | yes |
| String | 2nd line of customer’s address | no |
| String | 3rd line of customer’s address | no |
| String | City of customer | yes |
| String | State of customer | yes |
| String | ZIP/Pin code of customer | yes |
| String | Country of customer | yes |
| String | Email of customer | yes |
| String | Phone Number of customer | no |
| Object[] | List of items for which order is being placed | yes |
| String | SKU code of order item | yes |
| String | This is provided by the channel to uniquely identify each order item. | yes |
| Integer | Quantity of SKU in the order placed | yes |
| Double | Discount given by seller on SKU per unit | no |
| Double | Discount given by channel on SKU per unit | no |
| Double | Unit price of SKU including tax | yes |
| Double | Shipping charge on item per unit | no |
| String | Minimum expiry date for the item to be shipped | no |
| Object | Contains gift details of the item | no |
| Boolean | To specify if gift wrap is required | yes |
| String | Gift message | no |
| Double | Gift charge on item per unit | no |
| String | Base64 encoded string | no |
| String | Possible values PDF, ZPL,PNG. To be populated if document is present | no |
Response
EmptyBody
HttpStatus : 200
Create Outward Order Using Partner Codes
Inbound | POST | /orders/outward/partner-code
Summary
This API is used to create new outward orders in Assure using partner codes.
Description
This API will create outward orders in Assure using the partner codes provided in the payload. One payload will create only one order and one SKU can be present only once.
Request
{
"parentOrderCode":"132",
"locationCode":"Wid234",
"orderCode":"H19304030003",
"orderTime":"2020-10-16T20:22:28.000+05:30",
"orderType":"SO/STO/RTV",
"onHold":false,
"dispatchByTime":"2020-10-16T20:22:28.000+05:30",
"startProcessingTime":"2020-10-16T20:22:28.000+05:30",
"paymentMethod":"COD",
“taxBreakupForms”:[
{
“channelSkuId”:”sky1”,
“baseSellingPricePerUnit”:100.8,
“taxItemForms”:[
{
“type”:””,
“rate”:1.2,
“taxPerUnit”:27.5
}
]
}
],
“packType”:”PIECE/BULK”,
"qcStatus":"PASS/FAIL",
"partnerCode":"partnerCode",
"partnerLocationCode":"partnerLocationCode",
"orderItems":[
{
"channelSkuCode":"100005643",
"orderItemCode":"item123",
"quantity":2,
"sellerDiscountPerUnit":75.0,
"channelDiscountPerUnit":150.0,
"sellingPricePerUnit":1500.0,
"shippingChargePerUnit":50.0,
"minExpiry":"2021-08-11",
"giftOptions":{
"giftwrapRequired":false,
"giftMessage":"",
"giftChargePerUnit":0,
"giftDocument":"abc",
"giftDocumentFormat":"PDF"
}
},
{
"channelSkuCode":"100005644",
"orderItemCode":"item124",
"quantity":2,
"sellerDiscountPerUnit":50.0,
"channelDiscountPerUnit":100.0,
"sellingPricePerUnit":1000.0,
"shippingChargePerUnit":40.0,
"minExpiry":"2021-08-11",
"giftOptions":{
"giftwrapRequired":false,
"giftMessage":"",
"giftChargePerUnit":0,
"giftDocument":"abc",
"giftDocumentFormat":"PDF"
}
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | Represents code of parent order of the order | no |
| String | Location code of warehouse from where this order will get fulfilled | yes |
| String | Unique code used by channel to identify the order | yes |
| String | Time at which order got placed by customer | yes |
| String | Possible value - SO (Sales Order), STO (Stock Transfer Order), RTV (Return To Vendor) | yes |
| Boolean | This flag is true in case order has to be kept on hold. Processing starts only after call is made to unhold the order | yes |
| String | Time by which the order is expected to get dispatched | yes |
| String | Time by which the order processing is expected to get started | yes |
| String | Possible values - COD, NCOD | yes |
| Object[ ] | Tax break up for the items(if this is sent, al the fields of the object should be sent) | no |
| String | Channel Sku id | yes |
| Double | Base selling price per unit of the Sku | yes |
| Object[ ] | Distribution of tax with tax type | yes |
| String | Type of tax applicable | yes |
| Double | Tax rate for this tax type | yes |
| Double | Tax applicable for this type of tax per unit | yes |
| String | Possible values - PIECE/BULK | no |
| Double | Discount given by seller on SKU per unit | no |
| Double | Discount given by channel on SKU per unit | no |
| Double | Unit price of SKU including tax | yes |
| Double | Shipping charge on item per unit | no |
| String | Minimum expiry date for the item to be shipped | no |
| Object | Contains gift details of the item | no |
| Boolean | To specify if gift wrap is required | yes |
| String | Gift message | no |
| Double | Gift charge on item per unit | no |
| String | Base64 encoded string | no |
| String | Possible values PDF, ZPL,PNG. To be populated if document is present | no |
Response
EmptyBody
HttpStatus : 200
Steps
Create Customer Master using Create Customer Master Api
Create location of the customer using Add Customer Location Master Api
Create article master using Create Article Master Api
Now create outward order with partner codes using Create Outward Order with Partner Codes Api
Create Inward Order
Inbound | POST | /orders/inward
Summary
This API is used to create inward orders in Assure.
Description
This API will create inward orders in Assure. One payload will create only one order and one SKU can be present only once.
Request
{
"parentOrderCode":"132",
"orderTime":"2020-10-16T20:22:28.000+05:30",
"orderType":"PO/STO/RO/OPEN_PO/OPEN_RO",
"orderCode":"sap123",
"locationCode":"locationCode",
"partnerCode":"partnerCode",
"partnerLocationCode":"partnerLocationCode",
“taxBreakupForms”:[
{
“channelSkuId”:”sky1”,
“baseSellingPricePerUnit”:100.8,
“taxItemForms”:[
{
“type”:””,
“rate”:1.2,
“taxPerUnit”:27.5
}
]
}
],
"orderItems":[
{
"channelSkuCode":"tshirt134",
"quantity":500,
"sellingPricePerUnit":230.00
},
{
"channelSkuCode":"jeans123",
"quantity":500,
"sellingPricePerUnit":230
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | Represents code of parent order of the order | no |
| String | Time at which order got placed by customer | yes |
| String | Possible value - PO (Purchase Order), STO (Stock Transfer Order), RO(Return Order), OPEN_PO, OPEN_RO | yes |
| String | Unique code used by channel to identify the order | yes |
| String | Location code of the warehouse from where the order will get fulfilled | yes |
| String | This represents the partner from which order will come. If Order is of type PO/STO, this field represents vendor's code If Order is of type RO, this field represents customer’s code | yes |
| String | This represents the partner’s location from which order will come. If Order is of type PO/STO, this field represents vendor location’s code If Order is of type RO, this field represents customer location’s code | yes |
| Object[ ] | Tax break up for the items(if this is sent, al the fields of the object should be sent) | no |
| String | Channel Sku id | yes |
| Double | Base selling price per unit of the Sku | yes |
| Object[ ] | Distribution of tax with tax type | yes |
| String | Type of tax applicable | yes |
| Double | Tax rate for this tax type | yes |
| Double | Tax applicable for this type of tax per unit | yes |
Response
EmptyBody
HttpStatus : 200
Steps
Create Vendor Master using Create Vendor Master Api
Create location of the vendor using Add Vendor Location Master Api
Create article master using Create Article Master Api
Now create inward order using Create Inward Order Api
Push Customer Cancellation
Inbound | PUT | /orders/{orderCode}/cancel
Summary
This API is used to push outward order cancellation to Assure .
Description
This API is used to push complete as well as partial cancellation of outward orders. The canceled quantity in the payload will always be the absolute quantity. One payload can have only one order and one sku can be present only once.
Note :
Before invoicing : Any type of cancellation including partial and complete is allowed.
After invoicing : No cancellation is allowed
Request
{
"locationCode":"locationCode",
"orderItems":[
{
"channelSkuCode":"100000789702",
"cancelledQuantity":1,
"orderItemCode":"item123"
},
{
"channelSkuCode":"100000789703",
"cancelledQuantity":4,
"orderItemCode":"item124"
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | Unique code used by channel to identify the order | yes |
| String | Location code of the warehouse from where the order will get fulfilled | yes |
| Object[] | List of order items which got cancelled | yes |
| String | SKU code of order item | yes |
| Integer | Absolute Quantity of SKU which got cancelled. This should be less than the ordered quantity | yes |
| String | This is provided by the channel to uniquely identify each order item. | yes |
Response
EmptyBody
HttpStatus : 200
Push Seller Cancellation
Outbound | PUT | {Client’s URL}
Summary
This API is used to push order cancellation to the channel.
Description
This API will be used to push complete or partial cancellation from the seller to the channel. The canceled quantity in the payload will always be the absolute quantity. One payload can have only one order and one sku will be present only once. This call can be made till order is invoiced
Request
{
"orderCode":"H19304030001",
"locationCode":"l123",
"orderItems":[
{
"channelSkuCode":"100000789702",
"cancelledQuantity":1,
"orderItemCode":"item123"
},
{
"channelSkuCode":"100000789703",
"cancelledQuantity":4,
"orderItemCode":"item124"
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | Unique code used by channel to identify the order | yes |
| String | Code used by channels to identify a warehouse | Yes |
| Object[] | List of order items which has to be cancelled | yes |
| string | SKU code of order item | yes |
| Integer | Requested cancelled quantity of SKU. This should be less than ordered quantity | yes |
| String | This is provided by the channel to uniquely identify each order item. | yes |
Response
{
"hasError":false,
}
HttpStatus : 200
Update Order Properties
Inbound | PUT | /orders/{orderCode}
Summary
This API is used to update the properties of an order.
Description
This API is used to update the Dispatch by time and start processing time usually when the orders are Unhold.
Request
{
"dispatchByTime": "string",
"locationCode": "string",
"onHold": true,
"startProcessingTime": "string"
}
Parameter Name | Data Type | Description | Mandatory |
| String | Time by which the order is expected to get dispatched | yes |
| String | Code used by channels to identify a warehouse | Yes |
| Boolean | This flag is true in case order has to be kept on hold. Processing starts only after call is made to unhold the order | yes |
| String | Time by which the order processing is expected to get started | yes |
Response
EmptyBody
HttpStatus : 200
Order Posting from Assure
Outbound | POST | {Client’s URL}
Summary
This API will call the channel with sales order details.
Description
This API will call the channel with the details of sales orders which are completed in Assure. This will be triggered at a certain frequency from Assure to the channels.
List of Indian State Names: Assure Magic V2 API Documentation for ERP Systems
Request
{
"partnerCode":"
1100013090",
"partnerLocationCode":"9",
"locationCode":"IN132",
"orderCode":"flipkart1234",
"parentOrderCode":"flipkart1221",
"isPriority":false,
"channelName":"flipkart",
"orderTime":"2020-10-16T20:22:28.000+00:00",
"orderType":"SO/STO/RTV",
"messageId":12345,
"paymentMethod":"COD",
"eventType": "OUTWARD_ORDER_COMPLETE",
"eventTime":"2020-10-16T20:22:28.000+00:00",
“virtualSkuDefinitions”:[
{
“virtualParentChannelSkuId”:”abc1”,
“childSkus”:[
{
“channelSkuCode”:”xyz”,
“qty”:2
},
{
“channelSkuCode”:”xyz1”,
“qty”:1}
]
}
],
“shippingCharges”:20.0,
"orderItems":[
{
"orderItemCode": "item123",
"channelSkuCode": "1000889888",
"orderedQuantity": 2,
"cancelledQuantity":1,
"channelDiscount":50.00,
"sellingPricePerUnit":500.00,
"giftChargePerUnit": 10.0,
“sellerDiscount”:5.0,
“shippingCharge”:0.0
}
],
"shipments":[
{
"shipmentCode":"UIfd897",
"generatedInvoiceId":"AR105044395",
"generatedInvoiceDate":"2020-10-16T20:22:28.000+00:00",
"externalInvoiceId":"FK56556GH45",
"externalInvoiceDate":"2020-10-16T20:22:28.000+00:00",
"invoiceDocumentUrl":"https://mybrand.com/invoice123.pdf",
"shippingLabelDocumentUrl":"https://mybrand.com/sldoc.pdf",
"shipmentItems":[
{
"channelSkuCode":"100000789702",
"orderItemCode":"item123",
"netTaxAmountPerUnit":60,
"netTaxAmountTotal":120,
"baseSellingPricePerUnit":500,
"baseSellingPriceTotal":1000,
"sellingPricePerUnit":560,
"sellingPriceTotal":1120,
"quantity":2,
"shippingChargePerUnit":36.0,
“channelDiscount”30.0,
"taxItems":[
{
"type":"SGST",
"rate":6,
"taxPerUnit":30,
"taxTotal":60
},
{
"type":"CGST",
"rate":6,
"taxPerUnit":30,
"taxTotal":60
}
]
},
{
"channelSkuCode":"100000734701",
"orderItemCode":"item124",
"netTaxAmountPerUnit":60,
"netTaxAmountTotal":120,
"baseSellingPricePerUnit":500,
"baseSellingPriceTotal":1000,
"sellingPricePerUnit":560,
"sellingPriceTotal":1120,
"quantity":2,
"shippingChargePerUnit":36.0,
“channelDiscount”30.0,
"taxItems":[
{
"type":"SGST",
"rate":6,
"taxPerUnit":30,
"taxTotal":60
},
{
"type":"CGST",
"rate":6,
"taxPerUnit":30,
"taxTotal":60
}
]
}
]
}
],
"shippingAddress":{
"name":"Customer's Name",
"line1":"Line Address 1",
"line2":"Line Address 2",
"line3":"Line Address 3",
"city":"city",
"state":"state",
"zip":"zip",
"country":"country",
"email":"abc@gmail.com",
"phone":"9999999999"
},
"billingAddress":{
"name":"customer",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"abc@gmail.com",
"phone":"9999999999"
}
}
Parameter Name | Data Type | Description | Mandatory |
| String | This represents the partner to which order was shipped to. If Order is of type SO/STO, this field represents customer’s code If Order is of type RTV, this field represents vendor’s code For Marketplaces Orders, this field will be having the erp channel name which is mapped in Assure | yes |
| String | This represents the partner’s location to which order was shipped to. If Order is of type SO/STO, this field represents customer location’s code If Order is of type RTV, this field represents vendor location’s code | yes |
| String | Warehouse location from which order was fulfilled | Yes |
| String | Unique code used by the channel to identify order | yes |
| String | Parent order code which can be null or empty or some duplicate value across orders. | no |
| String | Channel name of the marketplace. | yes |
| String | Time at which order was placed at the channel in UNIX (UTC) | yes |
| String | Can be - SO(Sales Order)/STO(Stock Transfer Order)/RTV(Return To Vendor), RPO(Replacement) | yes |
| Long | Unique Identifier of a notification | Yes |
| String | Possible values - COD, NCOD | yes |
| Object[] | List of order items | yes |
| String | This is provided by the channel to uniquely identify each order item. | yes |
| String | SKU code of order item | yes |
| int | Ordered Quantity | yes |
| int | cancelledQuantity | yes |
| double | sellingPricePerUnit | yes |
| Double | giftChargePerUnit | no |
| Double | Discount provided by channel per unit | no |
| String | Possible values : { OUTWARD_ORDER_CREATE, OUTWARD_ORDER_CANCEL, OUTWARD_ORDER_COMPLETE , OUTWARD_ORDER_PARTIAL_CANCEL} | yes |
| String | Time of event creation | yes |
virtualSkuDefinitions | Object [ ] | List of virtual SKU definitions | no |
virtualSkuDefinitions | String | SKU code of virtual SKU | no |
virtualSkuDefinitions | Object [ ] | List of child SKUs | no |
childSkus.channelSkuCode | String | SKU code of child SKU | no |
childSkus.qty | Integer | Quantity of child SKU | no |
| Double | Shipping charges | no |
| Object[] | Items belonging to this shipment | yes |
| String | SKU code of order item | yes |
| String | This is provided by the channel to uniquely identify each order item. | yes |
| Double | Per unit tax applicable for the SKU. | yes |
| Double | Total tax applicable for the SKU | yes |
| Double | Per unit base selling price of the SKU | yes |
| Double | Total base selling price of SKU | yes |
| Double | Per unit selling price of the SKU including tax | yes |
| Double | Total selling price of the SKU | yes |
| Integer | Quantity of the sku in the shipment item. | yes |
| Double | Shipping charge per unit for a shipment item | no |
| Double | Channel discount of item | no |
| Object | Distribution of tax with tax type | yes |
| String | Type of tax applicable | yes |
| Double | Tax rate for this tax type | yes |
| Double | Tax applicable for this type of tax per unit | yes |
| Double | Total tax applicable for this type of tax | yes |
| Object | Shipping address of the customer | yes |
| String | Name of customer | yes |
| String | 1st line of customer’s address | yes |
| String | 2nd line of customer’s address | no |
| String | 3rd line of customer’s address | no |
| String | City of customer | yes |
| String | State of customer | yes |
| String | ZIP/Pin code of customer | yes |
| String | Country of customer | yes |
| String | Email of customer | no |
| String | Phone Number of customer | no |
| Object | Billing address of the customer | yes |
| String | Name of customer | yes |
| String | 1st line of customer’s address | yes |
| String | 2nd line of customer’s address | no |
| String | 3rd line of customer’s address | no |
| String | City of customer | yes |
| String | State of customer | yes |
| String | ZIP/Pin code of customer | yes |
| String | Country of customer | yes |
| String | Email of customer | no |
| String | Phone Number of customer | no |
Response
{
"hasError":false
}
HttpStatus : 200
GRN Interface API Reference
GRN Posting Order Wise
Outbound | POST | {Client’s URL}
Summary
This API will call the channel with GRN details.
Description
This API will call the channel with GRN information against an inward order.This API call will be triggered only after the inward order against a PO is closed.
Request
{
"orderCode":"po123",
"orderType":"PO/STO/RO",
"locationCode":"l123",
"messageId":12345,
"orderItems":[
{
"channelSkuCode":"100005734",
"qcPassQuantity":500,
"qcFailQuantity":2
},
{
"channelSkuCode":"100005736",
"qcPassQuantity":498,
"qcFailQuantity":3
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | Unique code used by the channel to identify the order | yes |
| String | Possible value - STO (Stock Transfer Order), PO(Purchase Order), RO(Return Order) | yes |
| String | Code used by channels to identify a warehouse | Yes |
| Long | Unique Identifier of a notification | Yes |
| Object[] | List of items GRNed | yes |
| String | SKU code of order item | yes |
| Integer | Qc pass quantity inwarded in order | yes |
| Integer | Qc fail quantity inwarded in order | yes |
Response
{
"hasError":false
}
HttpStatus : 200
GRN Posting Gate Entry Wise
Outbound | POST | {Client’s URL}
Summary
This API will call the channel with GRN details per gate entry wise.
Description
This API will call the channel with GRN information against a gate entry.This API call will be triggered only after the gate entry is closed.
Request
{
"orderCode":"po123",
“parentOrderCode”: “parent123”,
"orderType":"PO/STO/RO",
"invoiceId":"invoice123",
“awbNumber”:”awb_01”,
“externalInvoiceDate”:”2020-10-16T20:22:28.000+00:00”,
"gateEntryId":"gt234",
"messageId":12345,
"locationCode":"l123",
"orderItems":[
{
"channelSkuCode":"100005734",
"qcPassQuantity":500,
"qcFailQuantity":2
},
{
"channelSkuCode":"100005736",
"qcPassQuantity":498,
"qcFailQuantity":3
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | Unique code used by the channel to identify the order | yes |
| String | Parent Order Code which was passed at the time of Inward Order Creation | No |
| String | Possible value - STO (Stock Transfer Order), PO(Purchase Order), RO(Return Order) | yes |
| String | Code used by channels to identify a warehouse | Yes |
| String | Unique Id with which the shipment is arrived in the warehouse. | yes |
| String | Awb Number of the shipment received in the warehouse. | Yes |
| String | Time at which order was placed at the channel in UNIX (UTC) | yes |
| String | Unique Id used to differentiate a gate entry | yes |
| Long | Unique Identifier of a message | Yes |
| Object[] | List of items GRNed | yes |
| String | SKU code of order item | yes |
| Integer | Qc pass quantity inwarded in order | yes |
| Integer | Qc fail quantity inwarded in order | yes |
Response
{
"hasError":false
}
HttpStatus : 200
GRN Notifications (Near Real Time)
Outbound | POST | {Client’s URL}
Summary
This API sends near real-time GRN Notifications to ERP. The feature will help to keep the ERP systems notified about all the GRN’s happening for a client.
Description
This API sends all the GRN notifications order-wise for the orders for which items have been GRN’ed since the time the job last ran and synced notifications successfully to ERP. Frequency of this job is configurable.
Request
{
"orderCode":"po123",
"locationCode":"l123",
"messageId":12345,
"items":[
{
"channelSkuCode":"100005734",
"qcPassAbsoluteQuantity":500,
"qcFailAbsoluteQuantity":2,
"qcFailDeltaQuantity":1,
"qcPassDeltaQuantity":1
},
{
"channelSkuCode":"100005736",
"qcPassAbsoluteQuantity":400,
"qcFailAbsoluteQuantity":2,
"qcFailDeltaQuantity":2,
"qcPassDeltaQuantity":2
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | Unique code used by the channel to identify the order | Yes |
| String | Code used by channels to identify a warehouse | Yes |
| Long | Unique Identifier of a notification | Yes |
| Object[] | List of items GRNed | Yes |
| String | SKU code of order item | Yes |
| Integer | Total Qc pass quantity GRNed in order for the SKU | Yes |
| Integer | Total Qc fail quantity GRNed in order for the SKU | Yes |
| Integer | Qc pass quantity GRNed in order for the SKU since the last notification to ERP for the order. | Yes |
| Integer | Qc fail quantity GRNed in order for the SKU since the last notification to ERP for the order. | Yes |
Response
{
"hasError":false
}
HttpStatus : 200
Gate Entry GRN Notifications (Near Real Time)
Outbound | POST | {Client’s URL}
Summary
This API sends near real-time GRN Notifications to ERP with gate entry level data. The feature will help to keep the ERP systems notified about all the GRN’s happening for a client.
Description
This API sends all the GRN notification gate-entry wise for the orders for which items have been GRN’ed since the time the job last ran and synced notifications successfully to ERP. Frequency of this job is configurable.
Request
{
"invoiceId": 1234,
"invoiceDocumentUrl": "https://www.increff.com/invoiceUrl",
"stateTaxDocumentUrl": "https://www.increff.com/staxDocurl",
"shippingLabelDocumentUrl": "https://www.increff.com/slurl",
"transporter": "BlueDart",
"vehicleNumber": "KA90-87-01",
"invoiceCode": "invoiceCode",
"gateEntryCreatedAt":"2020-10-16T20:22:28.000+00:00",
"externalInvoiceDate":”2020-10-16T20:22:28.000+00:00",
"awbNumber": "awbNumber",
"gateEntryId": 1234,
"messageId": 1001,
"orderCode": "po123",
"orderType": "PO/STO/RO",
"locationCode": "l123",
"items":[
{
"channelSkuCode":"100005734",
"qcPassAbsoluteQuantity":500,
"qcFailAbsoluteQuantity":2,
"qcFailDeltaQuantity":1,
"qcPassDeltaQuantity":1
},
{
"channelSkuCode":"100005736",
"qcPassAbsoluteQuantity":400,
"qcFailAbsoluteQuantity":2,
"qcFailDeltaQuantity":2,
"qcPassDeltaQuantity":2
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | External invoiceId provided at the time of Gate entry creation | Yes |
| String | Invoice document provided at the time of Gate entry creation is available via the Url | Yes |
| String | State tax document provided at the time of Gate entry creation is available via the Url | Yes |
| String | Shipping label document provided at the time of Gate entry creation is available via the Url | Yes |
| String | Transporter which delivered the goods to warehouse | Yes |
| String | Vehicle Number which delivered the goods to warehouse | Yes |
| String | Time at which gate entry was created in Assure | Yes |
| String | Time at which order was placed at the channel in UNIX (UTC) | yes |
| String | Awb number of shipment which is getting inwarded | Yes |
| String | Unique code used by the channel to identify the order | Yes |
| Possible value - SO (Sales Order), STO (Stock Transfer Order), RTV (Return To Vendor), RPO(Replacement) | Yes | |
| String | Code used by channels to identify a warehouse | Yes |
| Long | Unique Identifier of a notification | Yes |
| Object[] | List of items GRNed | Yes |
| String | SKU code of order item | Yes |
| Integer | Total Qc pass quantity GRNed in order for the SKU | Yes |
| Integer | Total Qc fail quantity GRNed in order for the SKU | Yes |
| Integer | Qc pass quantity GRNed in order for the SKU since the last notification to ERP for the order. | Yes |
| Integer | Qc fail quantity GRNed in order for the SKU since the last notification to ERP for the order. | Yes |
Response
{
"hasError":false
}
HttpStatus : 200
Shipment Interface API Reference
Pack Order
Outbound | POST | {Client’s URL}
Summary
This API will call the client’s system to pack the order.
Description
This is a pack notification to the client system. It means the shipment is going to be packed with SKUs mentioned in the payload. In case of repeated calls shipmentId
should be considered as a repeated identifier and expected response is successful with the same response body.
Note : Multiple shipments are allowed for B2B orders only.
Request
{
"orderCode":"H19304030001",
"locationCode":"l123",
"shipmentId":120001,
"packageSku":"sku123",
"weight":40.00,
"dimensions":{
"length":12.00,
"breadth":6.00,
"height":8.00
},
"invoice":{
"fromAddress":{
"name":"sellerName",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
},
"shippingAddress":{
"name":"customerName",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
},
"billingAddress":{
"name":"customerName",
"line1":"address line 1",
"line2":"address line 2",
"line3":"address line 3",
"city":"Bengaluru",
"state":"Karnataka",
"zip":"560076",
"country":"INDIA",
"email":"email.com",
"phone":"9999999999"
},
"orderTime":"2020-10-16T20:22:28.000+00:00",
"channelName":"flipkart",
"fromPartyName":"name1",
"toPartyName":"name2",
"fromTIN":"tin1",
"toTIN":"tin2",
"panNo":"123PV99",
"invoiceItems":[
{
"actualSellingPricePerUnit":6.00,
"actualSellingPriceTotal":12.00,
"channelSkuCode":"sku1",
"itemName":"item1",
"quantity":2,
"taxRule":"GST",
"hsnCode":"hsn1",
"vendorSku":"vendorSku1",
"mrp":8.00,
"brand":"brand1",
"styleCode":"style1",
"color":"white",
"size":"size1",
"category":"shirt",
"imageUrl":"www.imageUrl.com/1234"
}
]
},
"shipmentItems":[
{
"channelSkuCode":"100000789701",
"orderItemCode":"item123",
"quantity":7,
“itemCodes”:[],
},
{
"channelSkuCode":"100000789702",
"orderItemCode":"item124",
"quantity":5,
“itemCodes”:[],
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | Unique code used by the channel to identify the order. | yes |
| String | Code used by channels to identify a warehouse | Yes |
| Long | Shipment id of Assure system | yes |
| String | SKU of the package material used for packing | no |
| Double | Weight of the package in grams | no |
| Object | Dimensions of the packed shipment | no |
| Double | Length of the packing box. | no |
| Double | Breadth of the packing box. | no |
| Double | Height of the packing box. | no |
| Object | Invoice details | yes |
| Object | Address of the Seller | no |
| String | Name of Seller | yes |
| String | 1st line of Seller’s address | yes |
| String | 2nd line of Seller’s address | no |
| String | 3rd line of Seller’s address | no |
| String | City of Seller | yes |
| String | State of Seller | yes |
| String | ZIP/Pin code of Seller | yes |
| String | Country of Seller | yes |
| String | Email of Seller | yes |
| String | Phone number of Seller | no |
| Object | Shipping address of the customer | yes |
| String | Name of customer | yes |
| String | 1st line of customer’s address | yes |
| String | 2nd line of customer’s address | no |
| String | 3rd line of customer’s address | no |
| String | City of customer | yes |
| String | State of customer | yes |
| String | ZIP/Pin code of customer | yes |
| String | Country of customer | yes |
| String | Email of customer | yes |
| String | Phone number of customer | no |
| Object | Billing address of the customer | yes |
| String | Name of customer | yes |
| String | 1st line of customer’s address | yes |
| String | 2nd line of customer’s address | no |
| String | 3rd line of customer’s address | no |
| String | City of customer | yes |
| String | State of customer | yes |
| String | ZIP/Pin code of customer | yes |
| String | Country of customer | yes |
| String | Email of customer | yes |
| String | Phone number of customer | no |
| Date | Time of the order | no |
| String | Name of the channel from which order was placed | no |
| String | Name of the seller | no |
| String | Name of the buyer | no |
| String | Seller GSTIN | no |
| String | Buyer GSTIN | no |
| String | Client’s PAN number | no |
| Object [ ] | Invoice Items | no |
| Double | Selling price per unit including tax | no |
| Double | Total selling price including tax | no |
| String | SKU code of order item | no |
| String | Name of the product | no |
| Long | Quantity of the product | no |
| String | Tax Rule for the product | no |
| String | HSN code for the product (Used for classifying the item as well as for tax calculation) | no |
| String | Client SKU code | no |
| Double | MRP of the product | no |
| String | Brand of the product | no |
| String | Style code of the product | no |
| String | Color of the product | no |
| String | Size of the product | no |
| String | Category of the product | no |
| String | Image URL of the product | no |
| Object[] | List of items corresponding to shipment | yes |
| String | SKU code of order item | yes |
| Integer | Quantity of SKU in shipment | yes |
| String | This is provided by the channel to uniquely identify each order item. | yes |
| String[ ] | These are the external item ids of the item | no |
Response
{
"shipmentCode":"ship1234",
"shipmentItems":[
{
"channelSkuCode":"100000789701",
"orderItemCode":"item123",
"quantity":7
},
{
"channelSkuCode":"100000789702",
"orderItemCode":"item124",
"quantity":5
}
]
}
HttpStatus : 200
Parameter Name | Data Type | Description | Mandatory |
| String | Unique code used by the channel to identify the shipment | yes |
| Object[] | List of items corresponding to shipment | no |
| String | SKU code of order item | Yes, if shipmentItems object is passed. |
| String | This is provided by the channel to uniquely identify each order item. | Yes, if shipmentItems object is passed. |
| Integer | Quantity of SKU in shipment | Yes, if shipmentItems object is passed. |
Get Invoice
Outbound | GET | {Client’s URL}
Summary
This API will fetch invoice URL along with tax details .
Description
This API will fetch invoice URL and the tax details. Invoice URL should point to invoice file in pdf format.
Request Params
shipmentCode
orderCode
Parameter Name | Data Type | Description | Mandatory |
| String | Unique code used by the channel to identify the shipment | yes |
| String | Unique code used by the channel to identify the order | yes |
Response
{
"invoiceCode":"INV123",
"invoiceUrl":"https://mybrand.com/invoice123.pdf",
"invoiceDate":"2020-10-16T20:22:28.000+05:30",
"invoice":"invoiceBase64String",
"invoiceDetails":[
{
"channelSkuCode":"100000789702",
"orderItemCode":"item123",
"netTaxAmountPerUnit":60.00,
"netTaxAmountTotal":120.00,
"baseSellingPricePerUnit":500.00,
"baseSellingPriceTotal":1000.00,
"actualSellingPricePerUnit":560.00,
"actualSellingPriceTotal":1120.00,
"quantity":2,
"taxItems":[
{
"type":"SGST",
"rate":6,
"taxPerUnit":30.00,
"taxTotal":60.00
},
{
"type":"CGST",
"rate":6,
"taxPerUnit":30.00,
"taxTotal":60.00
}
]
}
]
}
HttpStatus : 200
Note: Any one of invoiceUrl and invoice should be present
Parameter Name | Data Type | Description | Mandatory |
| String | Downloadable pdf url of the invoice document(either of invoice and invoice Url is mandatory) | no |
| Object[] | Tax Details of the invoice | Yes |
| String | Date of invoice generated by Assure | Yesorde |
| String | Base64 encoded string of invoice PDF(either of invoice and invoice Url is mandatory) | no |
| String | SKU code of order item | Yes |
| String | This is provided by the channel to uniquely identify each order item. | No |
| Double | Per unit tax applicable for the SKU | Yes |
| Double | Total tax applicable for the SKU | Yes |
| Double | Per unit base selling price of the SKU | Yes |
| Double | Total base selling price of the SKU | Yes |
| Double | Per unit actual selling price of the SKU | Yes |
| Double | Total actual selling price of the SKU | Yes |
| Integer | Total quantity of a sku for a line item | Yes |
| Object[] | Distribution of tax with tax type | Yes |
| String | Type of tax applicable | Yes |
| Double | Tax rate for this tax type | Yes |
| Double | Per unit tax applicable for this type of tax | Yes |
| Double | Total tax applicable for this type of tax | Yes |
Get Shipping Label
Outbound | GET | {Client’s URL}
Summary
This API will fetch shipping information.
Description
This API will fetch the shipping label along with all the shipping details.
Request Params
shipmentCode
orderCode
Parameter Name | Data Type | Description | Mandatory |
| String | Unique code used by the channel to identify the shipment | yes |
| String | Unique code used by the channel to identify the order | yes |
Response
{
"shippingLabelUrl":"https://mybrand.com/transporter.pdf",
"awbNumber":"awb456fd5435",
“shippingLabel”:"base64shippinglabelstring",
"transporter":"transporter"
}
Note: Any one of shippingLabelUrl and shippingLabel should be present
Parameter Name | Data Type | Description | Mandatory |
| String | Downloadable pdf url of the shipping label document(either of shippingLabel and shippingLabelUrl is mandatory) | no |
| String | Tracking number provided by the courier partner | yes |
| String | Base64 encoded string of the shipping label(either of shippingLabel and shippingLabelUrl is mandatory) | no |
| String | Courier partner name | yes |
HttpStatus : 200
Handover Notification
Outbound | POST | {Client’s URL}
Summary
This API will call the channel for handover notifications.
Description
This API will call the client system for handover notifications.The API is expected to return success in case of repeated calls.
Request
{
"locationCode":"wd02",
"handoverItems":[
{
"orderCode":"order123",
"shipmentCode":"ship123"
},
{
"orderCode":"order124",
"shipmentCode":"ship124"
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | Location code of the warehouse from where the order will be shipped | yes |
| Object[] | List of handover items | yes |
| String | Unique code used by the channel to identify order | yes |
| String | Unique code used by the channel to identify shipment | yes |
Response
{
"hasError":false
}
HttpStatus : 200
Return Order Interface API Reference
Return Order Posting
Outbound | POST | {Client’s URL}
Summary
This API will call the client system with return order processing details for B2C orders.
Description
This API will call the client system with return order processing details for B2C orders.This API will be triggered only after the return order has been received and processed in Assure.
List of Indian State Names: Assure Magic V2 API Documentation for ERP Systems
Request
{
"partnerCode": "AZ123",
"partnerLocationCode": "AZ1234",
"locationCode": "Wid234",
"channelName": "AMAZON",
"returnOrderCode": "H893RUOT123",
"forwardOrderCode": "Dx784si",
"returnCreationTime": "2020-10-16T20:22:28.000+00:00",
"messageId": 12345,
"paymentMethod": "COD",
"returnOrderType": "RETURN_TO_ORIGIN",
"eventTime": "2020-10-16T20:22:28.000+00:00",
"items": [
{
"itemCode": "ic123",
"returnReason": "size misfit",
"channelSkuCode": "100007542",
"returnOrderItemStatus": "CREATED",
"qcStatus": "FAIL",
"qcReason": "DAMAGED",
"imageUrls": [
"https://mydomain.com/img.jpg",
"https://mydomain.com/img2.jpg"
]
}
],
"shipments": [
{
"shipmentCode": "UIfd897",
"generatedInvoiceId": "AR105044395",
"generatedInvoiceDate": "2020-10-16T20:22:28.000+00:00",
"externalInvoiceId": "FK56556GH45",
"externalInvoiceDate": "2020-10-16T20:22:28.000+00:00",
"invoiceDocumentUrl": "https://mybrand.com/invoice123.pdf",
"shippingLabelDocumentUrl": "https://mybrand.com/sldoc.pdf",
"shipmentItems": [
{
"channelSkuCode": "100000789702",
"orderItemCode": "item123",
"netTaxAmountPerUnit": 60,
"netTaxAmountTotal": 120,
"baseSellingPricePerUnit": 500,
"baseSellingPriceTotal": 1000,
"sellingPricePerUnit": 560,
"sellingPriceTotal": 1120,
"quantity": 2,
"taxItems": [
{
"type": "SGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
},
{
"type": "CGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
}
]
},
{
"channelSkuCode": "100000734701",
"orderItemCode": "item124",
"netTaxAmountPerUnit": 60,
"netTaxAmountTotal": 120,
"baseSellingPricePerUnit": 500,
"baseSellingPriceTotal": 1000,
"sellingPricePerUnit": 560,
"sellingPriceTotal": 1120,
"quantity": 2,
"shippingChargePerUnit": 10.0,
"taxItems": [
{
"type": "SGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
},
{
"type": "CGST",
"rate": 6,
"taxPerUnit": 30,
"taxTotal": 60
}
]
}
]
}
],
"shippingAddress": {
"name": "Sender's Name",
"line1": "Line Address 1",
"line2": "Line Address 2",
"line3": "Line Address 3",
"city": "city",
"state": "state",
"zip": "zip",
"country": "country",
"email": "abc@gmail.com",
"phone": "9999999999"
},
"billingAddress": {
"name": "customer",
"line1": "address line 1",
"line2": "address line 2",
"line3": "address line 3",
"city": "Bengaluru",
"state": "Karnataka",
"zip": "560076",
"country": "INDIA",
"email": "abc@gmail.com",
"phone": "9999999999"
}
}
Parameter Name | Data Type | Description | Mandatory |
| String | This is customer code in channel | yes |
| String | This is the code of the location of the customer in the channel. | yes |
| String | Location code of the warehouse where the return order will be received. | yes |
| String | This is marketplace name | yes |
| String | Unique code used by the channel to identify the forward order | yes |
| String | Unique code used by the channel to identify the return order | yes |
| String | Reason for return as given by the customer | no |
| Long | Unique Identifier of a notification | Yes |
| String | Possible values - COD, NCOD | yes |
| String | Possible values- RETURN_TO_ORIGIN,CUSTOMER_RETURN,SELF_SHIP | No |
| ZonedDateTime | Time of event creation | yes |
| ZonedDateTime | Time of return order creation | no |
| Object[] | List of return items processed. | yes |
| String | This is provided by the ERP to uniquely identify each order item. | |
| String | Reason of return. | |
| String | SKU code of return order item | yes |
| String | Status of the item. Possible values : CREATED, PROCESSING, MISSING, RECEIVED, CANCELLED. | yes |
| String | The qcStatus of the return Item. Possible values : PASS , FAIL | yes |
| String | The reason due to which this return item has been market qc fail | no |
| String[] | It contains the list of urls of the images of the return items .It will only be populated in case that item has been marked as fail. | no |
| String | Unique invoice date provided by channel | yes |
| String | Downloadable pdf url of the invoice document | no |
| String | Downloadable pdf url of the shipping label document | no |
| Object[] | Items belonging to this shipment | yes |
| String | SKU code of order item | yes |
| String | This is provided by the channel to uniquely identify each order item. | yes |
| Double | Per unit tax applicable for the SKU. | yes |
| Double | Total tax applicable for the SKU | yes |
| Double | Per unit base selling price of the SKU | yes |
| Double | Total base selling price of SKU | yes |
| Double | Per unit selling price of the SKU including tax | yes |
| Double | Total selling price of the SKU | yes |
| Integer | Quantity of the sku in the shipment item. | yes |
| Double | Shipping charge per unit for a shipment item | no |
| Object | Distribution of tax with tax type | yes |
| String | Type of tax applicable | yes |
| Double | Tax rate for this tax type | yes |
| Double | Tax applicable for this type of tax per unit | yes |
| Double | Total tax applicable for this type of tax | yes |
| Object | Shipping address of the customer | yes |
| String | Name of customer | yes |
| String | 1st line of customer’s address | yes |
| String | 2nd line of customer’s address | no |
| String | 3rd line of customer’s address | no |
| String | City of customer | yes |
| String | State of customer | yes |
| String | ZIP/Pin code of customer | yes |
| String | Country of customer | yes |
| String | Email of customer | no |
| String | Phone Number of customer | no |
| Object | Billing address of the customer | yes |
| String | Name of customer | yes |
| String | 1st line of customer’s address | yes |
| String | 2nd line of customer’s address | no |
| String | 3rd line of customer’s address | no |
| String | City of customer | yes |
| String | State of customer | yes |
| String | ZIP/Pin code of customer | yes |
| String | Country of customer | yes |
| String | Email of customer | no |
| String | Phone Number of customer | no |
Response
{
"hasError":false
}
HttpStatus : 200
Inventory Interface API Reference
Update Inventory Count
Outbound | PUT | {Client’s URL}
Summary
This API will push the inventory count to the channel.
Description
This API will always send the inventory available for sale. The inventory will always be absolute.
Note : One batch will contain 200 skus .Frequency of this job is configurable in Assure.
Request
{
"locationCode":"wd003",
"inventories":[
{
"quantity":40,
"channelSkuCode":"302"
}
]
}
Parameter Name | Data Type | Description | Mandatory |
| String | Identifier for a warehouse in channel | Yes |
| Object[] | List of inventories to be updated | |
| Integer | Absolute quantity available for sale in Assure | Yes |
| String | Code used by channel to identify an SKU | Yes |
Response
{
"failureList":[
],
"successList":[
"302"
]
}
HttpStatus : 200
Parameter Name | Data Type | Description |
| String[] | List of channelSkuCodes for which inventory update was not successful |
| String[] | List of channelSkuCodes for which inventory update was successful |
Search Inventory
Inbound | POST | /inventories
Summary
This API will be used by the client system to fetch inventories from Assure.
Description
This api will be used to fetch inventory details using various parameters.
Note : One payload can contain upto 10000 skus. One page can contain upto 10k skus.
Request
{
"locationCode":"wd003",
"channelSkuCodes":[
"100565431",
"100565433",
"100565435",
"100565437"
],
"pageNumber":1
}
Parameter Name | Data Type | Description | Mandatory |
| String | Code used by channels to identify a warehouse | Yes |
| String[] | List of channelSkuCodes(Code used by channel to identify an SKU). Max Limit is 10000 | No |
| Integer | The API returns a paginated response in case channelSkuCodes are not sent in the request. pageNumber represents the page number of the paginated response. | No |
Response
{
"inventories":[
{
"channelSkuCode":"100565437",
"qcPassAvailableQuantity":100,
"qcPassAllocatedQuantity":100,
"qcPassRecycledQuantity":2,
"qcPassLostQuantity":3,
"qcFailAvailableQuantity":20,
"qcFailRecycledQuantity":1,
"qcFailAllocatedQuantity":0,
"qcFailLostQuantity":1
},
{
"channelSkuCode":"100565435",
"qcPassAvailableQuantity":100,
"qcPassAllocatedQuantity":100,
"qcPassRecycledQuantity":2,
"qcPassLostQuantity":3,
"qcFailAvailableQuantity":20,
"qcFailRecycledQuantity":1,
"qcFailAllocatedQuantity":0,
"qcFailLostQuantity":1
}
],
"failedChannelSkuCodeList":[
"100565431",
"100565433"
],
"hasMore":false
}
HttpStatus : 200
Parameter Name | Data Type | Description |
| Object[] | List of inventories |
| String | Code used by channel to identify an SKU |
| Integer | Absolute quantity available for sale in QC PASS status. |
| Integer | Absolute QC PASS allocated quantity corresponds to quantity allocated to sales orders which are received in Assure but not yet invoiced. |
| Integer | Absolute QC PASS quantity is the inventory that was either picked up for an order and the order got cancelled OR its taken offline for recycling. This is not available for sale |
| Integer | Absolute QC PASS quantity which has been marked LOST in the warehouse |
| Integer | Absolute quantity available for sale in QC FAIL status |
| Integer | Absolute QC FAIL recycle quantity corresponds to inventory that was either picked up for an order and the order got cancelled OR its taken offline for recycling. |
| Integer | Absolute QC FAIL allocated quantity is QC fail quantity allocated against qc fail B2B orders. |
| Integer | Absolute QC FAIL quantity which has been marked LOST in the warehouse |
| Object[] | List of channelSkuCode which are not present in Assure. |
| Boolean | This flag denotes if there are more pages in the response |
ERP Integration APIs
WorkFlow Diagram
Mappings
What happens when this mapping is not present in the system
That message should move into a FAILURE status and should not be retried
Article to EAN: We will get in Article Master
WH: Easy: This will go in CIMS
Channel: Mapping should manually be upload in CIMS
Channel Location Mapping
Channel | State | LocationCode | LocationPartyCode |
FLIPKART | Karnataka | FK | FK_123 |
We receive Y payload
Y-> X
We do all conversation while sending X message only
a) If Y-X is successful mark Y as SUCCESSIf
b) Y-X is a failure, marks as failure with REASON, raise an alert
c) Correct mappings
d) Retry
Tax Rule Table
Tax-rule-name | Min Amount(Exclusive) | Max Amount(Inclusive) | Rate(in percent) |
GST_0 | 0 | 99999999 | 0 |
GST_3 | 0 | 99999999 | 3 |
GST_5 | 0 | 99999999 | 5 |
GST_12 | 0 | 99999999 | 12 |
GST_18 | 0 | 99999999 | 18 |
GST_28 | 0 | 99999999 | 28 |
GST_APPAREL | 0 | 1000 | 5 |
1000 | 99999999 | 12 | |
GST_FOOTWEAR | 0 | 1000 | 5 |
1000 | 99999999 | 18 |
State Names (Indian)
Following state names are sent while sending B2C Sales posting and B2C Returns Posting to ERP.
ANDHRA PRADESH |
ANDAMAN AND NICOBAR ISLANDS |
ARUNACHAL PRADESH |
ASSAM |
BIHAR |
CHHATTISGARH |
CHANDIGARH |
DAMAN AND DIU |
DELHI |
DADRA AND NAGAR HAVELI |
GOA |
GUJARAT |
HIMACHAL PRADESH |
HARYANA |
JHARKHAND |
JAMMU AND KASHMIR |
KARNATAKA |
KERALA |
LAKSHADWEEP |
MAHARASHTRA |
MEGHALAYA |
MANIPUR |
MADHYA PRADESH |
MIZORAM |
NAGALAND |
ODISHA |
PUNJAB |
PUDUCHERRY |
RAJASTHAN |
SIKKIM |
TAMIL NADU |
TRIPURA |
TELANGANA |
UTTARAKHAND |
UTTAR PRADESH |
WEST BENGAL |