Download as pdf or txt
Download as pdf or txt
You are on page 1of 64

Browntape 0.

1 API Documentation
TABLE OF CONTENTS

Authentication 2

Company 3
GET Company Details 3
GET Company Stats 8
GET Warehouse List 9
POST Warehouse Add 10

Orders 12
POST Orders Add 12
GET Orders 14
GET Order Update 23
POST Bulk Order Update 24
GET OrderItem Update 25
POST Orders updateOrdersFromChannel 26
POST Orders downloadFromS3 27
GET Orders Get Docs 29
POST Manifest Create 30
POST Manifest Create AND Fetch Marketplace Manifest Document 31
POST Manifest Update 32
POST Save Order Item Attempts 33
POST Create Order Return 34

Activities 37
GET QueueResults index 37

Inventory 39
GET SKUs Index 39
POST Inventory 42
POST SKUs 44
POST SKU Update 45
POST Skus Price Update 46
POST Inventory Rule Create 47
POST Inventory Rule Assign 48

Promotions 50
GET Promotions Fetch 50
GET Promotion Fetch Entities 52
POST Promotions Create 53
POST Promotions Update Status 55
POST Promotions Delete 56

Claims 57
GET Claims Fetch 57
POST Claims Update Status 57

Webhooks 59
Order Create Update Webhook 59

API Limits 60
############################################################################

Authentication
############################################################################
Browntape will use a key based authentication system to identify the user trying to access the
application via the API. For each Browntape account, the owner will have the right to create an API
user. The API user will have the usual username and password, but also a api_secret field.

All API requests sent to Browntape will need to contain an auth_string and the username for the
authentication to complete. This auth_string needs to be created as below
auth_string = sha1(api_secret.bt_hash(password))

Note:
A new user needs to be added to the Browntape account with role as “API”
The username and password can be set by hand. Please keep the username as an email address.
The api_secret is an auto-generate string that you will need to use to sign the API requests.

bt_hash() is an unauthenticated method that is exposed by Browntape which you can use to hash
any string. This is basically an md5 hash with a specific salt.
An http request to http://app.browntape.com/users/bt_hash/<string> will return the bt_hash of that
string. You can use this for forming the auth_string. This value can be cached for a session.

--------------------------------------------------------
Test User
To test the API, please use the following credentials.
Username : kalpesh@browntape.com
Password : 123456 (remember to run it by bt_hash() before the API request session)
Api Secret : n1cq35le4zPdeKnj3dKmJMViASZxedoB
---------------------------------------------------------

Note: With all subsequent API requests, the username and the auth_string has to be sent. There
are 2 ways to sent this
1. Via the url params like so:
https://app.browntape.com/0.1/companies/details.json?username=XXXX&auth_string=YYYY
2. Or via header params: X-username and X-auth-string

General Notes
#############
* All dates in the system are stored as UTC timezone, please convert to user timezone before
display.
* All dates passed with API requests need to be in 'yyyy-mm-dd HH:ii:ss' format
############################################################################

Company
############################################################################

GET Company Details


#########################
Ths call allows you to get some important data about the company which is useful for further calls.
No explicit company ID needs to be passed to this call, it will pick up those details from the tokens
passed.
End Point: http://app.browntape.com/0.1/companies/details.json
Parameters to be passed:
?username=XXXX
&auth_string=YYYYYYYYY
Response:
{
"success": "true",
"data": {
"Company": {
"id": "2",
"title": "Spurline Stores",
"created": "2012-07-02 17:52:37",
"modified": "2016-07-28 05:00:02",
"address_line1": "F-1, Bird's Eye Building",
"address_line2": "Home in the Woods Colony",
"address_line3": "Porvorim - Socorro",
"city": "Bardez",
"state": "Goa",
"country": "India",
"zip": "403521",
"description": "Gurpreet's company",
"number_of_employees": "1",
"invoice_text": "We hope that you like the items that you have received. If there is anything
about your products that you are not happy with, please let us know using the contact details below
and we will be happy to help you.\r\n\r\nWe would be grateful for your positive feedback about our
service.\r\n\r\n\r\nThank you for your business, we hope to see you again soon!",
"email_from_name": null,
"primary_email": "care@spurline.in",
"email_bcc": "gurpreet@browntape.com; piyush@browntape.com; kalpesh@spurline.in",
"email_reply_to": "care@spurline.in",
"is_active": "1",
"fy_start_month": "4",
"label_barcode_state": "1",
"label_phone_state": "1",
"label_from_address_state": "1",
"label_comment": "Browntape.com is live in India",
"logo_path": null,
"enable_invoice_number_generation": "1"
},
"Channel": [
{
"id": "13",
"title": "gnurpreetsingh",
"username": "gnurpreetsingh",
"site_id": "203",
"email": "gnurpreet@gmail.com",
"email_from_name": "",
"email_bcc": "",
"is_active": "0",
"stock_sync": "0",
"created": "2012-10-28 11:18:09",
"modified": "2016-08-03 06:07:49",
"last_polled": "2016-07-28 22:25:51",
"last_polled_sku": "2016-03-08 00:01:52",
"is_ebay_cbt_flag": "0",
"channel_fulfillment_enabled": "0",
"token":
"AgAAAA**AQAAAA**aAAAAA**MK7cVA**nY+sHZ2PrBmdj6wVnY+sEZ2PrA2dj6AEmYukAZOGoQ
+dj6x9nY+seQ**",
"channel_type_id": "1",
"company_id": "2",
"ChannelType": {
"id": "1",
"title": "eBay",
"created": "2013-09-30 10:36:06",
"modified": "2013-07-29 00:00:00",
"description": "The world's number one auction site.",
"has_customer_email": "1",
"favicon_path": "/img/icons/icon_favebay.png"
}
},
{
"id": "43",
"title": "Shopclues",
"username": "gurpreet@spurline.in",
"site_id": null,
"email": null,
"email_from_name": "",
"email_bcc": "",
"is_active": "0",
"stock_sync": "0",
"created": "2013-05-01 11:13:24",
"modified": "2016-08-03 06:07:49",
"last_polled": "2016-07-28 22:22:08",
"last_polled_sku": "2016-07-28 18:34:56",
"is_ebay_cbt_flag": "0",
"channel_fulfillment_enabled": "0",
"token": "Spurline Store",
"channel_type_id": "8",
"company_id": "2",
"ChannelType": {
"id": "8",
"title": "ShopClues",
"created": "2013-09-30 10:36:43",
"modified": "2013-08-07 00:00:00",
"description": null,
"has_customer_email": "0",
"favicon_path": "/img/icons/icon_favshopclues.png"
}
}
],
"User": [
{
"id": "2",
"username": "gurpreet@browntape.com",
"email": "gurpreet@browntape.com",
"first_name": "gurpreet",
"last_name": "singh",
"phone": "9822774646",
"modified": "2016-08-04 06:59:28",
"created": "2013-06-01 00:00:00",
"timezone": "Asia/Kolkata",
"currency_id": "63",
"company_id": "2",
"Currency": {
"abbreviation": "INR",
"name": "Indian Rupee",
"symbol": "₹",
"rate": "67.1751"
},
"currency_name": "Indian Rupee"
},
{
"id": "3",
"username": "piyushgoel",
"email": "piyush@scrobbld.com",
"first_name": "piyush",
"last_name": "goel",
"phone": null,
"modified": "2014-11-05 10:42:14",
"created": "0000-00-00 00:00:00",
"timezone": "",
"currency_id": null,
"company_id": "2",
"Currency": []
}
],
"Warehouse": [
{
"id": "1920",
"title": "default warehouse",
"is_default": "1",
"created": "2014-12-03 03:52:36",
"company_id": "2",
'external_warehouse_code': null,
"WarehousingCompany.standard_tag": "gatifulfillmentservice" //this field denotes if the
warehouse is connected to a third party warehousing service provider
},
{
"id": "1927",
"title": "kanpur",
"is_default": "0",
"created": "2014-12-04 11:42:36",
"company_id": "2",
'external_warehouse_code': 'HYD',
"WarehousingCompany.standard_tag": "amazonfba"
}
],
"TaxRule": [
{
"id": "1",
"price_from": "0",
"price_to": "1000000",
"product_or_sku": "Default Product",
"pf_or_sku_id": "0",
"warehouse_id": "1",
"vat": "5",
"cst": "5",
"is_sku": "0",
"is_default": "1",
"company_id": "2",
"is_active": "0",
"created": "0000-00-00 00:00:00",
"modified": null
},
{
"id": "3173",
"price_from": "0",
"price_to": "0",
"product_or_sku": "SG007",
"pf_or_sku_id": "422896",
"warehouse_id": "1",
"vat": "5",
"cst": "5",
"is_sku": "1",
"is_default": "0",
"company_id": "2",
"is_active": "1",
"created": "0000-00-00 00:00:00",
"modified": null
}
],
"CompaniesModule": [
{
"id": "3629",
"company_id": "2",
"module_id": "1",
"is_enabled": "1",
"created": "2016-04-19 15:36:30",
"modified": "2016-04-19 15:36:30",
"module_title": "shipping",
"module_redirect_controller": "shipping_batches"
},
{
"id": "3630",
"company_id": "2",
"module_id": "2",
"is_enabled": "1",
"created": "2016-04-19 15:36:30",
"modified": "2016-04-19 15:36:30",
"module_title": "inventory",
"module_redirect_controller": "skus"
},
{
"id": "3631",
"company_id": "2",
"module_id": "3",
"is_enabled": "1",
"created": "2016-04-19 15:36:30",
"modified": "2016-08-03 07:54:59",
"module_title": "tally sync",
"module_redirect_controller": null
},
{
"id": "3632",
"company_id": "2",
"module_id": "4",
"is_enabled": "1",
"created": "2016-04-19 15:36:30",
"modified": "2016-08-03 07:55:01",
"module_title": "remittance",
"module_redirect_controller": "remittances"
}
]
}
}
GET Company Stats
#######################
This call will allow you to fetch the stats a particular company within a date range

End Point: http://app.browntape.com/0.1/companies/stats.json


Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY
&start_date='2014-01-01 00:00:00' (required)
&end_date='2014-04-01 23:59:59'(required)
&channel_id=345(optional)

Response:
{ success: true,
data: {
Company: {
id: "2",
title: "Spurline Store",
},
Stats: {
total_revenue: 345,500,
order_count: 1895,
item_count: 2385,
average_order_value: 722.34,
average_orders_per_day: 27.0,
average_revenue_per_day: 19,480.90
daily_sales_and_order_count: [
0: {date: '2014-10-28', sales: 7947, order_count: 19},
1: {date: '2014-10-29', sales: 7947, order_count: 19},
2: {date: '2014-10-30', sales: 7947, order_count: 19}
],
channel_split: [ //Included only if channel_id is NOT specified
0: {
channel_id: 345,
channel_title: 'ebay1',
channel_type_title: 'ebay India',
order_value: 454805,
order_count: 434
},
1: {
channel_id: 346,
channel_title: 'ebay2',
channel_type_title: 'ebay India',
order_valeu: 4548,
order_count: 43
},
2: {
channel_id: 347,
channel_title: 'amazon India',
channel_type_title: 'Amazon',
order_value: 454805,
order_count: 434
},
],
top_selling_items:[
0: {item_title: 'iPhone 4s 8gb White', sold_quantity: 34},
1: {item_title: 'iPhone 4s 16gb White', sold_quantity: 34},
2: {item_title: 'iPhone 4s 32gb White', sold_quantity: 34},
3: {item_title: 'iPhone 4s 8b Black', sold_quantity: 34},
4: {item_title: 'iPhone 4s 16gb Black', sold_quantity: 34},
5: {item_title: 'iPhone 4s 32gb Black', sold_quantity: 34}
]
}
}

GET Warehouse List


#############################
This call will allow you to fetch the warehouses that a company has

End Point: http://app.browntape.com/0.1/warehouses/index.json


Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY

Response:
{
"success": true,
"data": [
{
"Warehouse": {
"id": "2",
"title": "default",
"created": "2015-07-06 17:12:27",
"external_warehouse_code": null,
"address_line1": "eqwed",
"address_line2": "sada",
"landmark": "dasd",
"city": "adsd",
"state": "asd",
"pincode": "144208",
"country": "asdsa",
"phone": "1234567890",
"email": "sdas@dqwd.com"
}
},
{
"Warehouse": {
"id": "3",
"title": "warehouse1",
"created": "2015-07-07 05:53:22",
"external_warehouse_code": "32324",
"address_line1": "xxx",
"address_line2": "yyy",
"landmark": "zzzzz",
"city": "ffsdf",
"state": "delhi",
"pincode": "403002",
"country": "india",
"phone": "1234567890",
"email": "zzz@aaa.com"
}
}
]
}

POST Warehouse Add


###############################
This call will allow you to create a warehouse
End Point: http://app.browntape.com/0.1/warehouses/add.json
Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY

Post Parameters:
{
data :
{
"title": "new_warehouse",
"address_line_1": "XXX" (optional) ,
"address_line_2": "XXX" (optional) ,
"landmark": "XXX" (optional) ,
"city": "XXX" (optional) ,
"state": "XXX" (optional) ,
"pincode": "XXX" (optional) ,
"country": "XXX" (optional) ,
"phone": "XXX" (optional) ,
"email": "XXX" (optional) ,
"external_warehouse_code": "XXX" (optional)
}

Response:
{
"success": true,
}
############################################################################

Orders
############################################################################

POST Orders Add


####################

End Point: http://app.browntape.com/0.1/orders/add.json


Parameters
?username =XXXXXXXXXX
&auth_string =YYYYYYYYY

Note: Payload should be created after removing comments below. Maximum of 10 orders can be
created in a single API call.
Post Parameters
{
data :[
{
"order_reference": "12345678909090", //mandatory
"channel_id": "68", //mandatory,
"channel_warehouse_code": "MyWarehouse", //(optional)
"created": "2016-12-08 20:12:25", //mandatory
"customer": { //mandatory
"firstname": "Albert",
"lastname": "Pinto",
"email": "albert.pinto@xyz.com"
},
"shipping_address": { //mandatory
"firstname": "Albert",
"lastname": "Pinto",
"email": "albert.pinto@xyz.com",
"address_1": "BATA SHOWrOOM",
"address_2": " PANJIM",
"address_3": " Alto",
"city": "PORVORIM",
"zip": "403521",
"state": "Goa",
"country_code": "IN",
"country": "India",
"phone": "9898989898"
"gstin":"22AAAAA0000A1Z5" //(optional)
},
"is_billing_address_same_as_shipping":"N",//(Optional) take Y and N only
"billing_address": { //Optional
"firstname": "Albert",
"lastname": "Pinto",
"email": "albert.pinto@xyz.com",
"address_1": "BATA SHOWrOOM",
"address_2": " PANJIM",
"address_3": " Alto",
"city": "PORVORIM",
"zip": "403521",
"state": "Goa",
"country_code": "IN",
"country": "India",
"phone": "9898989898",
"gstin":"22AAAAA0000A1Z5" //(optional)
},
"financial_status": "paid", //recommended, else 'unknown' status saved
"fulfillment_status": "processing", //recommended, else 'unknown' status saved
"amount": 335, //mandatory
"shipping_value": 20, //(optional)
"discount": 15, //(optional)
"discount_description": "Coupon SAVE 20%", //(optional, will be saved only if discount is
mentioned)
"executed_shipping_method": "Delhivery", //(optional)
"tracking_number": "451716052126", //(optional)
"order_reference2": "SLP1390296565", //(optional)
"invoice_number": "36357", //(optional)
"invoice_number_on_channel": "F0ID7GJ17-00003724", //(optional)
"imei_number": "1234589552", //(optional)
"item_titles_orders": [
{
"name": "Apple iPhone 4Sx",//mandatory
"sku": "P1_red",//recommended, else order shows as 'unmapped'
"sku_reference": "QQE234", //optional - reference for sku
"quantity": 1,//mandatory
"price": 145,//mandatory
"total": 145,//mandatory
"item_discount": 15, (optional)
"item_discount_description": "Coupon APPLE30", (optional, will be saved only if
item_discount is mentioned)
"tax": 6.9047619047619 //mandatory
},
{
"name": "Apple iPhone 4C",
"sku": "P1_black",
"quantity": 2,
"price": 145,
"total": 290,
"item_discount": 15, (optional)
"item_discount_description": "Coupon APPLE30", (optional, will be saved only if
item_discount is mentioned)
"tax": 6.9047619047619
}
],
“transactions”: [
{
"source": "Gift Card",
"source_transaction_ref" : "GFT12345", //has to be unique for order
"gross_value": 200,
"fees_value": 0,
"currency_id": 63
},
{
"source": "credit_card",
"source_transaction_ref" : "ABCD12345",
"gross_value": 210,
"fees_value": 0,
"currency_id": 63,
"note": "balance money paid on cc"
}
]
}
]
}

Success Response:
{
"success": true,
"data": {
"Orders": [
{
"status": true,
"data": "OrderId:98204" #BT Order ID, Details can be fetched via Orders Get call
}
]
}
}

Error Response:
{
"success": true,
"data": {
"Orders": [
{
"status": false,
"data": [
"0 : Customer Details Missing"
]
}
]
}
}
GET Orders
##############
This call will allow you to fetch all the orders from Browntape, given a company ID. You can use
various useful filters while making this fetch.
Note: You will notice that some unwanted/to-be-deprecated fields are included in this API call. For
performance reasons, they are not removed from the API. Orders are the most crucial entity and we
wish to keep the performance up.

End Point: http://app.browntape.com/0.1/orders/index.json


Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY
&created_from='2014-01-01 00:00:00' (optional)
&created_to='2014-04-01 00:00:00'(optional)
&modified_from='2014-01-01 00:00:00' (optional)
&modified_to='2014-04-01 00:00:00'(optional)
&fetched_from='2014-01-01 00:00:00' (optional, NOTE: This date represents the time at which
the order was fetched into Browntape.)
&fetched_to='2014-04-01 00:00:00' (optional, NOTE: This date represents the time at which the
order was fetched into Browntape.)
&channel_id[] = 3 (optional, multiple values accepted)
&order_id[] = 12345 (optional, multiple values accepted)
&fulfillment_status_id[]= courier assigned/delivered/cancelled/delivered/lost in
transit/manifested/on hold/order accepted/outfordelivery/packed/packing/pending
acceptance/pickedup
/pendingpickup/ready to ship/processing/reschedule pickup/return not
expected/return initiated/rto return pending/rto return received/return received
/return pending/return requested/upcoming/waitingforpickup(optional , multiple
values may be passed)
&financial_status_id= cod/declined/cancelled/paid/processing/refunded/reversed/unpaid(optional
, multiple values may be passed)
&order_reference=XYZ (optional)
&order_reference2=PQR (optional)
&warehouse_id[]=123 (optional, multiple values accepted)
&sku_code[] ='XYZ'(optional. Multiple values may be sent. Upto 100 values are accepted)
&stock_adjusted = 0/1/2 (optional. 0 - Stock not adjusted, 1 - Stock Adjusted, 2 - Stock
adjustment ignored)
&skip_unmapped_sku_orders = 0/1 (optional. 0 - dont skip orders having unmapped sku, 1 - skip
orders having unmapped sku)
&convert_currency=1 (optional,DEFAULT = 0, Note: When this setting is set to 1, all currency
values in this api will be converted to the currency specified in browtape settings)
&search_query=abc (optional, Note: If this param is set, all other params are ignored)
&imei_number=NULL (optional. Note: NULL is _only_ allowed for this field. Internally, it will check
for NULL value and empty string. Value passed as to be NULL in caps)
&erp_order_ref=123 (optional)
&erp_invoice_ref=123 (optional)
&erp_shipment_ref=123 (optional)
&page=1
&limit = 200 (optional. Default - 200 , Max - 200)

Response:
{
"success":"true",
"result_count":1,
"results_per_page":20,
"page":"1",
"data":[
{
"Order":{
"id":"107391769",
"is_cod":"0",
"order_type":null,
"created":"2015-06-02 00:00:00",
"modified":"2015-06-03 17:20:39",
"gross_value":"521",
"fees_value":null,
"channel_id":"1703",
"parent_id":null,
"shipping_value":"0",
"customer_id":"81259975",
"shipping_address_id":"2716909",
"order_status_id":"2440737",
"financial_status_id":"2",
"fulfillment_status_id":"3",
"marketplace_status": null,
"shipping_batch_id":"22549",
"manifest_id":null,
"currency_id":"63",
"executed_shipping_method":"DTDC",
"tracking_number":"B19152417",
"stock_adjusted":"1",
"order_reference":"301151513",
"selected_shipping_method":null,
"uuid":"584770205556e897c666a270219",
"unread":"1",
"dispatch_date":"2015-06-03 11:50:23",
"bt_fulfillment_status_id":"3",
"bt_order_status_id":null,
"bt_financial_status_id":null,
"remittance_date":null,
"remittance_note":null,
"remitted_value":null,
"invoice_prefix":null,
"invoice_number":null,
"courier_company_id":"9",
"ship_label_path":null,
"courier_status_id":null,
"courier_status_raw":null,
"courier_tracking_attempts":"0",
"courier_tracked_on":null,
"warehouse_id":"1",
"tax_rule_id":null,
"weight_gm":null,
"length_mm":null,
"breadth_mm":null,
"height_mm":null,
"problem_reason":null,
"replacement_order_id":null,
"replacement_pending":null,
"created_on":null,
"vat_forms":"",
"marketplace_fulfilled":true,
"is_cancellable_on_channel":false,
"vatlinks": ""
},
"Channel":{
"id":"1703",
"email":null,
"email_from_name":null,
"email_bcc":null,
"invoice_template":null,
"title":"pepper fry",
"stock_sync":"1",
"ChannelType":{
"favicon_path":"\/img\/icons\/icon_offline_store.png",
"standard_tag":"offline_store"
}
},
"Customer":{
"id":"81259975",
"salutation":null,
"first_name":"zubin mistry",
"last_name":"",
"email":null,
"nickname":null,
"created":"0000-00-00 00:00:00",
"modified":"0000-00-00 00:00:00",
"customer_reference":null,
"channel_id":"1703",
"full_name":"zubin mistry ",
"company_name":null
},
"ShippingAddress":{
"id":"2716909",
"address_line1":"202 new cd baug . next to city center shopping mall in sai baba enclave
compound",
"address_line2":"Goregaon West",
"address_line3":"",
"city":"Mumbai",
"state":"Maharashtra",
"country":"India",
"country_code":null,
"zip":"400062",
"address_name":"zubin mistry ",
"phone":"9870770880"
},
"Currency":{
"id":"63",
"abbreviation":"INR",
"name":"Indian Rupee",
"symbol":"\u20b9",
"created":"0000-00-00 00:00:00",
"modified":"2015-09-15 09:24:56",
"rate":"66.3212",
"priority":"0"
},
"OrderStatus":{
"id":"2440737",
"title":"open"
},
"FinancialStatus":{
"id":"2",
"title":"paid"
},
"FulfillmentStatus":{
"id":"3",
"title":"shipped"
},
"Manifest":{
"id":null,
"manifest_reference":null,
"created":null,
"courier_company":null,
"picked_up_at":null,
"courier_boy_name":null,
"courier_boy_phone":null,
"company_id":null,
"schedule_pickup_token":null
},
"CourierCompany":{
"id":"9",
"title":"Dtdc",
"accepted_names":"[\"dtdc\",\"DTDC\",\"Dtdc\",\"dtdc\\\/dtdc\"]",
"standard_tag":"dtdc",
"manifest_report_type_id":"7"
},
"CourierStatus":{
"id":null,
"title":null
},
"Warehouse":{
"id":"1",
"title":"default warehouse",
"created":"0000-00-00 00:00:00",
"modified":"2014-08-14 09:44:34",
"company_id":"2",
"is_default":"1",
"warehousing_account_id":null,
"last_polled":"0000-00-00 00:00:00",
"external_warehouse_code":null,
"restricted_to_channel_id":null
},
"TaxRule":{
"id":null,
"title":null,
"company_id":null,
"condition_field":null,
"condition_value":null,
"tax_percentage":null,
"created":null,
"is_default":null
},
"item_titles_orders":{
"id":"109427330",
"order_id":"107391769",
"quantity":"1",
"tracking_ref":null,
"item_title_id":"18355001",
"gross_value":"521",
"item_url":null,
"number":null,
"item_options":null,
"tax_rule_id":"1",
"shipping_batch_id":null,
"manifest_id":null,
"packer_id":null,
"executed_shipping_method":null,
"tracking_number":null,
"courier_routing_code":null,
"selected_shipping_method":null,
"dispatch_date":"0000-00-00 00:00:00",
"courier_status_id":null,
"courier_company_id":null,
"courier_tracked_on":"0000-00-00 00:00:00",
"courier_status_raw":null,
"courier_tracking_attempts":"0",
"ship_label_path":null,
"fulfillment_status_id":null,
"shipping_value":null,
"sub_order_reference":null,
"warehouse_id":null,
"stock_flag":"1",
"dispatch_by_date":"0000-00-00 00:00:00"
},
"item_titles":{
"id":"18355001",
"title":"Light Fish Emerald Green Glass Cone Candle Holder",
"sku_id":null,
"sku_code_from_channel":"LFCM05",
"company_id":"2",
"number":null
},
"skus":{
"id":null,
"readable_name":null,
"custom_code":null,
"image_path":null,
"image_thumb_path":null,
"input_image_path":null,
"company_id":null,
"_in_stock_quantity":null,
"awaiting_dispatch_quantity":null,
"length_mm":null,
"breadth_mm":null,
"height_mm":null,
"weight_gm":null,
"bundle_id":null,
"is_disabled":null,
"is_bundle":null,
"default_cost_price":null,
"least_selling_price":null,
"created":null,
"modified":null,
"currency_id":null,
"is_low_stock":null,
"low_stock_level":null,
"product_id":null,
"stock_sync":null,
"product_category_id":null,
"tax_rule_id":null,
"style_code":null
},
"0":{
"ProductId":null
},
"Transaction":[
],
"ItemTitle":[
{
"id":"18355001",
"title":"Light Fish Emerald Green Glass Cone Candle Holder",
"sku_id":null,
"sku_code_from_channel":"LFCM05",
"company_id":"2",
"number":null,
"ItemTitlesOrder":{
"id":"109427330",
"order_id":"107391769",
"quantity":"1",
"tracking_ref":null,
"item_title_id":"18355001",
"gross_value":"521",
"item_url":null,
"number":null,
"item_options":null,
"tax_rule_id":"1",
"shipping_batch_id":null,
"manifest_id":null,
"packer_id":null,
"executed_shipping_method":null,
"tracking_number":null,
"courier_routing_code":null,
"selected_shipping_method":null,
"dispatch_date":"0000-00-00 00:00:00",
"courier_status_id":null,
"courier_company_id":null,
"courier_tracked_on":"0000-00-00 00:00:00",
"courier_status_raw":null,
"courier_tracking_attempts":"0",
"ship_label_path":null,
"fulfillment_status_id":null,
"shipping_value":null,
"sub_order_reference":null,
"warehouse_id":null,
"stock_flag":"1",
"dispatch_by_date":"0000-00-00 00:00:00",
"TaxRule":{
"id":"1",
"title":"VAT 5%",
"tax_percentage":"5"
}
},
"Sku":{
"id":null,
"custom_code":null,
"style_code":null,
"readable_name":null,
"length_mm":null,
"breadth_mm":null,
"height_mm":null,
"weight_gm":null,
"default_cost_price":null
},
"Product":{
"title":null
},
"brand": "Raymond"
}
],
"Message":[

]
}
}

Order statuses in Browntape


---------------------------
Financial Statuses
id title
1 unpaid
2 paid
3 refunded
4 reversed
5 cancelled
6 cod
7 processing
8 declined

Fulfillment Statuses
id title
1 processing
2 packing
3 shipped
4 delivered
5 "return initiated"
6 "ready to ship"
7 "return received"
8 "on hold"
9 "return pending"
10 "return not expected"
11 "rto return pending"
12 "rto return received"
13 pickedup
14 outfordelivery
15 pendingpickup
16 unshipped
17 waitingforpickup
18 cancelled
19 upcoming
20 "reschedule pickup"
21 "pending acceptance"
22 "order accepted"
23 "lost in transit"
24 "courier assigned"
25 packed
26 manifested
28 service complete
121 returned
149 "return requested"

Order Type Values


id title
1 Snapdeal Plus
2 Snapdeal OneShip
3 Snapdeal DropShip
4 Snapdeal VendorSelf
5 Amazon FBA
6 Ebay Powership
7 Flipkart Advantage
8 Amazon EasyShip
9 Marketplace Fulfilled
null Merchant Fulfilled

GET Order Update


######################
This call will allow you update an order, given the order ID. This call may fail if
The order id specified does not belong to the logged in company
The fulfillment status is moved to 'shipped' AND the courier details are not included AND the courier
details are not contained in the order from earlier (Powership type orders).
If neither the fulfillment_status, nor a financial_status is specified.
----------------------------------
NOTE:
* At this point, the channels are updated when you mark the order as shipped. That too the
channels updated are eBay, Amazon, Shopify, Magento, Zepo.
* For orders from eBay.in accounts with Powership enabled, when you mark the order as 'ready
to ship', Browntape marks the order accordingly in eBay and tries to fetch the courier information for
the order as allocated by eBay (this happens in 95% cases, in the otehr 5%, ebay expects the
merchant to ship himself). Hence, after you RTS an order, try to get the order again to get the
courier information.
-----------------------------------
End Point: http://app.browntape.com/0.1/orders/updateorder.json
Method:GET
Parameters to be passed:
?username=XXXXXXXXXX //mandatory
&auth_string=YYYYYYYYY //mandatory
&order_id=12132232 //mandatory
&fulfillment_status='shipped' (optional)
&financial_status='paid' (optional)
&executed_shipping_method='dtdc' (optional)
&tracking_number='X948394839' (optional)
&erp_invoice_ref='123663521' (optional)
&erp_order_ref='KK56GGT678' (optional)
&erp_shipment_ref='4JFIF44' (optional)
&weight_gm='10' (optional, in grams, no decimal points)
&height_mm='100' (optional, in millimeters, no decimal points)
&breadth_mm='58' (optional, in millimeters, no decimal points)
&length_mm='100' (optional, in millimeters, no decimal points)
&invoice_prefix='2015-16' (optional, mandatory with invoice_number)
&invoice_number='123' (optional, mandatory with invoice prefix)
&invoice_date='2015-10-28 00:00:00' (optional, date format specified)
&invoice_amount=225.10 (optional, float values are accepted)
&marketplace_invoice_number='123112' (optional)
&invoice_path='http://marketplac.com/invoice/invoicepath.pdf' (optional)
&ship_label_path='http://marketplac.com/label/shiplabelpath.pdf' (optional)
&pickup_date=2016-12-01 (mandatory,only for amazon easy ship orders)
&pickup_time_band=10-13 (mandatory,only for amazon easy ship orders,value should be
accepted are 10-13 or 13-16 or 10-17 means 1 time slot or 2 time slot or heavy appliances time slot
on amazon)
&imei_no = "<json string>" (Optional eg:
'{"858732070":[["3582***99493","3582722063***0"],["35***063799493","358272206***490"]],"85873
2072":[["358*****799493","35827220***9490"]],"858732073":[["3******799493","3582*****99490"]]}'
where (858732070,858732072,858732073) are Browntape ItemTitlesOrder id)
&auto_select_packaging: 0 (optional),
&packaging : "11X12X3" (optional)

Response:
{success: 'true', data: null }

POST Bulk Order Update


##############################
This call will allow you to update multiple orders at the same time
End Point: http://app.browntape.com/0.1/orders/bulk_update.json
Parameters
?username =XXXXXXXXXX
&auth_string =YYYYYYYYY
Post Parameters
{
data: [
{
"order_id": 12132232 (mandatory)
"fulfillment_status":'shipped' (optional)
"financial_status":'paid' (optional)
"executed_shipping_method":"dtdc" (optional)
"tracking_number":"X948394839" (optional)
"weight_gm":"10" (optional, in grams, no decimal points)
"height_mm":"100" (optional, in millimeters, no decimal points)
"breadth_mm":"58" (optional, in millimeters, no decimal points)
"length_mm":"100" (optional, in millimeters, no decimal points)
"invoice_prefix":"2015-16" (optional, mandatory with invoice_number)
"invoice_number":"123" (optional, mandatory with invoice prefix)
"invoice_date":"2015-10-28 00:00:00" (optional, date format specified)
"invoice_amount":225.10 (optional, float values are accepted)
"pickup_date"2016-12-01 (mandatory,only for amazon easy ship orders)
"pickup_time_band:"10-13 (mandatory,only for amazon easy ship orders,value should be
accepted are 10-13 or 13-16 or 10-17 means 1 time slot or 2 time slot or heavy appliances time slot
on amazon)
"marketplace_invoice_number":"123112" (optional)
"invoice_path":"http://marketplac.com/invoice/invoicepath.pdf" (optional)
"ship_label_path":"http://marketplac.com/label/shiplabelpath.pdf" (optional)
"auto_select_packaging": 0 (optional),
"erp_invoice_ref": "123663521" (optional),
"erp_order_ref": "KK56GGT678" (optional),
"erp_shipment_ref": "4JFIF44" (optional)

},
{
"order_id": 131212121 (mandatory)
"fulfillment_status":'shipped' (optional)
"financial_status":'cod' (optional)
"executed_shipping_method":"dtdc" (optional)
"tracking_number":"A448394839" (optional)
"weight_gm":"10" (optional, in grams, no decimal points)
"height_mm":"100" (optional, in millimeters, no decimal points)
"breadth_mm":"58" (optional, in millimeters, no decimal points)
"length_mm":"100" (optional, in millimeters, no decimal points)
"invoice_prefix":"2015-16" (optional, mandatory with invoice_number)
"invoice_number":"124" (optional, mandatory with invoice prefix)
"invoice_date":"2016-01-28 00:00:00" (optional, date format specified)
"invoice_amount":400.10 (optional, float values are accepted),
"pickup_date"2016-12-01 (mandatory,only for amazon easy ship orders)
"pickup_time_band:"10-13 (mandatory,only for amazon easy ship orders,value should be
accepted are 10-13 or 13-16 means 1 time slot or 2 time slot on amazon)
"marketplace_invoice_number":"123113" (optional)
"invoice_path":"http://marketplac.com/invoice/invoicepath2.pdf" (optional)
"ship_label_path":"http://marketplac.com/label/shiplabelpath2.pdf" (optional)

}
]
}

Response
Success Response
{
success: true
}
Error Response
{
success: false,
error:[
{
"order_id":123456
"reason":"fulfillment status not found"
},
{
"order_id":198765
"reason":"Weight can only take numeric values"
}
]
}

GET OrderItem Update


##########################
This call will allow you to update the order items. Currently it supports the tax update
This requires a mandatory field: item_title_order_id
Every order has ItemTitlesOrder associated with them. These are the line items for each order. For
example, if one order has 2 items, it will have 2 ItemTitlesOrder
and if it has 1 item it will have 1 ItemTitlesOrder. The tax rules are at item_title_order level, so you
need to use the item_title_order_id

End Point: http://app.browntape.com/0.1/orders/updateorderitem.json


Method:GET
Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY
&item_title_order_id='2345124' (mandatory)
&tax='12.5' (optional)
&fulfillment_status=shipped //(optional. For valid values, see statuses)

Response:
{success: 'true', message:'Updated Successfully'}

POST Orders updateOrdersFromChannel


################################################
This call will allow you to queue a call on the Browntape backend to re-fetch this order
from the channel. This can be used if you think the status of the order in Browntape is not updated
or some other information is incomplete.

End Point: http://app.browntape.com/0.1/orders/updateOrdersFromChannel.json


Method: POST
Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY
Post Parameters
{
data: {
"order_ids": [12132232,129182918] (mandatory, has to be an array)
}
}
Response:
{
"success": true,
"result_count": 2,
"data": {
"12132232": {
"token": "bc535db37b54c2cd7426ec28522923cf"
},
"129182918": {
"token": "1a3654bcd16fd5c20f98ce42b753305e"
}
},
"request_details":
"{"username":"XXXXXXXXXXXXXXXX","auth_string":"YYYYYYYYYYYYYYYY"}"
}
------------------------
NOTE: The order id is in the key of the data part of the response. The token returned per order id
is an identifier for the backend job queued to update the order from the channel. You can use the
QueueResults GET call to fetch the status of the job.
------------------------

POST Orders downloadFromS3


#####################################
This call is meant for clients who are not able to access the shipping label paths which are actually
Amazon S3 links. If you run into this, you could use this API to download the Amazon S3 files via
our server (although, we highly recommend opening up access to global resources like Amazon S3)

End Point: http://app.browntape.com/0.1/orders/downloadFromS3.json


Method: POST
Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY
Post Parameters
{
data: {
"urls": [

"https://sdprd.s3.amazonaws.com/sd-seller-api/orderExport/Sa04ed_INVOICE_SLP1009281065_14
70732665946.pdf",

"https://btesimages.s3.amazonaws.com/PdfLabelFiles/OD506959754172720000-56959754172720
00_shippinglabel.pdf"
] //(mandatory, has to be an array)
}
}
Response:
{
"success": true,
"result_count": 2,
"data": [

"http://app.browntape.com/pdfs-merge/raw/Sa04ed_INVOICE_SLP1009281065_1470732665946.p
df",

"http://app.browntape.com/pdfs-merge/raw/OD506959754172720000-5695975417272000_shipping
label.pdf"
]
"request_details": "{"username":"XXXXXXXXXXXX","auth_string":"YYYYYYYYYYYYYYYY"}"
}
------------------------
NOTE: The URLs returned will be from app.browntape.com domain. The will be in order of your
requests
------------------------
GET Orders Get Docs
#######################

By this Api the user can fetch all Order Documents.

End Point : http://app.browntape.com/0.1/orders/getdocs.json

Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY
&orderIds[]=123456789
&orderIds[]=123445567
&orderIds[]=985632145

Response:

{
"success": true,
"msg": "SuccessFully fetched",
"total_result": 2,
"data": [
{
"Order": {
"id": "1288785124",
"invoice_path": null,
"order_manifest_path": null,
"order_declaration_path": null,
"ship_label_path": null,
"order_statement_path": null,
"channel_manifest_pdf_path": null,
"manifest_url": null,
"bt_invoice":
"https://btesimages.s3.amazonaws.com/PdfLabelFiles/1288785124-bt-order-invoice.pdf",
"bt_shipping_label_path":
"https://btesimages.s3.amazonaws.com/PdfLabelFiles/1288785124-bt-order-Label.pdf"
}
},
{
"Order": {
"id": "1288785125",
"invoice_path": null,
"order_manifest_path": null,
"order_declaration_path": null,
"ship_label_path": null,
"order_statement_path": null,
"channel_manifest_pdf_path": null,
"manifest_url": null,
"bt_invoice": null,
"bt_shipping_label_path":
"https://btesimages.s3.amazonaws.com/PdfLabelFiles/1288785125-bt-order-Label.pdf"
}
}
]
}

POST Manifest Create


#################################
This call will create a manifest in Browntape . Orders with the same Courier, from the same
Channel and with the same order type will be added to the same manifest.

End Point: http://app.browntape.com/0.1/manifests/add.json

Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY

Post Parameters:
data :
{
"orders" : [
"157710",
"157712",
"157713",
"157720",
"157718"
] (browntape order ids)

Response:
{
"success": true,
"message": [
"Order 157718 has already been manifested",
"Order 157720 has already been manifested"
],
"data": {
"manifest": [
{
"id": "57",
"orders": [
"157710",
"157712"
]
},
{
"id": "58",
"orders": [
"157713"
]
}
]
}
}

POST Manifest Create AND Fetch Marketplace Manifest Document


############################################################################
This call will create manifest(s) in Browntape and start fetching its manifest document from the
marketplace.
Orders with the same Courier, from the same Channel and with the same order type will be
added to the same manifest.
You will be given a token with each manifest if marketplace manifest download is supported for
that channel.

End Point: http://app.browntape.com/0.1/manifests/addAndClose.json

Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY

Post Parameters:
data :
{
"orders" : [
"157710",
"157712",
"157713",
"157720",
"157718"
] (browntape order ids)

Response:
{
"success": true,
"message": [
"Order 843604022 has already been manifested",
"Order 843604024 has already been manifested"
],
"data": {
"manifest": [
{
"id": "48803",
"orders": [
"843565843",
"843565844",
"843565845"
],
"tokenMessage": "This channel does not support get marketplace manifest"
},
{
"id": "48807",
"orders": [
"843604023"
],
"token": "d434f29a3c53d9fc35fa6d5f9f49f862"
}
]
}
}

POST Manifest Update


################################
This call will update a manifest in Browntape .

End Point: http://app.browntape.com/0.1/manifests/update.json

Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY

Post Parameters:
data :
{
"manifest" : {
"id":123
"status": "closed/picked"
}

Response:
{
"success": true
}
POST Save Order Item Attempts
####################################
Save delivery and service attempts against order item ids. Only relevant for Flipkart Self Ship orders

Endpoint: http://app.browntape.com/0.1/orders/saveOrderItemAttempts.json

Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY

Post Parameters:
{
data : [
{
"item_titles_order_id": 242342342432,
"type" : "delivery", //allowed "delivery", "service"
"reason" : "no show",
"sub_reason": "premises locked",
"comments" : "even after calling beforehand, premises was locked",
"attempt_date" : "2019-01-27 18:30+00:00",
"next_attempt_date": "2019-01-31 18:30+00:00"
},
{
"item_titles_order_id": 242342342443,
"type" : "service", //allowed "delivery", "service"
"reason" : "no show",
"sub_reason": "customer not available",
"comments" : "customer said on phone that she will not be available",
"attempt_date" : "2019-01-27 18:30+00:00",
"next_attempt_date": "2019-01-31 18:30+00:00"
},
]

Response:
Overall success of the call depends on the success of saving of the individual attempts
{
"success": false,
"data": [
{
"id": 1029340,
"success": true,
"token": "5244afad3a2795c762d0d3fed96c61d4",
"item_titles_order_id": 242342342432,
"type" : "delivery", //allowed "delivery", "service"
"reason" : "no show",
"sub_reason": "premises locked",
"comments" : "even after calling beforehand, premises was locked",
"attempt_date" : "2019-01-27 18:30+00:00",
"next_attempt_date": "2019-01-31 18:30+00:00"
},
{
"success" : false,
"error" : "Order is not seller shipped service type, hence cannot save service attempts",
"item_titles_order_id": 242342342443,
"type" : "service", //allowed "delivery", "service"
"reason" : "no show",
"sub_reason": "customer not available",
"comments" : "customer said on phone that she will not be available",
"attempt_date" : "2019-01-27 18:30+00:00",
"next_attempt_date": "2019-01-31 18:30+00:00"
},
]
}

POST Create Order Return


####################################
Verify the returns received at the Warehouse, categorize as Good and Bad Returns along with
Tracking information and Custom Notes against each Item returned.

Endpoint: http://app.browntape.com/0.1/orders/create_order_return.json

Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY

Post Parameters:
{
data : [
{
"order_id": 25544,
"mark_return_received": false, // boolean default false
"add_inventory": true, // boolean default true
"executed_shipping_method": "Bluedart",
"tracking_number": 123,
"return_reason": "wrong product delivered",
"note": "note 1",
"item_returns" : [
{
"item_titles_order_id": 28347,
"good_return_quantity": 1,
"bad_return_quantity": 0
},
{
"item_titles_order_id": 28348,
"good_return_quantity": 1,
"bad_return_quantity": 0
}
]
},
{
"order_id": 25544,
"mark_return_received": false, // boolean default false
"add_inventory": true, // boolean default true
"executed_shipping_method": "Bluedart",
"tracking_number": 123,
"return_reason": "wrong product delivered",
"note": "note 1",
"item_returns" : [
{
"item_titles_order_id": 28347,
"good_return_quantity": 1,
"bad_return_quantity": 0
},
{
"item_titles_order_id": 28348,
"good_return_quantity": 1,
"bad_return_quantity": 0
}
]
}
]
}

Success Response:
{
"status_code": 200,
"success": true,
"message": "Successfully created returns",
"server": "172.18.0.6"
}

Failed Response:
{
"status_code": 500,
"success": false,
"message": "Some orders failed",
"errors": [
{
"order_id": 25555,
"message": "item_titles_order_id: 28364 You cannot return more items than you sold"
},
{
"order_id": 25554,
"message": "item_titles_order_id: 28361 You cannot return more items than you sold"
},
{
"order_id": 25554,
"message": "item_titles_order_id: 28362 You cannot return more items than you sold"
}
],
"server": "172.18.0.6"
}
##########################################################################

Activities
############################################################################

GET QueueResults index


##############################
This call can be used to get the result of any backend job given to the Browntape backend.
Status Definition
1 - Queued
2 - Running
3 - Failed
4 - Completed Successfully

End Point: http://app.browntape.com/0.1/queue_results/index.json


Parameters
?username =XXXXXXXXXX
&auth_string =YYYYYYYYY
&tokens[] =bc535db37b54c2cd7426ec28522923cf
&tokens[] =1a3654bcd16fd5c20f98ce42b753305e
&tokens[] =7f94b56a35365f126f819540886b5fa0aasfasf

Response:
{
"success": true,
"result_count": 3,
"data": [
{
"QueueResult": {
"id": "5058",
"token": "1a3654bcd16fd5c20f98ce42b753305e",
"is_success": "1",
"status": "4",
"message": "saveSingleOrder: channelId 80,Order Ref403-7801450-7622747fetch
successfully",
"queue_time": "2016-08-10 11:52:22",
"initialize_time": "2016-08-10 11:52:27",
"finish_time": "2016-08-10 11:52:27"
}
},
{
"QueueResult": {
"id": "5057",
"token": "bc535db37b54c2cd7426ec28522923cf",
"is_success": "1",
"status": "4",
"message": "saveSingleOrder: channelId 80,Order Ref171-0005372-4632321fetch
successfully",
"queue_time": "2016-08-10 11:52:22",
"initialize_time": "2016-08-10 11:52:27",
"finish_time": "2016-08-10 11:52:27"
}
},
{
"QueueResult": {
"id": null,
"token": "7f94b56a35365f126f819540886b5fa0aasfasf",
"is_success": null,
"status": null,
"message": "Token not found.",
"queue_time": null,
"initialize_time": null,
"finish_time": null
}
}
],
"request_details": {
"username": "XXXXXXXXXXXXXXXXX",
"auth_string": "YYYYYYYYYYYYYYYY",
"tokens": [
"bc535db37b54c2cd7426ec28522923cf",
"1a3654bcd16fd5c20f98ce42b753305e",
"7f94b56a35365f126f819540886b5fa0aasfasf"
]
}
}
############################################################################

Inventory
############################################################################

GET SKUs Index


#############
This call will allow you to fetch all the SKUs created from Browntape, given a company (which is
deduced from the authenticated user). You can use various useful filters while making this fetch.

End Point: http://app.browntape.com/0.1/skus/index.json


Parameters to be passed:
?username =XXXXXXXXXX
&auth_string =YYYYYYYYY
&created_from ='2014-01-01' (optional)
&created_to ='2014-04-01'(optional)
&modified_from ='2014-01-01' (optional)
&modified_to ='2014-04-01'(optional)
&sku_code[] ='XYZ'(optional. Multiple values may be sent. Upto 100 values are accepted)
&page_size =123 (optional. default:1000 , max:1000)

Response:
{
"success":"true",
"result_count":1,
"results_per_page":50,
"page":1,
"data":[
{
"Sku":{
"id":"27628",
"readable_name":"bridge",
"custom_code":"bridge_bundle_1",
"image_path":null,
"image_thumb_path":null,
"input_image_path":null,
"company_id":"2",
"_in_stock_quantity":"-3",
"sla_days":null,
"awaiting_dispatch_quantity":"0",
"length_mm":null,
"breadth_mm":null,
"height_mm":null,
"weight_gm":null,
"bundle_id":null,
"is_disabled":"0",
"is_bundle":"1",
"default_cost_price":"0",
"least_selling_price":null,
"created":"2016-10-19 11:23:53",
"modified":"2016-10-19 05:53:54",
"currency_id":"0",
"is_low_stock":"1",
"low_stock_level":"10",
"product_id":null,
"stock_sync":"0",
"product_category_id":null,
"tax_rule_id":null,
"style_code":null,
"color":null,
"size":null,
"master_mrp":null,
"master_selling_price":null,
"number_of_linked_items":0,
"SkusWarehouse":[
{
"stock":"-3",
"stock_pending_dispatch":0
}
],
"stock":"-3",
"stock_pending_dispatch":0
},
"Product":{
"id":null,
"title":null,
"company_id":null,
"product_category_id":null,
"custom_product_category_id":null,
"created":null,
"has_variations":null
},
"ProductCategory":{
"id":null,
"title":null,
"parent_id":null
},
"TaxRule":{
"id":null,
"price_from":null,
"price_to":null,
"product_or_sku":null,
"pf_or_sku_id":null,
"warehouse_id":null,
"vat":null,
"cst":null,
"is_sku":null,
"is_default":null,
"company_id":null,
"is_active":null,
"created":null,
"modified":null
},
"HsnCode": {
"id": null,
"code": null,
"title": null,
"description": null
},
"Brand": {
"title": "Khadim"
},
"BundleDetail":[
{
"id":"20",
"bundle_sku_id":"27628",
"child_sku_id":"1",
"quantity":"1",
"Sku":{
"id":"1",
"readable_name":" iPhone 5c Red 16GB ",
"custom_code":"1001BT",
"image_path":null,
"image_thumb_path":null,
"input_image_path":"https://dl.dropboxusercontent.com/u/56339967/ONBTBTMO04.jpg",
"company_id":"2",
"_in_stock_quantity":null,
"sla_days":null,
"awaiting_dispatch_quantity":null,
"length_mm":"0",
"breadth_mm":"0",
"height_mm":"0",
"weight_gm":"0",
"bundle_id":null,
"is_disabled":"0",
"is_bundle":"0",
"default_cost_price":"11",
"least_selling_price":"10",
"created":"0000-00-00 00:00:00",
"modified":"2015-07-07 06:30:01",
"currency_id":"2",
"is_low_stock":"0",
"low_stock_level":"2",
"product_id":"1",
"stock_sync":"0",
"product_category_id":null,
"tax_rule_id":null,
"style_code":null,
"color":null,
"size":null,
"master_mrp":null,
"master_selling_price":null
}
},
{},
{}
],
"SkusChannel":{
},
"SkusAlias":[
{
"id":"28953",
"sku_id":"27628",
"sku_code_alias":"bridge_bundle_1"
}
],
"ChannelsStock":{
}
}
]
}

POST Inventory
###################
This call will allow you to change the stock of a certain SKU

End Point: http://app.browntape.com/0.1/skus/edit.json

Parameters
?username =XXXXXXXXXX
&auth_string =YYYYYYYYY
&adjust_pending =true/false (optional)
&adjust_back_orders=true/false (optional)

Post Paramter
{
data: [
{
"custom_code": "XYZ",
"stock": 23 ,
"warehouse_id":1297(optional),
"hsn_code":1234,
"brand":"Arrow"
},
{
"custom_code": "LMN",
"stock": 22 ,
"warehouse_id":1341(optional),
"hsn_code":1234,
"brand":"USPA"
},
{
"custom_code": "ABC",
"stock": 27 ,
"warehouse_id":1234 (optional),
"hsn_code":1234,
"brand":"Raymond"
}

]
}

Note :

1. If adjust_pending parameter set to true, Browntape will deduct the pending_dispatch_stock


before saving the stock. If set to false, then the stock will be stored as is.
2. If adjust_back_orders param is set to true, BT will deduct the open back orders (Myntra &
Jabong) for that SKU before saving the stock

*Pending Dispatch Stock corresponds to the stock deducted for the orders received for a particular
custom_code and those orders are pending to be shipped.

Eg:
_______________________________________________________________________________
____________________________

Sr No | custom_code | Current BT stock | Pending Dispatch Stock | API Stock | Adjust_Pending |


Final Stock
_______________________________________________________________________________
____________________________

1. | ABC_210 | 80 | 0 | 100 | true | 100

2. | ABC_123 | 50 | 0 | 100 | false | 100

3. | ABC_456 | 70 | 10 | 100 | true | 90

4. | ABC_789 | 30 | 10 | 100 | false | 100


_______________________________________________________________________________
____________________________

2.Stock field should be numeric (only) and cannot be empty


Response
{
"success": "true",
"message": [
{
"XYZ": "Stock reset to 23"
},
{
"LMN": "Stock reset to 22"
},
{
"ABC": "Stock reset to 27"
}
],
"Skus": "3 Skus update successfully"
}

POST SKUs
###############
This call will create new SKUs within Browntape.

End Point: http://app.browntape.com/0.1/skus/add.json

Parameters
?username =XXXXXXXXXX
&auth_string =YYYYYYYYY

Post Parameter
{
data: [
{
"custom_code": "XYZ",
"readable_name": "iPhone 4s White 64GB",
"product_family": "iPhone 4s",
"opening_stock": 1000,
"low_stock_warning_at": 5,
"default_cost": 25000,
"least_selling_price": 26999,
"currency": "INR",
"length_mm": 10,
"breadth_mm": 10,
"height_mm": 10,
"weight_gm": 800,
"image_url":
"https://dl.dropboxusercontent.com/u/56339967/Images%20/ONBTBTMOOM0004.jpg",
"hsn_code":1234,
"brand":"USPA"
}
]
}

Notes
* Custom code & readable name default_cost,currency are required fields. More so, they should
be unique within the account (if you have a product with custom_code as 'XYZ', you cannot add
another one with the same code.
* Product family is a grouping of the product. For example, “iPhone 4s” could be a product family
and “iPhone 4s White 64GB” could be an SKU under the family.
* Opening stock is the inventory that will be assigned to the SKU once it is created. You can set
this as 0.
* Low stock warning is the inventory level under which the system will start sending inventory
alerts.
* Default cost is the usual cost price at which the product is purchased. Is useful during profit
calculation
* Least selling price is used to show warnings if the product is sold on any marketplace below the
LSP.
* Currency should be set to the three letter abbreviation like INR or USD.
* Length, breadth, height and weight could be useful for courier pricing if mentioned.
* Image URL is a location from where Browntape can pick up an image of the product.
Response
{
success: true,
message: “34 products added”
}

POST SKU Update


##########################

This call will allow you to change properties/attributes of an sku

End Point: http://app.browntape.com/0.1/skus/update.json

Parameters
?username =XXXXXXXXXX
&auth_string =YYYYYYYYY

Post Parameter
{
data: [
{
"custom_code": "XYZ",
"height_mm":12(optional)
"length_mm":11(optional)
"breadth_mm":17(optional)
"weight_gm":590(optional)
"hsn_code":1234 (optional)
"brand":"USPA" (optional)
},
{
"custom_code": "LMN",
"height_mm":12(optional)
"lenght_mm":11(optional)
"breadth_mm":17(optional)
"weight_gm":590(optional)
"hsn_code":1234(optional)
"brand":"Raymond"(optional)
},
{
"custom_code": "ABC",
"height_mm":12(optional)
"lenght_mm":11(optional)
"breadth_mm":17(optional)
"weight_gm":590(optional)
"hsn_code":1234(optional)
"brand":"Arrow"(optional)
}

]
}

POST Skus Price Update


#############################
This call will allow you to change the mrp and selling of SKUs on marketplaces

End Point: http://app.browntape.com/0.1/skus_channels/priceUpdate.json


Parameters
?username =XXXXXXXXXX
&auth_string =YYYYYYYYY

Post Parameter
{
"price_change_safe_limit":10,
"skus":[
{
"sku":"xx",
"channel_prices":[
{
"channel_id":123,
"mrp":50,
"selling_price":20
},
{
"channel_id":124,
"mrp":40,
"selling_price":25
}
]
},
{
"sku":"xy",
"channel_prices":[
{
"channel_id":123,
"mrp":50,
"selling_price":20
}
]
}
]
}

Response:
{
"status_code": 200,
"status": "success",
"message": "",
"errors": ""
}

NOTES -
The sku limit for this API is 1000
The 'price_change_safe_limit' parameter is a percentage value and may not exceed 50.

POST Inventory Rule Create


#######################################
This call will create a dedicated inventory rule for a warehouse in Browntape .

End Point: http://app.browntape.com/0.1/dedicated_inventory_rules/create.json

Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY

Post Parameters:
{
data :
{
{
"short_code":"test9",
"warehouse":"1",(optional)
"description":"apiTest",(optional)
"allocationTrigger":"40",(optional)
"allocationFrequency":"once",(once/continuous)
"ruleType":"absolute",(absolute/percentage)
"channel":{
"18085":{
"safetyStock":4,(optional)
"allocation":30,
"maxStock":40,(optional)
"priority":1
},
"18051":{
"safetyStock":1,(optional)
"allocation":7,
"priority":2
}
}
}

Response:
{
"success": true
}

POST Inventory Rule Assign


######################################
This call will allow you to assign a dedicated inventory rule to a SKU .

End Point: http://app.browntape.com/0.1/dedicated_inventory_rules/assign.json

Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY

Post Parameters:
{
data :
[
{
"sku" : "4257",
"ruleId" : "9",
"effectiveFrom" : "2017-07-20 00:00:00",
"effectiveTill" : "2017-08-20 00:00:00"
},
{
"sku" : "ML1",
"ruleId" : "8",
"effectiveFrom" : "2017-07-20 00:00:00",
"effectiveTill" : "2017-08-20 00:00:00"
}

Response:
{
"success": true
}
############################################################################

Promotions
############################################################################

GET Promotions Fetch


#########################

By this Api the user can fetch existing promotions from browntape.

End Point : http://app.browntape.com/0.1/promotions/index.json

Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY
&limit=10
&page=1
&state=null //Valid states are 'participated', 'ongoing', 'cancelled', 'processing'
&filter= {
channel_id: null,
promotion_start: null, //date format YYYY-MM-DD HH:mm:ss
promotion_end: null,
status: null, // Valid status are 'upcoming', 'processing', 'ongoing', 'ready to
participate', 'participated', 'cancelled', 'expired', 'error'
title: ""
}

Response:
{
"status_code": 200,
"status": "success",
"message": "Successfully fetched promotions.",
"data": [
{
"Promotion": {
"id": "63",
"channel_id": "21",
"title": "TEST PROMO 1",
"description": null,
"shortcode": "SHORT!",
"promotion_start": "2017-12-24 07:30:00",
"promotion_end": "2017-12-29 07:29:00",
"participation_start": "1970-01-01 06:30:00",
"participation_end": "1970-01-01 06:30:00",
"is_absolute": "0",
"seller_contribution": "100",
"promotion_level": "sku",
"status": "processing",
"type": "price discount",
"parallel_promo_code": null,
"channel_ref": null,
"initiator": "0",
"created": "2017-12-20 11:36:34",
"value": "15",
"company_id": "2",
"last_synced_on": "Wed, Dec 20, 2017, 11:36 AM"
},
"Channel": {
"title": "Myntra API",
"username": "Test Channel 2"
}
},
{
"Promotion": {
"id": "62",
"channel_id": "21",
"title": "TEST PROMO 2",
"description": null,
"shortcode": "SHORT",
"promotion_start": "2017-12-25 01:00:00",
"promotion_end": "2017-12-29 12:59:00",
"participation_start": "1970-01-01 12:00:00",
"participation_end": "1970-01-01 12:00:00",
"is_absolute": "0",
"seller_contribution": "100",
"promotion_level": "sku",
"status": "processing",
"type": "price discount",
"parallel_promo_code": null,
"channel_ref": null,
"initiator": "0",
"created": "2017-12-20 11:36:34",
"value": "15",
"company_id": "2",
"last_synced_on": "Wed, Dec 20, 2017, 11:36 AM"
},
"Channel": {
"title": "Myntra API",
"username": "test channel"
}
}
],
"pagination": {
"count": 33,
"limit": 10,
"page": 1,
"total_pages": 4,
"offset": 0
}
}

GET Promotion Fetch Entities


##################################

By this Api the user can fetch entities of promotion from browntape.

End Point : http://app.browntape.com/0.1/promotions/view_entities.json

Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY
&promotion_id=63 // BROWNTAPE Promotion ID
&entity_status=all // Marketplace status of entities 0-failed 1-passed all-all ''-marketplace call
not made

Response:
{
"status_code": 200,
"status": "success",
"message": "Successfully fetched promotion entities.",
"data": [
{
"id": "821",
"status": "1", // 1-success, 2-failed, null-marketplace call not made
"Sku": {
"id": "564",
"custom_code": "S1-Red-S"
}
},
{
"id": "822",
"status": "1",
"Sku": {
"id": "584",
"custom_code": "S1-Bt-blue-S"
}
},
{
"id": "823",
"status": "0",
"Sku": {
"id": "668",
"custom_code": "S2-Teal-XS"
}
}
]
}

POST Promotions Create


###########################

By this Api the user can create a promotion in browntape.

End Point : http://app.browntape.com/0.1/promotions/add.json

Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY

Post Parameters:
{
data :
{
"channel_id": "1232",
"title": "Test Promo 1",
"shortcode": "SHORT", //max 10 character
"promotion_start": "2017-11-27 00:00:00",
"promotion_end": "2017-12-30 23:59:59",
"participation_start": "2017-11-30 00:00:00", //optional
"participation_end": "2017-12-09 00:00:00", //optional
"is_absolute": "0", //if this is 0 the value field will be considered as percentage and if 1
the value be considered absolute
"value": 1,
"seller_contribution": 100, // percentage for the discount borne by seller
"promotion_level": "sku", // promotion at only sku level is supported till now
"entities": ["test_sku1", "test_sku2"], //sku_code for which promo is to be applied
"status": "processing", // Valid status are 'upcoming', 'processing', 'ongoing', 'ready to
participate', 'participated', 'cancelled', 'expired', 'error'
"type": "price discount" // only price discount is supported till now
"ignore_missing_entities" // optional default is 0 (0 - promotion wont be created if some
entities are missing) (1 - promotion will be created even if some skus are missing)
}
}

Response:

ERROR :
{
"status_code": 500,
"status": "failure",
"message": "No entities were not found in the database. Please fix this and retry.",
"data": [
"No entities were not found in the database. Please fix this and retry."
]
}

SUCCESS :
{
"status_code": 200,
"status": "success",
"message": "Successfully created Promotion",
"data": {
"success": true,
"token": "a38f48a8e44e375d9660675168be5808", //token will be provided when the
promotion is also being pushed to the marketplace
"promotion": {
"channel_id": "21",
"title": "Test Promo 1",
"shortcode": "SHORT",
"promotion_start": "2017-11-27 12:00:00",
"promotion_end": "2017-12-30 11:59:59",
"is_absolute": "0",
"value": 1,
"seller_contribution": 100,
"promotion_level": "sku",
"status": "processing",
"type": "price discount",
"entities": [
"PY51325_R000XL"
],
"company_id": "2",
"created": "2018-01-30 12:15:54",
"id": "65"
}
}
}
POST Promotions Update Status
#####################################

By this Api the user can create a promotion in browntape.

End Point : http://app.browntape.com/0.1/promotions/update_status.json

Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY

Post Parameters:
{
data :
{
"ids" : [
1, (BROWNTAPE Promotion ID)
2,
3
],
status: 'processing', // Valid status are 'upcoming', 'processing', 'ongoing', 'ready to
participate', 'participated', 'cancelled', 'expired', 'error'
}
}

Response:

ERROR :
{
"status_code": 500,
"status": "failure",
"message": "No entities were not found in the database. Please fix this and retry.",
"data": [
"No entities were not found in the database. Please fix this and retry."
]
}

SUCCESS :
{
"status_code": 200,
"status": "success",
"message": "Successfully updated promotions.",
"data": []
}
POST Promotions Delete
##########################

By this Api the user can delete existing promotions from browntape.

End Point : http://app.browntape.com/0.1/promotions/delete.json

Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY

Post Parameters:
{
data :
[
"ids" : [
1, (BROWNTAPE Promotion ID)
2,
3
]
]
}

Response:

{
"status_code": 200,
"status": "success",
"message": "Successfully deleted promotions."
}
############################################################################

Claims
############################################################################

GET Claims Fetch


######################

This call will allow you to fetch all the Return Order Claims created from Browntape, given a
company (which is deduced from the authenticated user). You can use various useful filters while
making this fetch.

End Point: http://app.browntape.com/0.1/claims/index.json

Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY
&created_from='2020-10-01 00:00:00' (optional)
&created_to='2020-11-27 00:00:00'(optional)
&status= pending/submitted/submitfail/granted/failed (optional)
&claim_type= flipkart_spf/amazon_safe_t (optional)
&order_id[] = 12345 (optional, multiple values accepted)
&page=1
&limit = 200 (optional. Default - 200 , Max - 200)

Response:
[
{
"Order": {
"id": "1290126141",
"created": "2020-11-11 19:18:00",
"modified": "2020-11-25 13:15:35",
"gross_value": "3430.00",
"fees_value": null,
"channel_id": "26569",
"parent_id": null,
"shipping_value": "0.00",
"cod_fees_value": null,
"customer_id": "266810273",
"shipping_address_id": "14623041",
"order_status_id": "4",
"financial_status_id": "6",
"is_cod": "1",
"fulfillment_status_id": "5",
"marketplace_status": "completed",
"is_replacement": "0",
"shipping_batch_id": null,
"manifest_id": null,
"packer_id": null,
"currency_id": "63",
"executed_shipping_method": "",
"tracking_number": "5931279528733",
"imei_number": null,
"courier_routing_code": null,
"stock_adjusted": "0",
"pending_stock_adjusted": "0",
"order_reference": "OD120197760445010000-12019776044501000",
"order_reference2": "OD120197760445010000",
"selected_shipping_method": null,
"uuid": "13883869685fbe4fb79b4948.458",
"unread": "1",
"dispatch_date": "2020-11-25 12:36:07",
"bt_fulfillment_status_id": "5",
"bt_order_status_id": null,
"bt_financial_status_id": null,
"remittance_date": null,
"remittance_note": null,
"remitted_value": null,
"courier_status_id": null,
"courier_company_id": "19",
"courier_tracked_on": null,
"invoice_number_on_channel": "FAC4T22100000121",
"invoice_number": null,
"invoice_prefix": null,
"invoice_generated_on": null,
"tax_rule_id": null,
"courier_status_raw": null,
"courier_tracking_attempts": "0",
"ship_label_path": null,
"invoice_path": null,
"order_manifest_path": null,
"channel_manifest_reference": null,
"order_statement_path": null,
"order_declaration_path": null,
"channel_docs_json": null,
"warehouse_id": null,
"weight_gm": null,
"length_mm": null,
"breadth_mm": null,
"height_mm": null,
"erp_invoice_ref": null,
"erp_order_ref": null,
"erp_shipment_ref": null,
"problem_reason": "Misshipment - DIFFERENT_SPECIFICATIONS_FROM_WEBSITE -
There is a big dent on holder.... - Mark By System",
"replacement_order_id": null,
"replacement_pending": null,
"is_split": "0",
"parent_order_id": null,
"company_id": "6596",
"order_type": "9",
"invoice_separator": "/",
"invoice_prefix_2": null,
"invoice_separator_2": null,
"created_on": "2020-11-25 12:36:07",
"vat_forms": null,
"packaging": null,
"pickup_date": "2020-11-11 19:23:46",
"pickup_time_band": null,
"is_scanned": "0",
"is_imei_count_valid": "0",
"first_printed_on": null,
"added_to_manifest_on": null
},
"Claim": {
"id": "1",
"item_titles_orders_returns_id": "32",
"created": "2020-11-25 13:24:13",
"modified": "2020-11-26 11:22:40",
"claim_type": "flipkart_spf",
"claim_reason": "damaged_product",
"status": "submitted",
"channel_reference": null,
"created_user_id": null,
"assigned_user_id": null
},
"ItemTitlesOrdersReturn": {
"id": "32",
"item_titles_order_id": "1321452950",
"return_number": "5fbe58f75d658",
"return_expected_quantity": null,
"good_return_quantity": "1",
"bad_return_quantity": "1",
"tracking_number": "R-2",
"executed_shipping_method": "Bluedart",
"return_reason": "customer has quality issue",
"note": null,
"return_attributes": null,
"stock_adjusted": "0",
"created": "2020-11-25 13:15:35",
"modified": "2020-11-25 13:15:35"
},
"ItemTitlesOrder": {
"id": "1321452950",
"order_id": "1290126141",
"quantity": "2",
"tracking_ref": null,
"item_title_id": "355833525",
"gross_value": "1715",
"item_url": "http://www.flipkart.com/item/LAEFG3G9VA7K5YYK",
"number": "12019776064301000",
"item_options": null,
"tax_rule_id": null,
"tax_type": null,
"tax_amount": null,
"tax_rate_percent": null,
"shipping_batch_id": null,
"manifest_id": null,
"packer_id": null,
"executed_shipping_method": null,
"tracking_number": null,
"courier_routing_code": null,
"selected_shipping_method": null,
"dispatch_date": "2020-11-12 00:00:00",
"bt_cancel_date": null,
"channel_cancel_date": null,
"bt_return_date": null,
"channel_return_date": "2020-11-25 12:36:07",
"courier_status_id": null,
"courier_company_id": null,
"courier_tracked_on": "0000-00-00 00:00:00",
"courier_status_raw": null,
"courier_tracking_attempts": "0",
"ship_label_path": null,
"fulfillment_status_id": "5",
"shipping_value": "0",
"sub_order_reference": null,
"warehouse_id": null,
"stock_flag": "1",
"dispatch_by_date": "0000-00-00 00:00:00",
"discount_amount": "0",
"imei_no": null,
"scanned_quantity": "0",
"item_attributes": null
},
"ItemTitle": {
"id": "355833525",
"title": "Designer Lighting Wall Lights Lamp Shade",
"sku_id": "4858736",
"sku_code_from_channel": "WL1338",
"company_id": "6596",
"number": "12019776064301000",
"channel_product_ref": "LAEFG3G9VA7K5YYK"
},
"Sku": {
"id": "4858736",
"readable_name": "Designer Lighting Wall Lights Lamp Shade",
"custom_code": "WL1338",
"image_path": null,
"image_thumb_path": null,
"input_image_path": null,
"company_id": "6596",
"_in_stock_quantity": "100",
"sla_days": null,
"awaiting_dispatch_quantity": "0",
"length_mm": null,
"breadth_mm": null,
"height_mm": null,
"weight_gm": null,
"bundle_id": null,
"is_disabled": "0",
"is_bundle": "0",
"default_cost_price": "0",
"least_selling_price": null,
"created": "2020-11-25 12:39:26",
"modified": "2020-11-25 13:00:46",
"currency_id": "0",
"is_low_stock": "0",
"low_stock_level": null,
"product_id": null,
"stock_sync": "1",
"product_category_id": null,
"tax_rule_id": null,
"style_code": null,
"color": null,
"size": null,
"master_mrp": null,
"master_selling_price": null,
"has_imei": "0",
"hsn_code_id": null,
"brand_id": null
},
"ClaimsImage": [
{
"claim_id": "1",
"image_type": "label_image",
"image_path": "https://skuimages.s3.amazonaws.com/3775770.jpeg"
},
{
"claim_id": "1",
"image_type": "content_image",
"image_path": "https://skuimages.s3.amazonaws.com/3775770.jpeg"
},
{
"claim_id": "1",
"image_type": "product_image_from_s",
"image_path": "https://skuimages.s3.amazonaws.com/3775770.jpeg"
},
{
"claim_id": "1",
"image_type": "damage_area_image",
"image_path": "https://skuimages.s3.amazonaws.com/3775770.jpeg"
}
]
}
]

POST Claims Update Status


##################################

End Point: http://app.browntape.com/0.1/claims/updatestatus.json

Parameters to be passed:
?username=XXXXXXXXXX
&auth_string=YYYYYYYYY

Post Parameters:
[
{
"id":1,
"status":"submitted"
},
{
"id":2,
"status":"granted"
}
]

Response:
[
{
"1": "Claim id 1 successfully updated."
},
{
"2": "Claim id 2 successfully updated."
}
]
############################################################################

Webhooks
############################################################################

Order Create Update Webhook


###########################################
Browntape allows users to register webhooks. These are YOUR end points which will get called at
the order create/update event. The POST HTTP request made to your end point will have the order
payload with a json similar to the response of order fetch API (above).

To register the order webhook, please contact your account manager with the following details
* Your BT API user which you want use for authentication.
* The URL or the end point where you wish to receive POST requests for new orders.
* Any headers that you might want us to send along with the POST request (in 'Header-name: value'
format).

Things to Remember while coding your end point.


* The request BT makes at the order create event will be a POST request.
* To authorize this request, BT will send the auth string which you usually send while making API
requests to BT. The password and api_secret used here will be of the BT API user you specify while
registering the webhook.
* BT will call your endpoint with a connection and response timeout of 20 secs. If no response is
received in, it will fail. At this point, no retry has been implemented.
* Your end point should respond with HTTP status 200. If any other status is received, it will be
deemed as a failure.
* The body of your response is ignored. But, keep it short (example: 'OK' or 'success') to keep the
call fast on the network.
* A log of all the webhook calls we make can be found in the 'Activities' section of BT.
* In one call, no more than 50 orders will be sent. If there are more than 50 orders created in BT at
once, they will be sent in multiple calls.
* For update orders, the webhook will be triggered if the update we receive is from channel.
* Any status updates on the order from the Browntape UI or API will also trigger the webhook.
######################################################################

API Limits
######################################################################

API Endpoint Maximum Call Count allowed per minute

GET Orders 40

POST Inventory 40

GET Order Update 60

GET SKUs Index 15

POST Skus Price Update 30

GET QueueResults index 20

GET Orders Get Docs 20

GET Warehouse List 20

GET Company Details 20

GET Company Stats 5

POST Promotions Create 20

POST Orders Add 10

POST Warehouse Add 20

POST SKUs 20

POST Bulk Order Update 20

POST SKUs Bulk Stock Change 15

GET OrderDetails 20

GET Reports 10

POST Reports Create 10

POST SKUs Agency Adjust 20

Default 20

Above mentioned is the API Call quota allowed per minute. After every minute, the quota is reset.

You might also like