This document describes step-by-step process of integrating with fabric Marketplace APIs to create your own Marketplace.
Product Overview
fabric Marketplace is the fastest solution to expand your catalog with curated products with no inventory risk. It enables you (as merchants or retailers) to rapidly connect with any vendor, launch, operate, and scale curated marketplace programs. This dramatically increases the number of products available to sell to customers, with no inventory risk and no need for a warehouse because items ship directly from fabric Marketplace vendors to customers. Thus, generating more revenue through new, innovative dropship technology.
As a Commerce as a Service (CaaS) solution, Marketplace provides a scalable and composable product line-up that includes headless APIs for items, price, inventory, cart, orders, shipping, and promotions. For retailers, Marketplace is an all-inclusive solution for seamless product assortment expansion via a network of dropship-capable suppliers. For suppliers, Marketplace offers a rapid and friction-free expansion of digital selling channels. fabric Marketplace provides all the technology necessary to drive incremental revenue streams, ensure best-in-class customer experiences, and integrate into any e-commerce stack.
Target readers
Third-party developers who set up Marketplace for merchants.
Click here for a glossary of terms.
Integration Expectations
Once you sign up for fabric Marketplace, your account must be activated. To fully integrate with fabric Marketplace, you must be able to complete the following workflows:
- Get Product catalog & attribute information from fabric Marketplace.
- Get Inventory information by Item or UPC from fabric Marketplace.
- Send Purchase Orders to fabric Marketplace
- Get fulfillments from fabric Marketplace, including: Tracking Numbers, Cancellations, and Backorders (optional)
- Get Invoices to fabric Marketplace
- Send Return/RMA notifications
fabric Marketplace Copilot Application
fabric Marketplace Copilot Application is the user interface for configuring Account Settings and view account data (products, orders, etc). An account is provisioned to all merchants, even those connecting via API.
Access to the fabric Marketplace Copilot application is pre-configured for the initial team member. Additional users can be invited by going to the Team members page within Merchant Settings. To invite additional users or access the various settings, select your company name from the upper-right (in the navigation bar) of the Copilot application and choose Merchant Settings.
Environments
Here are the environment details:
Sandbox Environment
To get started, you must request access to fabric Marketplace Sandbox environment to explore and test the functionality of the marketplace APIs. The sandbox is completely isolated from the production environment, so all actions are taken only within the sandbox environment.
All URL routes are identical in Sandbox and Production, aside from each using a different subdomain, so feel free to access any endpoint during the development of your code. You can develop entirely against the sandbox and then switch to the production subdomain for your application's production deployment.
Sandbox URL: https://marketplace-api-sandbox.fabric.inc/v1/
Production Environment
Production credentials are provided once the integration is reviewed and approved. The base URL, ID, Client ID, and Client Secret will differ and they should be configured as environment variables.
Production URL: https://marketplace-api.fabric.inc/v1/
Note: When you sign up for fabric Marketplace, you will get a connection ID, which is required to get started.
API Authentication
fabric Marketplace API uses Client ID and Client Secret to authenticate all clients over HTTPS. To get authenticated, you need to create an API client. To do so, Navigate to Merchant Settings from Copilot and click API Clients. Then, select Add API Client from the upper right and follow through the instructions.
Note: Client Secret is displayed only once.
Access token {#access-token}
To obtain an access token, send the following request:
POST https://marketplace-api-sandbox.fabric.inc/v1/
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials&client_id=[CLIENT_ID]&client_secret=[CLIENT_SECRET]
After obtaining the access token, you may send requests to protected endpoints by including your access token in the Authorization header as shown below:
Sample GET request for a protected resource
GET /v1/retailers/:id/orders/
Authorization: Bearer 0oW0r4m1pjIlb5UJujZA5iVuse0XSn
Note: Access token is valid only for 10 hours.
Products and Variant APIs
fabric Marketplace uses a two-level hierarchy for describing products and variants. Variants are grouped into products when variants share a common "parent identifier." For example, a T-Shirt that comes in 3 colors with 5 sizes is represented as a single product (T-Shirt) with 15 variants (3 colors * 5 sizes) so long as all the 15 variants point to the same parent identifier.
Method | Path | Description |
---|---|---|
GET | /v1/retailers/:id/products/ | Get product list |
GET | /v1/retailers/:id/products/:product_id/ | Get single product |
GET | /v1/retailers/:id/variants/ | Get variants |
GET | /v1/retailers/:id/variants/:variant_id/ | Get single variant |
PATCH | /v1/retailers/:id/variants/:variant_id/ | Update single variant |
Use the Product list endpoint to get details of multiple products.
Method | Path | Description |
---|---|---|
GET | /v1/retailers/:id/products/ | Get product list |
Optional Parameters
Parameter | Description |
---|---|
connection_id | Filter products based on connection_id. |
updatedat{operator} | Show only products updated since an epoch timestamp in UTC. Please substitute {operator} with "lt" (less than),"lte" (less than or equal), "gt" (greater than), or "gte" (greater than or equal). A complete parameter might look like: updated_at_gte=1650327740 |
Sample Request
GET /v1/retailers/:id/products/?updated_at_gte=1650327740
Sample Response
GET /v1/retailers/:id/products/
{
"count": 128,
"next": "https://marketplace-api.fabric.inc/v1/retailers/1182/pr...",
"previous": null,
"results": [
{
"id": 87736,
"name": "Classic Tee",
"identifier": "10089",
"brand": {
"id": 3413,
"code": "fabric-clothing",
"name": "fabric Clothing"
},
"brand_category": null,
"brand_name": null,
"parent_identifier": "10089",
"parent_name": "Classic Tee",
"description": null,
"rcn_status": "not_published",
"published_at": null,
"expires_at": null,
"primary_media": null,
"pricing": {},
"num_variants": 3 ,
"created_at": "2022-07-14T08:56:31Z",
"updated_at": "2022-07-14T08:56:31Z"
}
...
{},
{},
}
Use the following endpoint to get details of a specific product.
GET /v1/retailers/:id/products/:id/ Get a single product
Sample Request
GET /v1/retailers/:id/products/87736/
Sample Response
{
"id": 87736,
"parent_identifier": "10089",
"parent_name": "Classic Tee",
"description": null,
"brand": {
"id": 1206,
"code": "fabric-clothing",
"name": "fabric Clothing"
},
"brand_category": "Tops > T-Shirts",
"brand_name": null,
"manufacturer": null,
"num_variants": 3,
"variants": [...] // redacted for brevity
"media": [
{
"id": 69541,
"width": 1303,
"height": 1303,
"media": "7ec3bd683cebf288af6b92fd06c11135",
"priority": 1,
"url": "https://assets-sandbox.demo.com/variants/...
}
],
"rcn_status": "not_published",
"primary_media": {
"id": 472,
"width": 1303,
"height": 1303,
"media": "7ec3bd683cebf288af6b92fd06c11135",
"priority": 1,
"url": "https://assets-sandbox.demo.com/products/...
},
"pivot_attributes": [],
"taxonomy": [],
"demo_taxonomy": [],
"attributes": {
"description": {
"id": 1002,
"code": "description",
"name": "Description",
"editable_by": "any",
"grouping": "description",
"description": "",
"type": "text",
"units": "",
"values": [
{
"id": 166,
"value": "Way down unda', folks have ironed out all the necessary details for their latest lineup of board-sport inspired clothing. By pulling inspiration from the simple-living, coastal culture that makes surfing so enticing, their clothing provides a laidback look that blends art, fashion, and music from the past and present. Garment dyed and enzyme washed, the Classic Vintage Tee has a perfectly broken-in feel for all your warm weather relaxation.",
"unit": null
}
]
}
},
"last_published": {
"success": false,
"message": ""
},
"created_at": "2022-06-23T18:57:03Z",
"updated_at": "2022-06-24T17:01:58Z"
}
Use this endpoint to get a list of variants.
GET /v1/retailers/:id/variants/
Sample Request
/v1/retailers/500/variants/
Sample Response
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 100024,
"name": "The Best Of Radiohead",
"brand_identifier": "RADIOHEAD-1",
"parent_identifier": "",
"parent_name": "",
"attributes": {
"size": {
"id": 1024,
"code": "size",
"name": "Size",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 102,
"value": "XL",
"unit": null
}
]
},
"name": {
"id": 1,
"code": "name",
"name": "Name",
"editable_by": null,
"grouping": "general",
"description": "Product Name",
"type": "string",
"units": null,
"values": [
{
"id": 89,
"value": "The Best Of Radiohead",
"unit": null
}
]
},
"identifier": {
"id": 2,
"code": "identifier",
"name": "SKU",
"editable_by": null,
"grouping": "general",
"description": "Product SKU or Identifier",
"type": "string",
"units": null,
"values": [
{
"id": 90,
"value": "RADIOHEAD-1",
"unit": null
}
]
},
"origin_country": {
"id": 1027,
"code": "origin_country",
"name": "Country of Origin",
"editable_by": null,
"grouping": "misc",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 110,
"value": "United Kingdom",
"unit": null
}
]
},
"upc": {
"id": 4,
"code": "upc",
"name": "UPC",
"editable_by": null,
"grouping": "general",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 91,
"value": "9119119111",
"unit": null
}
]
},
"manufacturer": {
"id": 7,
"code": "manufacturer",
"name": "Manufacturer",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 106,
"value": "Thom Yorke",
"unit": null
}
]
},
"manufacturer_part_number": {
"id": 8,
"code": "manufacturer_part_number",
"name": "Manufacturer Part #",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 107,
"value": "THOM-1",
"unit": null
}
]
},
"material": {
"id": 1031,
"code": "material",
"name": "Material",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 103,
"value": "Tin",
"unit": null
}
]
},
"sellable": {
"id": 10,
"code": "sellable",
"name": "Is Sellable?",
"editable_by": null,
"grouping": "inventory",
"description": null,
"type": "boolean",
"units": null,
"values": [
{
"id": 92,
"value": "1",
"unit": null
}
]
},
"inventory": {
"id": 11,
"code": "inventory",
"name": "Inventory",
"editable_by": null,
"grouping": "inventory",
"description": null,
"type": "number",
"units": null,
"values": [
{
"id": 111,
"value": "0",
"unit": null
}
]
},
"inventory_warehouse": {
"id": 12,
"code": "inventory_warehouse",
"name": "Warehouse Inventory []",
"editable_by": null,
"grouping": "inventory",
"description": "The available inventory in the specific warehouse\nField name should be: Warehouse Inventory [warehouse-nickname] (i.e. Warehouse Inventory [LA Warehouse])\nWarehouse Zip Code can be used instead of nickname if prefered (i.e. Warehouse Inventory [90254])",
"type": "number",
"units": null,
"values": [
{
"id": 93,
"value": "0",
"unit": null,
"location": {
"id": 1,
"nickname": "LA Warehouse",
"type": "warehouse",
"address": null
}
}
]
},
"cost": {
"id": 13,
"code": "cost",
"name": "Cost Price",
"editable_by": null,
"grouping": "general",
"description": "Wholesale/Cost Price",
"type": "money",
"units": "USD",
"values": [
{
"id": 94,
"value": "4.99",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
}
}
]
},
"map": {
"id": 14,
"code": "map",
"name": "MAP",
"editable_by": null,
"grouping": "general",
"description": "Minimum Advertised Price",
"type": "money",
"units": "USD",
"values": [
{
"id": 96,
"value": "8.99",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
}
}
]
},
"msrp": {
"id": 15,
"code": "msrp",
"name": "MSRP",
"editable_by": null,
"grouping": "general",
"description": "Manufacturer's Suggested Retail Price",
"type": "money",
"units": "USD",
"values": [
{
"id": 95,
"value": "9.99",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
}
}
]
},
"finish": {
"id": 1032,
"code": "finish",
"name": "Finish",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 104,
"value": "Paint",
"unit": null
}
]
},
"collection": {
"id": 1034,
"code": "collection",
"name": "Collection",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 105,
"value": "CDs",
"unit": null
}
]
},
"ships": {
"id": 1037,
"code": "ships",
"name": "Ships Via",
"editable_by": null,
"grouping": "shipping",
"description": "Denotes the carrier by which the product ships (LTL, UPS, etc.)",
"type": "string",
"units": null,
"values": [
{
"id": 97,
"value": "Small Parcel",
"unit": null
}
]
},
"signature_required": {
"id": 1047,
"code": "signature_required",
"name": "Signature Required",
"editable_by": null,
"grouping": "shipping",
"description": "Whether or not this item needs signature upon delivery.\r\nValid Values =\r\nYes or No",
"type": "boolean",
"units": null,
"values": [
{
"id": 99,
"value": "0",
"unit": null
}
]
},
"inventory_last_submitted": {
"id": 1053,
"code": "inventory_last_submitted",
"name": "Inventory Last Submitted",
"editable_by": null,
"grouping": "inventory",
"description": null,
"type": "number",
"units": null,
"values": [
{
"id": 112,
"value": "0",
"unit": null
}
]
},
"lead_time": {
"id": 50,
"code": "lead_time",
"name": "Lead Time (days)",
"editable_by": null,
"grouping": "shipping",
"description": "Lead Time, number of business days",
"type": "number",
"units": null,
"values": [
{
"id": 98,
"value": "2",
"unit": null
}
]
},
"retailer_price": {
"id": 104,
"code": "retailer_price",
"name": "Retailer Price []",
"editable_by": null,
"grouping": "retailer",
"description": "The price of the product to list with that specific retailer.",
"type": "money",
"units": "",
"values": [
{
"id": 113,
"value": "9.99",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
},
"retailer": {
"id": 500,
"name": "Demo Retailer",
"code": "demo-retailer",
"logo_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/cover.jpg",
"profile_tile_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/profile-tile.jpg",
"joined_at": "2022-08-18T19:16:33Z",
"is_3pm": false,
"is_rcn_retailer": false,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "disabled",
"brand_permit_creation_allowed": false,
"website": "",
"status": "active"
}
},
{
"id": 114,
"value": "69.99",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
}
}
]
},
"summary": {
"id": 1001,
"code": "summary",
"name": "Summary",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 108,
"value": "The Best Of Radiohead",
"unit": null
}
]
},
"description": {
"id": 1002,
"code": "description",
"name": "Description",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 109,
"value": "The very best of radiohead",
"unit": null
}
]
},
"category": {
"id": 1022,
"code": "category",
"name": "Category",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 100,
"value": "Music",
"unit": null
}
]
},
"color": {
"id": 1023,
"code": "color",
"name": "Color",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 101,
"value": "Blue",
"unit": null
}
]
}
},
"brand": {
"id": 500,
"name": "Demo Brand",
"code": "demo-brand",
"joined_at": "2017-07-06T23:32:26Z",
"logo_url": "https://images.demo.com/brands/54a947ea-19db-4563-8447-1bb2f113c127/store/logo-lg.png",
"cover_url": "https://images.demo.com/brands/54a947ea-19db-4563-8447-1bb2f113c127/store/cover.jpg",
"profile_tile_url": "https://images.demo.com/brands/54a947ea-19db-4563-8447-1bb2f113c127/store/profile-tile.jpg",
"website": "",
"is_onboarded": true,
"is_on_rcn": false,
"requires_subscription": "disabled",
"subscription_expires_at": null,
"grace_period_ends_at": null,
"subscription_is_expired": false,
"subscription_is_on_grace_period": false,
"subscription_is_delinquent": false,
"inventory_policy": "managed",
"status": "active"
},
"identifier": "RADIOHEAD-1",
"product_id": 2863,
"cartons": [],
"upc": "9119119111",
"color": null,
"style": null,
"size": null,
"active_permit": {
"id": 10004,
"retailer": {
"id": 500,
"name": "Demo Retailer",
"code": "demo-retailer",
"logo_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/cover.jpg",
"profile_tile_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/profile-tile.jpg",
"joined_at": "2022-08-18T19:16:33Z",
"is_3pm": false,
"is_rcn_retailer": false,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "disabled",
"brand_permit_creation_allowed": false,
"website": "",
"status": "active"
},
"retailer_price": "12.99",
"retailer_cost": "8.99",
"pricing": {},
"attributes": {},
"start_at": "2017-10-24T23:41:53Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
},
"permits": [
{
"id": 10004,
"retailer": {
"id": 500,
"name": "Demo Retailer",
"code": "demo-retailer",
"logo_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/cover.jpg",
"profile_tile_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/profile-tile.jpg",
"joined_at": "2022-08-18T19:16:33Z",
"is_3pm": false,
"is_rcn_retailer": false,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "disabled",
"brand_permit_creation_allowed": false,
"website": "",
"status": "active"
},
"retailer_price": "12.99",
"retailer_cost": "8.99",
"pricing": {},
"attributes": {},
"start_at": "2017-10-24T23:41:53Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
}
],
"permits_count": 1,
"inventory_policy": "managed",
"inventory": {
"discontinued": false,
"discontinued_updated_at": null,
"inventory": 0,
"inventory_updated_at": null,
"inventory_last_submitted_at": null,
"brand_inventory_updated_at": null,
"sellable": "No",
"sellable_updated_at": null,
"replenishable": null,
"estimated_availability_date": null,
"locations": [
{
"id": 1,
"address": null,
"inventory": 0,
"nickname": "LA Warehouse"
}
]
},
"media": [
{
"media": "default",
"width": 100,
"height": 100,
"priority": 1,
"url": "192.168.99.100/media/default/original"
}
],
"retailer_identifiers": [],
"retailer_categories": []
}
],
"summary": {
"attributes": []
}
}
Use this endpoint to get details of a single variant of a product.
Method | Path | Description |
---|---|---|
GET | /v1/retailers/:id/variants/:variant_id/ | Get a single variant |
Sample Request
/v1/retailers/500/variants/10024/
Sample Response
{
"id": 100024,
"name": "The Best Of Radiohead",
"brand_identifier": "RADIOHEAD-1",
"parent_identifier": "",
"parent_name": "",
"attributes": {
"size": {
"id": 1024,
"code": "size",
"name": "Size",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 102,
"value": "XL",
"unit": null
}
]
},
"name": {
"id": 1,
"code": "name",
"name": "Name",
"editable_by": null,
"grouping": "general",
"description": "Product Name",
"type": "string",
"units": null,
"values": [
{
"id": 89,
"value": "The Best Of Radiohead",
"unit": null
}
]
},
"identifier": {
"id": 2,
"code": "identifier",
"name": "SKU",
"editable_by": null,
"grouping": "general",
"description": "Product SKU or Identifier",
"type": "string",
"units": null,
"values": [
{
"id": 90,
"value": "RADIOHEAD-1",
"unit": null
}
]
},
"origin_country": {
"id": 1027,
"code": "origin_country",
"name": "Country of Origin",
"editable_by": null,
"grouping": "misc",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 110,
"value": "United Kingdom",
"unit": null
}
]
},
"upc": {
"id": 4,
"code": "upc",
"name": "UPC",
"editable_by": null,
"grouping": "general",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 91,
"value": "9119119111",
"unit": null
}
]
},
"manufacturer": {
"id": 7,
"code": "manufacturer",
"name": "Manufacturer",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 106,
"value": "Thom Yorke",
"unit": null
}
]
},
"manufacturer_part_number": {
"id": 8,
"code": "manufacturer_part_number",
"name": "Manufacturer Part #",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 107,
"value": "THOM-1",
"unit": null
}
]
},
"material": {
"id": 1031,
"code": "material",
"name": "Material",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 103,
"value": "Tin",
"unit": null
}
]
},
"sellable": {
"id": 10,
"code": "sellable",
"name": "Is Sellable?",
"editable_by": null,
"grouping": "inventory",
"description": null,
"type": "boolean",
"units": null,
"values": [
{
"id": 92,
"value": "1",
"unit": null
}
]
},
"inventory": {
"id": 11,
"code": "inventory",
"name": "Inventory",
"editable_by": null,
"grouping": "inventory",
"description": null,
"type": "number",
"units": null,
"values": [
{
"id": 111,
"value": "0",
"unit": null
}
]
},
"inventory_warehouse": {
"id": 12,
"code": "inventory_warehouse",
"name": "Warehouse Inventory []",
"editable_by": null,
"grouping": "inventory",
"description": "The available inventory in the specific warehouse\nField name should be: Warehouse Inventory [warehouse-nickname] (i.e. Warehouse Inventory [LA Warehouse])\nWarehouse Zip Code can be used instead of nickname if prefered (i.e. Warehouse Inventory [90254])",
"type": "number",
"units": null,
"values": [
{
"id": 93,
"value": "0",
"unit": null,
"location": {
"id": 1,
"nickname": "LA Warehouse",
"type": "warehouse",
"address": null
}
}
]
},
"cost": {
"id": 13,
"code": "cost",
"name": "Cost Price",
"editable_by": null,
"grouping": "general",
"description": "Wholesale/Cost Price",
"type": "money",
"units": "USD",
"values": [
{
"id": 94,
"value": "4.99",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
}
}
]
},
"map": {
"id": 14,
"code": "map",
"name": "MAP",
"editable_by": null,
"grouping": "general",
"description": "Minimum Advertised Price",
"type": "money",
"units": "USD",
"values": [
{
"id": 96,
"value": "8.99",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
}
}
]
},
"msrp": {
"id": 15,
"code": "msrp",
"name": "MSRP",
"editable_by": null,
"grouping": "general",
"description": "Manufacturer's Suggested Retail Price",
"type": "money",
"units": "USD",
"values": [
{
"id": 95,
"value": "9.99",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
}
}
]
},
"finish": {
"id": 1032,
"code": "finish",
"name": "Finish",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 104,
"value": "Paint",
"unit": null
}
]
},
"collection": {
"id": 1034,
"code": "collection",
"name": "Collection",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 105,
"value": "CDs",
"unit": null
}
]
},
"ships": {
"id": 1037,
"code": "ships",
"name": "Ships Via",
"editable_by": null,
"grouping": "shipping",
"description": "Denotes the carrier by which the product ships (LTL, UPS, etc.)",
"type": "string",
"units": null,
"values": [
{
"id": 97,
"value": "Small Parcel",
"unit": null
}
]
},
"signature_required": {
"id": 1047,
"code": "signature_required",
"name": "Signature Required",
"editable_by": null,
"grouping": "shipping",
"description": "Whether or not this item needs signature upon delivery.\r\nValid Values =\r\nYes or No",
"type": "boolean",
"units": null,
"values": [
{
"id": 99,
"value": "0",
"unit": null
}
]
},
"inventory_last_submitted": {
"id": 1053,
"code": "inventory_last_submitted",
"name": "Inventory Last Submitted",
"editable_by": null,
"grouping": "inventory",
"description": null,
"type": "number",
"units": null,
"values": [
{
"id": 112,
"value": "0",
"unit": null
}
]
},
"lead_time": {
"id": 50,
"code": "lead_time",
"name": "Lead Time (days)",
"editable_by": null,
"grouping": "shipping",
"description": "Lead Time, number of business days",
"type": "number",
"units": null,
"values": [
{
"id": 98,
"value": "2",
"unit": null
}
]
},
"retailer_price": {
"id": 104,
"code": "retailer_price",
"name": "Retailer Price []",
"editable_by": null,
"grouping": "retailer",
"description": "The price of the product to list with that specific retailer.",
"type": "money",
"units": "",
"values": [
{
"id": 113,
"value": "9.99",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
},
"retailer": {
"id": 500,
"name": "Demo Retailer",
"code": "demo-retailer",
"logo_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/cover.jpg",
"profile_tile_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/profile-tile.jpg",
"joined_at": "2022-08-18T19:16:33Z",
"is_3pm": false,
"is_rcn_retailer": false,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "disabled",
"brand_permit_creation_allowed": false,
"website": "",
"status": "active"
}
},
{
"id": 114,
"value": "69.99",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
}
}
]
},
"summary": {
"id": 1001,
"code": "summary",
"name": "Summary",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 108,
"value": "The Best Of Radiohead",
"unit": null
}
]
},
"description": {
"id": 1002,
"code": "description",
"name": "Description",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 109,
"value": "The very best of radiohead",
"unit": null
}
]
},
"category": {
"id": 1022,
"code": "category",
"name": "Category",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 100,
"value": "Music",
"unit": null
}
]
},
"color": {
"id": 1023,
"code": "color",
"name": "Color",
"editable_by": null,
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 101,
"value": "Blue",
"unit": null
}
]
}
},
"brand": {
"id": 500,
"name": "Demo Brand",
"code": "demo-brand",
"joined_at": "2017-07-06T23:32:26Z",
"logo_url": "https://images.demo.com/brands/54a947ea-19db-4563-8447-1bb2f113c127/store/logo-lg.png",
"cover_url": "https://images.demo.com/brands/54a947ea-19db-4563-8447-1bb2f113c127/store/cover.jpg",
"profile_tile_url": "https://images.demo.com/brands/54a947ea-19db-4563-8447-1bb2f113c127/store/profile-tile.jpg",
"website": "",
"is_onboarded": true,
"is_on_rcn": false,
"requires_subscription": "disabled",
"subscription_expires_at": null,
"grace_period_ends_at": null,
"subscription_is_expired": false,
"subscription_is_on_grace_period": false,
"subscription_is_delinquent": false,
"inventory_policy": "managed",
"status": "active"
},
"identifier": "RADIOHEAD-1",
"product_id": 2863,
"cartons": [],
"upc": "9119119111",
"color": null,
"style": null,
"size": null,
"active_permit": {
"id": 10004,
"retailer": {
"id": 500,
"name": "Demo Retailer",
"code": "demo-retailer",
"logo_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/cover.jpg",
"profile_tile_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/profile-tile.jpg",
"joined_at": "2022-08-18T19:16:33Z",
"is_3pm": false,
"is_rcn_retailer": false,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "disabled",
"brand_permit_creation_allowed": false,
"website": "",
"status": "active"
},
"retailer_price": "12.99",
"retailer_cost": "8.99",
"pricing": {},
"attributes": {},
"start_at": "2017-10-24T23:41:53Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
},
"permits": [
{
"id": 10004,
"retailer": {
"id": 500,
"name": "Demo Retailer",
"code": "demo-retailer",
"logo_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/cover.jpg",
"profile_tile_url": "https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/profile-tile.jpg",
"joined_at": "2022-08-18T19:16:33Z",
"is_3pm": false,
"is_rcn_retailer": false,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "disabled",
"brand_permit_creation_allowed": false,
"website": "",
"status": "active"
},
"retailer_price": "12.99",
"retailer_cost": "8.99",
"pricing": {},
"attributes": {},
"start_at": "2017-10-24T23:41:53Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
}
],
"permits_count": 1,
"inventory_policy": "managed",
"inventory": {
"discontinued": false,
"discontinued_updated_at": null,
"inventory": 0,
"inventory_updated_at": null,
"inventory_last_submitted_at": null,
"brand_inventory_updated_at": null,
"sellable": "No",
"sellable_updated_at": null,
"replenishable": null,
"estimated_availability_date": null,
"locations": [
{
"id": 1,
"address": null,
"inventory": 0,
"nickname": "LA Warehouse"
}
]
},
"media": [
{
"media": "default",
"width": 100,
"height": 100,
"priority": 1,
"url": "192.168.99.100/media/default/original"
}
],
"retailer_identifiers": [],
"retailer_categories": []
}
Note: Please consult the Postman collection for complete Sample Requests and Responses.
Use this endpoint to update the details of a variant.
Patch /v1/retailers/:retailer_pk/variants/:id/
Sample Request
PATCH /v1/retailers/500/variants/77717358/
If you would like to add your own attributes to variants, you can use a simple PATCH request.
PATCH
{
"name": "et",
"parent_identifier": "sed dolore ut",
"parent_name": "nisi minim",
"identifier": "Duis aute aliquip qui",
"upc": "esse dolo",
"color": "aliqua sit enim",
"style": "proident exercitation qui adipisicing",
"size": "in pariatur offici"
}
Sample Response
{
"id": -40771238,
"name": "ullamco",
"brand_identifier": "laboris",
"parent_identifier": "amet",
"parent_name": "in amet",
"attributes": "pariatur id",
"brand": "do pariatur",
"identifier": "in amet Lorem ex",
"product_id": "enim magna",
"cartons": "veniam officia non",
"upc": "dolore",
"color": "labore",
"style": "ex",
"size": "velit cillum",
"active_permit": "Excepteur",
"permits": "do",
"permits_count": "Ut ea Duis mollit",
"inventory_policy": "aliqua ad est irure",
"inventory": "dolore pariatur cillum",
"media": "sed elit proident",
"ruleset_variants": "ex esse in aute",
"ruleset_variant_summary": "fugiat reprehenderit ad in",
"is_compatible": "ut",
"proposal_variant": "dolor",
"retailer_identifiers": "sed dolore minim voluptate ad",
"retailer_categories": "do ut"
}
Product Ingestion API Workflows
In the fabric Marketplace ecosystem, suppliers create and own products and variants. After importing variants through a flat file, suppliers grant permission to merchants to sell approved variants through an object called permit. For historical records and logging, variants can have many permits, but can have only one active_permit. On request, important costing and pricing details are stored with the permit (along with a start and end date). You may check with us to understand whether they are required for your business.
Permits are granted to merchants through the following three methods:
Method | Description | API Workflow |
---|---|---|
Proposals | Suppliers submit product proposals to merchants (where a "proposal" is a group of validated products & variants). Permits are granted when a merchant approves a product proposal. | Proposal |
Import Requests | A merchant submits a product feed on behalf of a supplier (and the supplier approves the import request) | Permit Processing |
Automatic Creation | A supplier account is configured to automatically grant a permit when a new product and/or variant is created within the supplier account. Validation is generally not provided. | Permit Processing |
Note: fabric will work with your merchandising team to align on the most appropriate method for your business (as the ideal method depends on vendor and assortment strategy).
We encourage you to follow a particular workflow for ingesting products and variants based on how permits are granted. Those workflows are described in the next section.
Proposal Processing - API workflow
1. Obtain Access Token
Tokens are valid for 10 hours.
2. GET Completed Proposals
Gets a list of completed (approved) proposals that are not previously processed
GET /v1/retailers/:id/proposals/?status=completed&is_acknowledged=0
Sample Response
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 2,
"name": "Proposed from Brand Proposal!",
"status": "completed",
"source": "console",
"proposal_type": "new_product",
"recipient": {
"id": 2,
"email": null,
"name": null,
"user": {
"id": 1,
"first_name": "Hobie",
"last_name": "Schleicher",
"title": null,
"status": "active",
"type": "standard",
"photo_url": "https://images.demo.com/users/defaults/default.jpg",
"profile_photo": "https://images.demo.com/users/defaults/default.jpg",
"is_me": true
},
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
}
},
"sender": {
"id": 2,
"brand": {
"id": 510,
"name": "Demo Brand",
"code": "demos-brand",
"joined_at": "2015-10-10T00:00:00Z",
"logo_url": "https://images.demo.com/brands/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/brands/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/brands/defaults/profile-tile.png",
"website": null,
"is_onboarded": false,
"is_on_rcn": true,
"requires_subscription": "enabled",
"subscription_expires_at": "2023-03-09T19:17:23Z",
"grace_period_ends_at": "2023-03-16T19:17:23Z",
"subscription_is_expired": false,
"subscription_is_on_grace_period": false,
"subscription_is_delinquent": false,
"inventory_policy": "managed",
"status": "active"
},
"user": {
"id": 3,
"first_name": "Hobrand",
"last_name": "Schleibrand",
"title": null,
"status": "active",
"type": "standard",
"photo_url": "https://images.demo.com/users/defaults/default.jpg",
"profile_photo": "https://images.demo.com/users/defaults/default.jpg",
"is_me": false
}
},
"memos": [],
"created_by": {
"id": 3,
"first_name": "Hobrand",
"last_name": "Schleibrand",
"title": null,
"status": "active",
"type": "standard",
"photo_url": "https://images.demo.com/users/defaults/default.jpg",
"profile_photo": "https://images.demo.com/users/defaults/default.jpg",
"is_me": false
},
"connection": {
"id": 4,
"brand": {
"id": 510,
"name": "Demo Brand",
"code": "demos-brand",
"joined_at": "2015-10-10T00:00:00Z",
"logo_url": "https://images.demo.com/brands/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/brands/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/brands/defaults/profile-tile.png",
"website": null,
"is_onboarded": false,
"is_on_rcn": true,
"requires_subscription": "enabled",
"subscription_expires_at": "2023-03-09T19:17:23Z",
"grace_period_ends_at": "2023-03-16T19:17:23Z",
"subscription_is_expired": false,
"subscription_is_on_grace_period": false,
"subscription_is_delinquent": false,
"inventory_policy": "managed",
"status": "active"
},
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"status": "active",
"created_at": "2015-10-10T00:00:00Z",
"level": "full",
"options": {},
"metadata": {
"Some Metadata": {
"id": 1,
"name": "Some Metadata",
"display_name": null,
"type": "string",
"values": [
{
"id": 1,
"name": "Some Metadata",
"value": "Some Metadata Value",
"type": "string",
"created_at": "2015-10-10T07:00:00Z"
}
]
},
"Even More Metadata": {
"id": 3,
"name": "Even More Metadata",
"display_name": null,
"type": "integer",
"values": [
{
"id": 2,
"name": "Even More Metadata",
"value": "5",
"type": "integer",
"created_at": "2015-10-10T07:00:00Z"
}
]
},
"Vendor ID": {
"id": 5,
"name": "Vendor ID",
"display_name": null,
"type": "string",
"values": [
{
"id": 5,
"name": "Vendor ID",
"value": "1234",
"type": "string",
"created_at": "2015-10-10T07:00:00Z"
}
]
}
},
"connection_adjustments": [
{
"id": 1,
"adjustment_code": {
"id": 1,
"adjustment_type": "allowance",
"code": "returns_allowance",
"description": "Returns Allowance"
},
"description": "Test Adjustment",
"adjustment_type": "allowance",
"adjustment_amount_type": "flat",
"adjustment_amount": "4.20",
"content_type": "brand",
"object_id": 510
}
],
"integration_type": "edi",
"retailer_identifier": "demos"
},
"brand": {
"id": 510,
"name": "Demo Brand",
"code": "demos-brand",
"joined_at": "2015-10-10T00:00:00Z",
"logo_url": "https://images.demo.com/brands/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/brands/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/brands/defaults/profile-tile.png",
"website": null,
"is_onboarded": false,
"onboarded_at": null,
"is_on_rcn": true,
"requires_subscription": "enabled",
"status": "active",
"merchandising_manager": {
"id": 3,
"first_name": "Hobrand",
"last_name": "Schleibrand",
"title": null,
"status": "active",
"type": "standard",
"photo_url": "https://images.demo.com/users/defaults/default.jpg",
"profile_photo": "https://images.demo.com/users/defaults/default.jpg",
"is_me": false
}
},
"department": null,
"push_to_shopify": false,
"shopify_template": null,
"attachments": [],
"end_at": null,
"issues_summary": {
"count": 0,
"open": 0,
"closed": 0,
"archived": 0,
"resolved": 0
},
"is_acknowledged": false,
"item_approved_count": 0,
"item_deleted_count": 0,
"item_rejected_count": 0,
"item_count": 1,
"item_classified_count": 0,
"item_ready_count": 0,
"item_failed_count": 0,
"action_required": 0,
"has_action": false,
"has_revision": 0,
"has_unresolved_issues": false,
"has_price_changes": false,
"collaborators": [],
"target_live_date": null,
"start_at": null,
"updated_at": "2023-02-09T19:17:25Z",
"created_at": "2015-10-10T00:00:00Z",
"draft_proposed_at": null,
"acknowledged_at": null,
"proposed_at": "2015-10-10T00:30:00Z",
"archived_at": null,
"revised_at": null,
"approved_at": "2023-02-09T19:17:25Z",
"declined_at": null,
"pricing_approved_at": null,
"completed_at": "2023-02-09T19:17:25Z",
"withdrawn_at": null,
"withdraw_reason": null
}
]
}
3. Get Approved Proposal Variants
For each proposal, gets its approved (non-rejected) variants.
GET /v1/retailers/:id/proposals/:id/proposal-variants/?is_rejected=0
Success Response
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": 500,
"name": "Test Product with Mapped Fields",
"brand": {
"id": 510,
"name": "Demo Brand",
"code": "demos-brand",
"joined_at": "2015-10-10T00:00:00Z",
"logo_url": "https://images.demo.com/brands/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/brands/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/brands/defaults/profile-tile.png",
"website": null,
"is_onboarded": false,
"is_on_rcn": true,
"requires_subscription": "enabled",
"subscription_expires_at": "2023-03-13T16:38:47Z",
"grace_period_ends_at": "2023-03-20T16:38:47Z",
"subscription_is_expired": false,
"subscription_is_on_grace_period": false,
"subscription_is_delinquent": false,
"inventory_policy": "managed",
"status": "active"
},
"brand_identifier": "original-internal-variant-identifier",
"identifier": "original-internal-variant-identifier",
"upc": "9876543212222",
"cartons": [],
"color": null,
"style": null,
"size": null,
"media": [
{
"media": "default",
"width": 100,
"height": 100,
"priority": 1,
"url": "192.168.99.100/media/default/original"
}
],
"attributes": {
"dropship_cost": {
"id": 1285,
"code": "dropship_cost",
"name": "Dropship Cost",
"editable_by": "any",
"grouping": "pricing",
"description": null,
"type": "money",
"units": null,
"values": [
{
"id": 612,
"value": "10.00",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
}
}
]
},
"cost": {
"id": 13,
"code": "cost",
"name": "Cost Price",
"editable_by": "any",
"grouping": "pricing",
"description": null,
"type": "money",
"units": null,
"values": [
{
"id": 400,
"value": "12.34",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
}
}
]
},
"category": {
"id": 1022,
"code": "category",
"name": "Category",
"editable_by": "any",
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 208,
"value": "Again Another Category",
"unit": null
}
]
},
"msrp": {
"id": 15,
"code": "msrp",
"name": "MSRP",
"editable_by": "any",
"grouping": "pricing",
"description": null,
"type": "money",
"units": null,
"values": [
{
"id": 401,
"value": "12.54",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
}
}
]
}
},
"ruleset_variants": null,
"active_permit": null,
"permits": [],
"is_compatible": false,
"proposal_variant": {
"id": 1,
"pricing": {
"retailer_price": {
"id": 104,
"code": "retailer_price",
"name": "Retailer Price []",
"editable_by": "retailer",
"grouping": "pricing",
"description": null,
"type": "money",
"units": null,
"values": [
{
"id": 547,
"value": "12.54",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
},
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"updated_at": null,
"created_at": "2023-02-13T16:38:38Z"
}
]
},
"retailer_cost": {
"id": 1159,
"code": "retailer_cost",
"name": "Retailer Cost []",
"editable_by": "any",
"grouping": "pricing",
"description": null,
"type": "money",
"units": null,
"values": [
{
"id": 548,
"value": "12.34",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
},
"updated_at": null,
"created_at": "2023-02-13T16:38:38Z"
}
]
}
},
"attributes": {
"retailer_price": {
"id": 104,
"code": "retailer_price",
"name": "Retailer Price []",
"editable_by": "retailer",
"grouping": "pricing",
"description": null,
"type": "money",
"units": null,
"values": [
{
"id": 547,
"value": "12.54",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
},
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"updated_at": null,
"created_at": "2023-02-13T16:38:38Z"
}
]
},
"retailer_cost": {
"id": 1159,
"code": "retailer_cost",
"name": "Retailer Cost []",
"editable_by": "any",
"grouping": "pricing",
"description": null,
"type": "money",
"units": null,
"values": [
{
"id": 548,
"value": "12.34",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
},
"updated_at": null,
"created_at": "2023-02-13T16:38:38Z"
}
]
}
},
"memos": [],
"issues": [],
"variant_id": 500,
"approved_at": null,
"created_at": "2015-10-10T00:00:00Z",
"updated_at": "2023-02-13T16:38:49Z",
"rejected_at": null
},
"retailer_identifiers": [],
"retailer_categories": [],
"inventory": {
"discontinued": false,
"discontinued_updated_at": null,
"inventory": 0,
"inventory_updated_at": "2023-02-13T16:38:05Z",
"inventory_last_submitted_at": null,
"brand_inventory_updated_at": null,
"sellable": "Yes",
"sellable_updated_at": "2015-10-10T00:00:10Z",
"replenishable": null,
"estimated_availability_date": null,
"locations": [
{
"id": 1,
"address": {
"id": 1,
"type": null,
"name1": "demo",
"name2": null,
"street1": "1332 Hermosa Ave",
"street2": null,
"city": "Hermosa Beach",
"province": "CA",
"postal_code": "90254",
"country": "US",
"phone1": "3105559000",
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": null
},
"inventory": 0,
"nickname": "LA Warehouse"
},
{
"id": 2,
"address": {
"id": 2,
"type": null,
"name1": "demo HQ",
"name2": null,
"street1": "725 5th Ave",
"street2": null,
"city": "New York",
"province": "NY",
"postal_code": "10022",
"country": "US",
"phone1": "3138840000",
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": null
},
"inventory": 0,
"nickname": "NYC Warehouse"
}
]
}
}
],
"summary": {
"attributes": []
}
}
4. Get Variant Details
Loop through each proposal variant and get variant details
GET /v1/retailers/:id/variants/:id/
Optional Parameters
- retailer_attributes (boolean): If it is 1 or omitted, the response includes retailer scoped attributes. if it’s 0, retailer scoped attributes will be excluded from the response.
Sample Response
{
"id": 248,
"name": "Dri-Fit Icon",
"brand_identifier": "HATB",
"parent_identifier": "icon-parent",
"parent_name": "Dri-Fit",
"attributes": {
"size": {
"id": 1024,
"code": "size",
"name": "Size",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 33,
"value": "XL",
"unit": null
}
]
},
"name": {
"id": 1,
"code": "name",
"name": "Name",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 613,
"value": "Variant 1 Name",
"unit": null
}
]
},
"asin": {
"id": 6,
"code": "asin",
"name": "ASIN",
"editable_by": "any",
"grouping": "identifiers",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 28,
"value": "TREELORDBLARRRGH",
"unit": null
}
]
},
"manufacturer": {
"id": 7,
"code": "manufacturer",
"name": "Manufacturer",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 97,
"value": "Mara Mfr",
"unit": null
}
]
},
"manufacturer_part_number": {
"id": 8,
"code": "manufacturer_part_number",
"name": "Manufacturer Part #",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 98,
"value": "Mara MPN",
"unit": null
}
]
},
"inventory": {
"id": 11,
"code": "inventory",
"name": "Inventory",
"editable_by": "brand",
"grouping": "inventory",
"description": null,
"type": "number",
"units": null,
"values": [
{
"id": 43,
"value": "100",
"unit": null
}
]
},
"shipping_width": {
"id": 20,
"code": "shipping_width",
"name": "Shipping Width (inches)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "inches",
"values": [
{
"id": 127,
"value": "5",
"unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
}
}
]
},
"shipping_height": {
"id": 21,
"code": "shipping_height",
"name": "Shipping Height (inches)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "inches",
"values": [
{
"id": 128,
"value": "5",
"unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
}
}
]
},
"shipping_length": {
"id": 22,
"code": "shipping_length",
"name": "Shipping Length (inches)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "inches",
"values": [
{
"id": 129,
"value": "5",
"unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
}
}
]
},
"shipping_weight": {
"id": 23,
"code": "shipping_weight",
"name": "Shipping Weight (pounds)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "pounds",
"values": [
{
"id": 27,
"value": "18",
"unit": {
"id": 4,
"name": "Pound",
"standard_unit": "lb",
"type": "weight",
"system": "imperial",
"symbol": null
}
}
]
},
"inventory_last_submitted": {
"id": 1053,
"code": "inventory_last_submitted",
"name": "Inventory Last Submitted",
"editable_by": "brand",
"grouping": "inventory",
"description": null,
"type": "number",
"units": null,
"values": [
{
"id": 602,
"value": "100",
"unit": null
}
]
},
"parent_name": {
"id": 51,
"code": "parent_name",
"name": "Parent Name",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 40,
"value": "Dri-Fit",
"unit": null
}
]
},
"warehouse_item_location": {
"id": 1120,
"code": "warehouse_item_location",
"name": "Warehouse Item Location",
"editable_by": "brand",
"grouping": "misc",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 68,
"value": "BIN 8E",
"unit": null
}
]
},
"retailer_sku": {
"id": 101,
"code": "retailer_sku",
"name": "Retailer SKU []",
"editable_by": "any",
"grouping": null,
"description": "The SKU used by the retailer, if different from SKU",
"type": "string",
"units": null,
"values": [
{
"id": 17,
"value": "test-retailer-sku",
"unit": null,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
}
}
]
},
"retailer_item": {
"id": 102,
"code": "retailer_item",
"name": "Retailer Item []",
"editable_by": "any",
"grouping": null,
"description": "The Item Id used by the retailer on the packing slip",
"type": "string",
"units": null,
"values": [
{
"id": 26,
"value": "456-12000311-654",
"unit": null,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
}
}
]
},
"retailer_price": {
"id": 104,
"code": "retailer_price",
"name": "Retailer Price []",
"editable_by": "retailer",
"grouping": "pricing",
"description": null,
"type": "money",
"units": null,
"values": [
{
"id": 402,
"value": "10.01",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
},
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
}
}
]
},
"tariff_code": {
"id": 1140,
"code": "tariff_code",
"name": "Tariff Code",
"editable_by": "brand",
"grouping": "misc",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 94,
"value": "6109.10.00",
"unit": null
}
]
},
"category": {
"id": 1022,
"code": "category",
"name": "Category",
"editable_by": "any",
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 200,
"value": "Category 1",
"unit": null
},
{
"id": 615,
"value": "Category 1",
"unit": null
}
]
},
"color": {
"id": 1023,
"code": "color",
"name": "Color",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 32,
"value": "TEAM Blue",
"unit": null
}
]
}
},
"brand": {
"id": 501,
"name": "Alex Demo",
"code": "alex-demo-brand",
"joined_at": "2015-10-10T00:00:00Z",
"logo_url": "https://images.demo.com/brands/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/brands/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/brands/defaults/profile-tile.png",
"website": null,
"is_onboarded": false,
"is_on_rcn": false,
"requires_subscription": "enabled",
"subscription_expires_at": "2023-03-13T16:49:01Z",
"grace_period_ends_at": "2023-03-20T16:49:01Z",
"subscription_is_expired": false,
"subscription_is_on_grace_period": false,
"subscription_is_delinquent": false,
"inventory_policy": "managed",
"status": "active"
},
"identifier": "test-retailer-sku",
"product_id": 10036,
"cartons": [
{
"id": 372,
"number": 1,
"length": "5.00",
"length_unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
},
"width": "5.00",
"width_unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
},
"height": "5.00",
"height_unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
},
"weight": "18.00",
"weight_unit": {
"id": 4,
"name": "Pound",
"standard_unit": "lb",
"type": "weight",
"system": "imperial",
"symbol": null
},
"package_girth_inches": 20,
"package_size_inches": 25
}
],
"upc": "5555555235202",
"color": "TEAM Blue",
"style": null,
"size": "XL",
"active_permit": {
"id": 10001,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-07T04:20:00Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
},
"permits": [
{
"id": 10000,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-06T04:20:00Z",
"end_at": "2016-12-07T04:20:00Z",
"is_in_effect": false,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
},
{
"id": 10001,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-07T04:20:00Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
}
],
"permits_count": 1,
"inventory_policy": "managed",
"inventory": {
"discontinued": false,
"discontinued_updated_at": null,
"inventory": 92,
"inventory_updated_at": "2023-02-13T16:48:42Z",
"inventory_last_submitted_at": "2016-04-20T01:00:00Z",
"brand_inventory_updated_at": "2016-04-20T01:00:00Z",
"sellable": "Yes",
"sellable_updated_at": "2015-10-10T00:00:04Z",
"replenishable": null,
"estimated_availability_date": null,
"locations": [
{
"id": 5,
"address": {
"id": 10,
"type": null,
"name1": "demo",
"name2": null,
"street1": "1332 Hermosa",
"street2": null,
"city": "Hermosa Beach",
"province": "CA",
"postal_code": "90254-9000",
"country": "US",
"phone1": null,
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": null
},
"inventory": 92,
"nickname": "Warehouse"
},
{
"id": 6,
"address": {
"id": 11,
"type": null,
"name1": "Maralex Kids",
"name2": null,
"street1": "1 rue de la Pompe",
"street2": null,
"city": "Paris",
"province": "FR",
"postal_code": "75116",
"country": "FR",
"phone1": "0033 142889000",
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": "VAT12314 ABCD134"
},
"inventory": 0,
"nickname": "UK Warehouse"
}
]
},
"media": [
{
"media": "default",
"width": 100,
"height": 100,
"priority": 1,
"url": "192.168.99.100/media/default/original"
}
],
"retailer_identifiers": [
{
"id": 373,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"identifier": "test-retailer-sku",
"name": null
}
],
"retailer_categories": [
{
"id": 100,
"category": "My Retailer Category"
}
]
}
5. Update Variant Attributes
Allows retailers to set or update the attribute values for their variants. If the variant doesn't exist in your system (perhaps check if retailer_identifier is available) and process the variant as a new variant and patch back a retailer_identifier using the Update variant endpoint.
PATCH /v1/retailers/:id/variants/:id/
Sample Request
{
"attributes": [
{
"attribute": {
"id": 1
},
"value": "new name!"
}
]
}
Sample Response
{
"id": 449,
"name": "Test Schmicon",
"brand_identifier": "HATR",
"parent_identifier": "schmicon-parent",
"parent_name": null,
"attributes": {
"size": {
"id": 1024,
"code": "size",
"name": "Size",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 37,
"value": "one size",
"unit": null
}
]
},
"name": {
"id": 1,
"code": "name",
"name": "Name",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 903,
"value": "new name!",
"unit": null,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
}
}
]
},
"identifier": {
"id": 2,
"code": "identifier",
"name": "SKU",
"editable_by": "brand",
"grouping": "identifiers",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 80,
"value": "HATR",
"unit": null
}
]
},
"keywords": {
"id": 1026,
"code": "keywords",
"name": "Keywords",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "list",
"units": null,
"values": [
{
"id": 90,
"value": "big",
"unit": null
},
{
"id": 92,
"value": "triangle",
"unit": null
}
]
},
"manufacturer": {
"id": 7,
"code": "manufacturer",
"name": "Manufacturer",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 403,
"value": "Mara Mfr",
"unit": null
}
]
},
"sellable": {
"id": 10,
"code": "sellable",
"name": "Is Sellable?",
"editable_by": "brand",
"grouping": "inventory",
"description": null,
"type": "boolean",
"units": null,
"values": [
{
"id": 45,
"value": "0",
"unit": null
}
]
},
"inventory": {
"id": 11,
"code": "inventory",
"name": "Inventory",
"editable_by": "brand",
"grouping": "inventory",
"description": null,
"type": "number",
"units": null,
"values": [
{
"id": 1,
"value": "100",
"unit": null
}
]
},
"inventory_last_submitted": {
"id": 1053,
"code": "inventory_last_submitted",
"name": "Inventory Last Submitted",
"editable_by": "brand",
"grouping": "inventory",
"description": null,
"type": "number",
"units": null,
"values": [
{
"id": 600,
"value": "100",
"unit": null
}
]
},
"category": {
"id": 1022,
"code": "category",
"name": "Category",
"editable_by": "any",
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 205,
"value": "Some Category",
"unit": null
}
]
},
"color": {
"id": 1023,
"code": "color",
"name": "Color",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 36,
"value": "TEAM RED",
"unit": null
}
]
}
},
"brand": {
"id": 510,
"name": "Demo Brand",
"code": "demos-brand",
"joined_at": "2015-10-10T00:00:00Z",
"logo_url": "https://images.demo.com/brands/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/brands/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/brands/defaults/profile-tile.png",
"website": null,
"is_onboarded": false,
"is_on_rcn": true,
"requires_subscription": "enabled",
"subscription_expires_at": "2023-03-13T17:43:09Z",
"grace_period_ends_at": "2023-03-20T17:43:09Z",
"subscription_is_expired": false,
"subscription_is_on_grace_period": false,
"subscription_is_delinquent": false,
"inventory_policy": "managed",
"status": "active"
},
"identifier": "HATR",
"product_id": 10038,
"cartons": [],
"upc": "555555555202",
"color": "TEAM RED",
"style": null,
"size": "one size",
"active_permit": {
"id": 10003,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-07T04:20:00Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
},
"permits": [
{
"id": 10003,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-07T04:20:00Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
},
{
"id": 10017,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-01T04:20:00Z",
"end_at": "2016-12-06T04:19:59Z",
"is_in_effect": false,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
}
],
"permits_count": 1,
"inventory_policy": "managed",
"inventory": {
"discontinued": false,
"discontinued_updated_at": null,
"inventory": 0,
"inventory_updated_at": "2016-04-20T02:00:00Z",
"inventory_last_submitted_at": "2016-04-20T01:00:00Z",
"brand_inventory_updated_at": "2016-04-20T01:00:00Z",
"sellable": "No",
"sellable_updated_at": "2016-04-20T02:00:00Z",
"replenishable": null,
"estimated_availability_date": null,
"locations": [
{
"id": 1,
"address": {
"id": 1,
"type": null,
"name1": "demo",
"name2": null,
"street1": "0000 Hermosa Ave",
"street2": null,
"city": "Hermosa Beach",
"province": "CA",
"postal_code": "90254",
"country": "US",
"phone1": "3105559000",
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": null
},
"inventory": 0,
"nickname": "LA Warehouse"
},
{
"id": 2,
"address": {
"id": 2,
"type": null,
"name1": "demo HQ",
"name2": null,
"street1": "725 5th Ave",
"street2": null,
"city": "New York",
"province": "NY",
"postal_code": "10022",
"country": "US",
"phone1": "3105551200",
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": null
},
"inventory": 0,
"nickname": "Demo Warehouse"
}
]
},
"media": [
{
"media": "default",
"width": 100,
"height": 100,
"priority": 1,
"url": "192.168.99.100/media/default/original"
}
],
"retailer_identifiers": [
{
"id": 381,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"identifier": null,
"name": "new name!"
}
],
"retailer_categories": []
}
Note: If the variant already exists in your system, process the variant as an update (that is, only check or update select attributes such as cost or price)
6. Acknowledge Permit
Allows retailers to acknowledge a permit.
PUT /v1/retailers/:id/permits/:permit_id/acknowledge/
Sample Request
{
"attributes": [
{
"attribute": {
"id": 1
},
"value": "new name!"
}
]
}
Sample Response
{
"id": 10003,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"variant": {
"id": 449,
"name": "Sample Schmicon",
"brand": {
"id": 510,
"code": "demo-brand",
"name": "Demo Brand"
},
"identifier": "HATR",
"brand_identifier": "HATR",
"upc": "555555555202",
"retailer_identifiers": []
},
"connection": {
"id": 4,
"connection_fee": {
"id": 12,
"payment_model": "managed",
"payment_terms": "net60",
"net_price_method": "revshare",
"revshare_fraction": "0.4000",
"revc_fee_flat": "0.00",
"revc_fee_fraction": "0.0300",
"brand_fee_flat": "0.00",
"brand_flat_order_fee": "0.00",
"brand_percent_order_fee": "0.0000",
"effective_at": "2015-09-14T00:00:00Z"
}
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-07T04:20:00Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": true,
"acknowledged_at": "2023-02-13T18:01:30Z"
}
Note: you can retrieve the permit ID from the active_permit key on the variant.
Permit Processing API Workflow
1. Obtain Access Token
2. Get New Permits
Request
GET /v1/retailers/:id/permits/?is_acknowledged=0
Response
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"id": 10001,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"variant": {
"id": 248,
"name": "Demo Icon",
"brand": {
"id": 501,
"code": "demo-brand",
"name": "Demo Name"
},
"identifier": "test-retailer-sku",
"brand_identifier": "HATB",
"upc": "5555555235202",
"retailer_identifiers": [
{
"id": 386,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"identifier": "test-retailer-sku",
"name": null
}
]
},
"connection": {
"id": 2,
"connection_fee": {
"id": 6,
"payment_model": "managed",
"payment_terms": "net60",
"net_price_method": "revshare",
"revshare_fraction": "0.4000",
"revc_fee_flat": "0.00",
"revc_fee_fraction": "0.0300",
"brand_fee_flat": "0.00",
"brand_flat_order_fee": "0.00",
"brand_percent_order_fee": "0.0000",
"effective_at": "2015-09-10T00:00:00Z"
}
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-07T04:20:00Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
},
{
"id": 10002,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"variant": {
"id": 249,
"name": "Demo Icon",
"brand": {
"id": 501,
"code": "alex-test-brand",
"name": "Alex Test"
},
"identifier": "123-DEF12345",
"brand_identifier": "HATR",
"upc": "555555555202",
"retailer_identifiers": [
{
"id": 389,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"identifier": "123-DEF12345",
"name": null
}
]
},
"connection": {
"id": 2,
"connection_fee": {
"id": 6,
"payment_model": "managed",
"payment_terms": "net60",
"net_price_method": "revshare",
"revshare_fraction": "0.4000",
"revc_fee_flat": "0.00",
"revc_fee_fraction": "0.0300",
"brand_fee_flat": "0.00",
"brand_flat_order_fee": "0.00",
"brand_percent_order_fee": "0.0000",
"effective_at": "2015-09-10T00:00:00Z"
}
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-07T04:20:00Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
}
]
}
3. Get New Permits
Get a list of new (or unacknowledged) permits
GET /v1/retailers/:id/permits/?is_acknowledged=0
Sample Response**
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"id": 10001,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"variant": {
"id": 248,
"name": "Dri-Fit Icon",
"brand": {
"id": 501,
"code": "alex-demo-brand",
"name": "Alex Demo"
},
"identifier": "test-retailer-sku",
"brand_identifier": "HATB",
"upc": "5555555235202",
"retailer_identifiers": [
{
"id": 386,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"identifier": "test-retailer-sku",
"name": null
}
]
},
"connection": {
"id": 2,
"connection_fee": {
"id": 6,
"payment_model": "managed",
"payment_terms": "net60",
"net_price_method": "revshare",
"revshare_fraction": "0.4000",
"revc_fee_flat": "0.00",
"revc_fee_fraction": "0.0300",
"brand_fee_flat": "0.00",
"brand_flat_order_fee": "0.00",
"brand_percent_order_fee": "0.0000",
"effective_at": "2015-09-10T00:00:00Z"
}
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-07T04:20:00Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
},
{
"id": 10002,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"variant": {
"id": 249,
"name": "Dri-Fit Icon",
"brand": {
"id": 501,
"code": "alex-brand",
"name": "Alex Demo"
},
"identifier": "123-DEF12345",
"brand_identifier": "HATR",
"upc": "555555555202",
"retailer_identifiers": [
{
"id": 389,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"identifier": "123-DEF12345",
"name": null
}
]
},
"connection": {
"id": 2,
"connection_fee": {
"id": 6,
"payment_model": "managed",
"payment_terms": "net60",
"net_price_method": "revshare",
"revshare_fraction": "0.4000",
"revc_fee_flat": "0.00",
"revc_fee_fraction": "0.0300",
"brand_fee_flat": "0.00",
"brand_flat_order_fee": "0.00",
"brand_percent_order_fee": "0.0000",
"effective_at": "2015-09-10T00:00:00Z"
}
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-07T04:20:00Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
}
]
}
3. Get Variant Details
For each permit, grab the variant ID from the permit and request variant details**
GET /v1/retailers/:id/variants/:variant_id/
Sample Response
{
"id": 248,
"name": "Dri-Fit Icon",
"brand_identifier": "HATB",
"parent_identifier": "icon-parent",
"parent_name": "Dri-Fit",
"attributes": {
"size": {
"id": 1024,
"code": "size",
"name": "Size",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 33,
"value": "XL",
"unit": null
}
]
},
"name": {
"id": 1,
"code": "name",
"name": "Name",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 613,
"value": "Variant 1 Name",
"unit": null
}
]
},
"asin": {
"id": 6,
"code": "asin",
"name": "ASIN",
"editable_by": "any",
"grouping": "identifiers",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 28,
"value": "TREELORDBLARRRGH",
"unit": null
}
]
},
"manufacturer": {
"id": 7,
"code": "manufacturer",
"name": "Manufacturer",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 97,
"value": "Mara Mfr",
"unit": null
}
]
},
"manufacturer_part_number": {
"id": 8,
"code": "manufacturer_part_number",
"name": "Manufacturer Part #",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 98,
"value": "Mara MPN",
"unit": null
}
]
},
"inventory": {
"id": 11,
"code": "inventory",
"name": "Inventory",
"editable_by": "brand",
"grouping": "inventory",
"description": null,
"type": "number",
"units": null,
"values": [
{
"id": 43,
"value": "100",
"unit": null
}
]
},
"shipping_width": {
"id": 20,
"code": "shipping_width",
"name": "Shipping Width (inches)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "inches",
"values": [
{
"id": 127,
"value": "5",
"unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
}
}
]
},
"shipping_height": {
"id": 21,
"code": "shipping_height",
"name": "Shipping Height (inches)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "inches",
"values": [
{
"id": 128,
"value": "5",
"unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
}
}
]
},
"shipping_length": {
"id": 22,
"code": "shipping_length",
"name": "Shipping Length (inches)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "inches",
"values": [
{
"id": 129,
"value": "5",
"unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
}
}
]
},
"shipping_weight": {
"id": 23,
"code": "shipping_weight",
"name": "Shipping Weight (pounds)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "pounds",
"values": [
{
"id": 27,
"value": "18",
"unit": {
"id": 4,
"name": "Pound",
"standard_unit": "lb",
"type": "weight",
"system": "imperial",
"symbol": null
}
}
]
},
"inventory_last_submitted": {
"id": 1053,
"code": "inventory_last_submitted",
"name": "Inventory Last Submitted",
"editable_by": "brand",
"grouping": "inventory",
"description": null,
"type": "number",
"units": null,
"values": [
{
"id": 602,
"value": "100",
"unit": null
}
]
},
"parent_name": {
"id": 51,
"code": "parent_name",
"name": "Parent Name",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 40,
"value": "Dri-Fit",
"unit": null
}
]
},
"warehouse_item_location": {
"id": 1120,
"code": "warehouse_item_location",
"name": "Warehouse Item Location",
"editable_by": "brand",
"grouping": "misc",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 68,
"value": "BIN 8E",
"unit": null
}
]
},
"retailer_sku": {
"id": 101,
"code": "retailer_sku",
"name": "Retailer SKU []",
"editable_by": "any",
"grouping": null,
"description": "The SKU used by the retailer, if different from SKU",
"type": "string",
"units": null,
"values": [
{
"id": 17,
"value": "test-retailer-sku",
"unit": null,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
}
}
]
},
"retailer_item": {
"id": 102,
"code": "retailer_item",
"name": "Retailer Item []",
"editable_by": "any",
"grouping": null,
"description": "The Item Id used by the retailer on the packing slip",
"type": "string",
"units": null,
"values": [
{
"id": 26,
"value": "456-12000311-654",
"unit": null,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
}
}
]
},
"retailer_price": {
"id": 104,
"code": "retailer_price",
"name": "Retailer Price []",
"editable_by": "retailer",
"grouping": "pricing",
"description": null,
"type": "money",
"units": null,
"values": [
{
"id": 402,
"value": "10.01",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
},
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
}
}
]
},
"tariff_code": {
"id": 1140,
"code": "tariff_code",
"name": "Tariff Code",
"editable_by": "brand",
"grouping": "misc",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 94,
"value": "6109.10.00",
"unit": null
}
]
},
"category": {
"id": 1022,
"code": "category",
"name": "Category",
"editable_by": "any",
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 200,
"value": "Category 1",
"unit": null
},
{
"id": 615,
"value": "Category 1",
"unit": null
}
]
},
"color": {
"id": 1023,
"code": "color",
"name": "Color",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 32,
"value": "TEAM Blue",
"unit": null
}
]
}
},
"brand": {
"id": 501,
"name": "Alex Demo",
"code": "alex-demo-brand",
"joined_at": "2015-10-10T00:00:00Z",
"logo_url": "https://images.demo.com/brands/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/brands/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/brands/defaults/profile-tile.png",
"website": null,
"is_onboarded": false,
"is_on_rcn": false,
"requires_subscription": "enabled",
"subscription_expires_at": "2023-03-13T16:49:01Z",
"grace_period_ends_at": "2023-03-20T16:49:01Z",
"subscription_is_expired": false,
"subscription_is_on_grace_period": false,
"subscription_is_delinquent": false,
"inventory_policy": "managed",
"status": "active"
},
"identifier": "test-retailer-sku",
"product_id": 10036,
"cartons": [
{
"id": 372,
"number": 1,
"length": "5.00",
"length_unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
},
"width": "5.00",
"width_unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
},
"height": "5.00",
"height_unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
},
"weight": "18.00",
"weight_unit": {
"id": 4,
"name": "Pound",
"standard_unit": "lb",
"type": "weight",
"system": "imperial",
"symbol": null
},
"package_girth_inches": 20,
"package_size_inches": 25
}
],
"upc": "5555555235202",
"color": "TEAM Blue",
"style": null,
"size": "XL",
"active_permit": {
"id": 10001,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-07T04:20:00Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
},
"permits": [
{
"id": 10000,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-06T04:20:00Z",
"end_at": "2016-12-07T04:20:00Z",
"is_in_effect": false,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
},
{
"id": 10001,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-07T04:20:00Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
}
],
"permits_count": 1,
"inventory_policy": "managed",
"inventory": {
"discontinued": false,
"discontinued_updated_at": null,
"inventory": 92,
"inventory_updated_at": "2023-02-13T16:48:42Z",
"inventory_last_submitted_at": "2016-04-20T01:00:00Z",
"brand_inventory_updated_at": "2016-04-20T01:00:00Z",
"sellable": "Yes",
"sellable_updated_at": "2015-10-10T00:00:04Z",
"replenishable": null,
"estimated_availability_date": null,
"locations": [
{
"id": 5,
"address": {
"id": 10,
"type": null,
"name1": "demo",
"name2": null,
"street1": "1332 Hermosa Ave",
"street2": null,
"city": "Hermosa Beach",
"province": "CA",
"postal_code": "90254-3518",
"country": "US",
"phone1": null,
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": null
},
"inventory": 92,
"nickname": "Warehouse"
},
{
"id": 6,
"address": {
"id": 11,
"type": null,
"name1": "Maralex Kids",
"name2": null,
"street1": "1 rue de la Pompe",
"street2": null,
"city": "Paris",
"province": "FR",
"postal_code": "75116",
"country": "FR",
"phone1": "0033 142889000",
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": "VAT12314 ABCD134"
},
"inventory": 0,
"nickname": "UK Warehouse"
}
]
},
"media": [
{
"media": "default",
"width": 100,
"height": 100,
"priority": 1,
"url": "192.168.99.100/media/default/original"
}
],
"retailer_identifiers": [
{
"id": 373,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"identifier": "test-retailer-sku",
"name": null
}
],
"retailer_categories": [
{
"id": 100,
"category": "My Retailer Category"
}
]
}
4A. Update Variant Attributes
Allows retailers to set or update the attribute values for their variants. If the variant doesn't exist in your systems (perhaps check the existence of a retailer_identifier), process the variant as a new variant and patch back a retailer_identifier.
PATCH /v1/retailers/:id/variants/:variant_id/
Sample Request
{
"attributes": [
{
"attribute": {
"id": 1
},
"value": "new name!"
}
]
}
Sample Response
{
"id": 449,
"name": "Test Schmicon",
"brand_identifier": "HATR",
"parent_identifier": "schmicon-parent",
"parent_name": null,
"attributes": {
"size": {
"id": 1024,
"code": "size",
"name": "Size",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 37,
"value": "one size",
"unit": null
}
]
},
"name": {
"id": 1,
"code": "name",
"name": "Name",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 903,
"value": "new name!",
"unit": null,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
}
}
]
},
"identifier": {
"id": 2,
"code": "identifier",
"name": "SKU",
"editable_by": "brand",
"grouping": "identifiers",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 80,
"value": "HATR",
"unit": null
}
]
},
"keywords": {
"id": 1026,
"code": "keywords",
"name": "Keywords",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "list",
"units": null,
"values": [
{
"id": 90,
"value": "big",
"unit": null
},
{
"id": 92,
"value": "triangle",
"unit": null
}
]
},
"manufacturer": {
"id": 7,
"code": "manufacturer",
"name": "Manufacturer",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 403,
"value": "Mara Mfr",
"unit": null
}
]
},
"sellable": {
"id": 10,
"code": "sellable",
"name": "Is Sellable?",
"editable_by": "brand",
"grouping": "inventory",
"description": null,
"type": "boolean",
"units": null,
"values": [
{
"id": 45,
"value": "0",
"unit": null
}
]
},
"inventory": {
"id": 11,
"code": "inventory",
"name": "Inventory",
"editable_by": "brand",
"grouping": "inventory",
"description": null,
"type": "number",
"units": null,
"values": [
{
"id": 1,
"value": "100",
"unit": null
}
]
},
"inventory_last_submitted": {
"id": 1053,
"code": "inventory_last_submitted",
"name": "Inventory Last Submitted",
"editable_by": "brand",
"grouping": "inventory",
"description": null,
"type": "number",
"units": null,
"values": [
{
"id": 600,
"value": "100",
"unit": null
}
]
},
"category": {
"id": 1022,
"code": "category",
"name": "Category",
"editable_by": "any",
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 205,
"value": "Some Category",
"unit": null
}
]
},
"color": {
"id": 1023,
"code": "color",
"name": "Color",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 36,
"value": "TEAM RED",
"unit": null
}
]
}
},
"brand": {
"id": 510,
"name": "Demo Brand",
"code": "demos-brand",
"joined_at": "2015-10-10T00:00:00Z",
"logo_url": "https://images.demo.com/brands/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/brands/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/brands/defaults/profile-tile.png",
"website": null,
"is_onboarded": false,
"is_on_rcn": true,
"requires_subscription": "enabled",
"subscription_expires_at": "2023-03-13T17:43:09Z",
"grace_period_ends_at": "2023-03-20T17:43:09Z",
"subscription_is_expired": false,
"subscription_is_on_grace_period": false,
"subscription_is_delinquent": false,
"inventory_policy": "managed",
"status": "active"
},
"identifier": "HATR",
"product_id": 10038,
"cartons": [],
"upc": "555555555202",
"color": "TEAM RED",
"style": null,
"size": "one size",
"active_permit": {
"id": 10003,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-07T04:20:00Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
},
"permits": [
{
"id": 10003,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-07T04:20:00Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
},
{
"id": 10017,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-01T04:20:00Z",
"end_at": "2016-12-06T04:19:59Z",
"is_in_effect": false,
"revoked_at": null,
"is_acknowledged": false,
"acknowledged_at": null
}
],
"permits_count": 1,
"inventory_policy": "managed",
"inventory": {
"discontinued": false,
"discontinued_updated_at": null,
"inventory": 0,
"inventory_updated_at": "2016-04-20T02:00:00Z",
"inventory_last_submitted_at": "2016-04-20T01:00:00Z",
"brand_inventory_updated_at": "2016-04-20T01:00:00Z",
"sellable": "No",
"sellable_updated_at": "2016-04-20T02:00:00Z",
"replenishable": null,
"estimated_availability_date": null,
"locations": [
{
"id": 1,
"address": {
"id": 1,
"type": null,
"name1": "demo",
"name2": null,
"street1": "1332 Hermosa Ave",
"street2": null,
"city": "Hermosa Beach",
"province": "CA",
"postal_code": "90254",
"country": "US",
"phone1": "3105559000",
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": null
},
"inventory": 0,
"nickname": "LA Warehouse"
},
{
"id": 2,
"address": {
"id": 2,
"type": null,
"name1": "demo HQ",
"name2": null,
"street1": "725 5th Ave",
"street2": null,
"city": "New York",
"province": "NY",
"postal_code": "10022",
"country": "US",
"phone1": "3138849000",
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": null
},
"inventory": 0,
"nickname": "NYC Warehouse"
}
]
},
"media": [
{
"media": "default",
"width": 100,
"height": 100,
"priority": 1,
"url": "192.168.99.100/media/default/original"
}
],
"retailer_identifiers": [
{
"id": 381,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"identifier": null,
"name": "new name!"
}
],
"retailer_categories": []
}
4B. Existing Variants
If the variant already exists in your systems, process the variant as an update (that is, only check or update select attributes such as cost or price).
Allows retailers to acknowledge a permit.
PUT /v1/retailers/:id/permits/:permit_id/acknowledge/
Sample Request
{
"attributes": [
{
"attribute": {
"id": 1
},
"value": "new name!"
}
]
}
Sample Response
{
"id": 10003,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"variant": {
"id": 449,
"name": "Test Schmicon",
"brand": {
"id": 510,
"code": "demos-brand",
"name": "Demo Brand"
},
"identifier": "HATR",
"brand_identifier": "HATR",
"upc": "555555555202",
"retailer_identifiers": []
},
"connection": {
"id": 4,
"connection_fee": {
"id": 12,
"payment_model": "managed",
"payment_terms": "net60",
"net_price_method": "revshare",
"revshare_fraction": "0.4000",
"revc_fee_flat": "0.00",
"revc_fee_fraction": "0.0300",
"brand_fee_flat": "0.00",
"brand_flat_order_fee": "0.00",
"brand_percent_order_fee": "0.0000",
"effective_at": "2015-09-14T00:00:00Z"
}
},
"retailer_price": null,
"retailer_cost": null,
"pricing": {},
"attributes": {},
"start_at": "2016-12-07T04:20:00Z",
"end_at": null,
"is_in_effect": true,
"revoked_at": null,
"is_acknowledged": true,
"acknowledged_at": "2023-02-13T18:01:30Z"
}
Transaction APIs
Transaction APIs make it easy to keep track of Inventory, Orders, and Shipments.
Inventory
Generally, vendors are required to update stock levels once a day for all items. The Inventory APIs make inventory levels available to retailers on demand.
Method | Path | Description |
---|---|---|
GET | /v1/retailers/:id/inventory/ | Get items |
GET | /v1/retailers/:id/inventory/:variant_id/ | Get a single item |
Get Items
To get updated inventory positions, use the Get Items
endpoint. By passing a simple timestamp, you can get only the inventory positions that have changed since the given timestamp.
Optional Parameters
Parameter | Description |
---|---|
updatedat{operator} | Show only items with inventory updated since an epoch timestamp in UTC. Please substitute {operator} with "lt" (less than),"lte" (less than or equal), "gt" (greater than), or "gte" (greater than or equal). A complete parameter might look like: updated_at_gte=1650327740 |
order_by | -inventory_updated_at (recent first) OR inventory_updated_at |
Sample Request
GET /v1/retailers/500/inventory/?updated_at_gte=1650327740
Sample Response
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"variant": {
"id": 100024,
"name": "The Best Of Radiohead",
"brand": {
"id": 500,
"code": "demo-brand",
"name": "Demo Brand"
},
"identifier": "RADIOHEAD-1",
"brand_identifier": "RADIOHEAD-1",
"upc": "9119119111",
"retailer_identifiers": [],
"retailer_price": "9.99"
},
"inventory_policy": "managed",
"inventory": 0,
"inventory_updated_at": null,
"inventory_last_submitted_at": null,
"brand_inventory_updated_at": null,
"discontinued": false,
"discontinued_updated_at": null,
"replenishable": null,
"sellable": "No",
"sellable_updated_at": null,
"estimated_availability_date": null,
"locations": [
{
"id": 1,
"address": null,
"inventory": 0,
"nickname": "LA Warehouse"
}
]
}
]
}
Get Single Item
Use this endpoint to get details of a single item.
Sample Request
GET /v1/retailers/500/inventory/100024/
Sample Response
{
"variant": {
"id": 100024,
"name": "The Best Of Radiohead",
"brand": {
"id": 500,
"code": "demo-brand",
"name": "Demo Brand"
},
"identifier": "RADIOHEAD-1",
"brand_identifier": "RADIOHEAD-1",
"upc": "9119119111",
"retailer_identifiers": [],
"retailer_price": "9.99"
},
"inventory_policy": "managed",
"inventory": 0,
"inventory_updated_at": null,
"inventory_last_submitted_at": null,
"brand_inventory_updated_at": null,
"discontinued": false,
"discontinued_updated_at": null,
"replenishable": null,
"sellable": "No",
"sellable_updated_at": null,
"estimated_availability_date": null,
"locations": [
{
"id": 1,
"address": null,
"inventory": 0,
"nickname": "LA Warehouse"
}
]
}
Orders
Order represents a consumer's request to purchase one or more items from a retailer. After the consumer completes the checkout process on retailer's website, retailer must send the order to fabric Marketplace. Once received and validated, orders may be accessed by vendors for acknowledgment and fulfillment.
Use the following endpoint to create orders.
| Method | Path | Description |
| ----------- | ----------- | ----------- |
| POST | /v1/retailers/:id/orders/ | Create Order |
Sample Request
POST /v1/retailers/500/orders/
Request Body
{
"purchase_order_number": "PO4567890",
"customer_order_number": "CO4567890",
"retailer_order_number": "4567890",
"requested_shipping_method_id": 2,
"ship_to": {
"name1": "Hobie",
"street1": "1332 Hermosa Ave",
"city": "Hermosa Beach",
"province": "CA",
"postal_code": "90254",
"country": "US",
},
"ordered_at": '2015-09-22 12:34:56Z',
"order_lines": [
{
"quantity": 2,
"price": "35.00",
"variant": {
"id": 451
}
}
]
}
Warning: If a POST results in a 400 Bad Request, no portion of the order will be saved. The entire operation must be retried.
Sample Response
{
"id": 1015,
"customer_order_number": "CO4567890",
"purchase_order_number": "PO4567890",
"retailer_order_number": "4567890",
"brand_identifier": null,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"brand": {
"id": 510,
"name": "Demo Brand",
"code": "demos-brand",
"joined_at": "2015-10-10T00:00:00Z",
"logo_url": "https://images.demo.com/brands/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/brands/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/brands/defaults/profile-tile.png",
"website": null,
"is_onboarded": false,
"is_on_rcn": true,
"requires_subscription": "enabled",
"subscription_expires_at": "2022-09-19T13:24:26Z",
"grace_period_ends_at": "2022-09-26T13:24:26Z",
"subscription_is_expired": false,
"subscription_is_on_grace_period": false,
"subscription_is_delinquent": false,
"inventory_policy": "managed",
"status": "active"
},
"brands": [
{
"id": 510,
"name": "Demo Brand",
"code": "demos-brand",
"joined_at": "2015-10-10T00:00:00Z",
"logo_url": "https://images.demo.com/brands/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/brands/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/brands/defaults/profile-tile.png",
"website": null,
"is_onboarded": false,
"is_on_rcn": true,
"requires_subscription": "enabled",
"subscription_expires_at": "2022-09-19T13:24:26Z",
"grace_period_ends_at": "2022-09-26T13:24:26Z",
"subscription_is_expired": false,
"subscription_is_on_grace_period": false,
"subscription_is_delinquent": false,
"inventory_policy": "managed",
"status": "active"
}
],
"connection_id": 4,
"shipping_method": {
"id": null,
"name": null,
"carrier": null,
"generic_shipping_method": {
"id": 2,
"name": "Ground",
"description": "Should arrive within 3-7 days after processing time",
"type": "small_parcel"
}
},
"requested_shipping_method": {
"id": 2,
"name": "Ground",
"description": "Should arrive within 3-7 days after processing time",
"type": "small_parcel"
},
"shipment_count": 0,
"invoice_count": 0,
"bill_to": null,
"sold_to": null,
"ship_to": {
"id": 16,
"type": null,
"name1": "Hobie",
"name2": null,
"street1": "1332 Hermosa Ave",
"street2": null,
"city": "Hermosa Beach",
"province": "CA",
"postal_code": "90254",
"country": "US",
"phone1": null,
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": null
},
"ship_from": null,
"return_to": null,
"allow_shipping_label_generation": true,
"subtotal_charged": "70.00",
"shipping_charged": "0.00",
"is_gift": false,
"gift_fee": null,
"is_replacement": false,
"locale_subtotal_charged": "70.00",
"status": "open",
"locale_currency": {
"id": 1,
"name": "United States Dollar",
"symbol": "$",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
}
},
"currency": {
"id": 1,
"name": "United States Dollar",
"symbol": "$",
"unit": {
"id": 7,
"name": "United States Dollar",
"standard_unit": "USD",
"type": "cost",
"system": null,
"symbol": "$"
}
},
"is_acknowledged": false,
"ordered_at": "2015-09-22T12:34:56Z",
"acknowledged_at": null,
"fulfill_by": "2022-08-24T03:59:59Z",
"fulfilled_at": null,
"closed_at": null,
"received_at": "2022-08-19T13:24:27Z",
"is_on_hold": false,
"pickup_on": null,
"on_hold_at": null,
"on_hold_until": null,
"backordered_until": null,
"backorder_acknowledged_at": null,
"canceled_at": null,
"updated_at": "2022-08-19T13:24:28Z",
"order_lines": [
{
"id": 1025,
"order_line_number": "00001",
"quantity": 2,
"quantity_open": 2,
"quantity_shipped": 0,
"quantity_returned": 0,
"quantity_canceled": 0,
"quantity_invoiced": 0,
"packages_per_quantity": [
{
"shipping_width": 12,
"shipping_length": 16,
"shipping_height": 6,
"shipping_weight": 8
}
],
"price": "35.00",
"locale_price": "35.00",
"net_price": "21.00",
"locale_net_price": "21.00",
"subtotal": "70.00",
"locale_subtotal": "70.00",
"estimated_price": "35.00",
"shipping_charged": "0.00",
"gift_fee": null,
"subtotal_charged": "70.00",
"tax_charged": "0.00",
"status": "open",
"fulfill_by": "2022-08-24T03:59:59Z",
"canceled_at": null,
"backordered_until": null,
"variant": {
"id": 451,
"name": "Test Schmicon 2",
"brand": {
"id": 510,
"name": "Demo Brand",
"code": "demos-brand",
"joined_at": "2015-10-10T00:00:00Z",
"logo_url": "https://images.demo.com/brands/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/brands/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/brands/defaults/profile-tile.png",
"website": null,
"is_onboarded": false,
"is_on_rcn": true,
"requires_subscription": "enabled",
"subscription_expires_at": "2022-09-19T13:24:26Z",
"grace_period_ends_at": "2022-09-26T13:24:26Z",
"subscription_is_expired": false,
"subscription_is_on_grace_period": false,
"subscription_is_delinquent": false,
"inventory_policy": "managed",
"status": "active"
},
"identifier": "HATCAT",
"upc": "555555555490",
"media": [
{
"id": 10001,
"width": 650,
"height": 566,
"media": "f7b394e7194e05a7c69ca44fa3eff556",
"priority": 1,
"url": "/media/variants/b8a8aa71-b49e-4410-b357-f3b6ddd95664",
"updated_at": "2016-04-21T23:02:27Z",
"created_at": "2016-04-21T23:02:27Z"
},
{
"id": 10002,
"width": 600,
"height": 727,
"media": "57c62e2be2eac85f4067bc7cc28a5697",
"priority": 2,
"url": "/media/variants/f0041dee-7c11-4f92-aaa3-a5595d5df334",
"updated_at": "2016-04-21T23:02:27Z",
"created_at": "2016-04-21T23:02:27Z"
}
],
"attributes": {
"size": {
"id": 1024,
"code": "size",
"name": "Size",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 31,
"value": "Tall",
"unit": null
}
]
},
"replenishable": {
"id": 1281,
"code": "replenishable",
"name": "Replenishable",
"editable_by": "brand",
"grouping": "inventory",
"description": null,
"type": "boolean",
"units": null,
"values": [
{
"id": 609,
"value": "1",
"unit": null
}
]
},
"retailer_category": {
"id": 1283,
"code": "retailer_category",
"name": "Retailer Category",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 610,
"value": "My Retailer Category AttributeSource",
"unit": null,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
}
}
]
},
"upc": {
"id": 4,
"code": "upc",
"name": "UPC",
"editable_by": "any",
"grouping": "identifiers",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 29,
"value": "555555555490",
"unit": null
}
]
},
"media_image_1": {
"id": 1286,
"code": "media_image_1",
"name": "Media Image (1)",
"editable_by": "none",
"grouping": "images",
"description": null,
"type": "media",
"units": null,
"values": [
{
"id": 637,
"value": "/media/variants/b8a8aa71-b49e-4410-b357-f3b6ddd95664.jpg",
"unit": null
}
]
},
"media_image_2": {
"id": 1287,
"code": "media_image_2",
"name": "Media Image (2)",
"editable_by": "none",
"grouping": "images",
"description": null,
"type": "media",
"units": null,
"values": [
{
"id": 638,
"value": "/media/variants/f0041dee-7c11-4f92-aaa3-a5595d5df334.jpg",
"unit": null
}
]
},
"sellable": {
"id": 10,
"code": "sellable",
"name": "Is Sellable?",
"editable_by": "brand",
"grouping": "inventory",
"description": null,
"type": "boolean",
"units": null,
"values": [
{
"id": 44,
"value": "1",
"unit": null
}
]
},
"inventory": {
"id": 11,
"code": "inventory",
"name": "Inventory",
"editable_by": "brand",
"grouping": "inventory",
"description": null,
"type": "number",
"units": null,
"values": [
{
"id": 4,
"value": "70",
"unit": null
}
]
},
"retailer_item_name": {
"id": 1042,
"code": "retailer_item_name",
"name": "Retailer Item Name []",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 64,
"value": "Harambe's Test Item Name",
"unit": null,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
}
}
]
},
"estimated_availability_date": {
"id": 1043,
"code": "estimated_availability_date",
"name": "Estimated Availability Date",
"editable_by": "brand",
"grouping": "inventory",
"description": null,
"type": "date",
"units": null,
"values": [
{
"id": 47,
"value": null,
"unit": null
}
]
},
"shipping_width": {
"id": 20,
"code": "shipping_width",
"name": "Shipping Width (inches)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "inches",
"values": [
{
"id": 9,
"value": "12",
"unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
}
}
]
},
"shipping_height": {
"id": 21,
"code": "shipping_height",
"name": "Shipping Height (inches)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "inches",
"values": [
{
"id": 10,
"value": "6",
"unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
}
}
]
},
"shipping_length": {
"id": 22,
"code": "shipping_length",
"name": "Shipping Length (inches)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "inches",
"values": [
{
"id": 11,
"value": "16",
"unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
}
}
]
},
"shipping_weight": {
"id": 23,
"code": "shipping_weight",
"name": "Shipping Weight (pounds)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "pounds",
"values": [
{
"id": 12,
"value": "8",
"unit": {
"id": 4,
"name": "Pound",
"standard_unit": "lb",
"type": "weight",
"system": "imperial",
"symbol": null
}
}
]
},
"shipping_volume": {
"id": 24,
"code": "shipping_volume",
"name": "Shipping Volume (cubic feet)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "feet",
"values": [
{
"id": 13,
"value": "22",
"unit": null
}
]
},
"shipping_width_2": {
"id": 25,
"code": "shipping_width_2",
"name": "Shipping Width - Box 2 (inches)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "inches",
"values": [
{
"id": 14,
"value": "16",
"unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
}
}
]
},
"shipping_height_2": {
"id": 26,
"code": "shipping_height_2",
"name": "Shipping Height - Box 2 (inches)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "inches",
"values": [
{
"id": 15,
"value": "26",
"unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
}
}
]
},
"shipping_length_2": {
"id": 27,
"code": "shipping_length_2",
"name": "Shipping Length - Box 2 (inches)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "number",
"units": "inches",
"values": [
{
"id": 16,
"value": "18",
"unit": {
"id": 1,
"name": "Inch",
"standard_unit": "in",
"type": "distance",
"system": "imperial",
"symbol": null
}
}
]
},
"signature_required": {
"id": 1047,
"code": "signature_required",
"name": "Signature Required",
"editable_by": "brand",
"grouping": "shipping",
"description": null,
"type": "boolean",
"units": null,
"values": [
{
"id": 63,
"value": "1",
"unit": null
}
]
},
"inventory_last_submitted": {
"id": 1053,
"code": "inventory_last_submitted",
"name": "Inventory Last Submitted",
"editable_by": "brand",
"grouping": "inventory",
"description": null,
"type": "number",
"units": null,
"values": [
{
"id": 59,
"value": "99",
"unit": null
}
]
},
"inventory_warehouse": {
"id": 35,
"code": "inventory_warehouse",
"name": "Inventory Warehouse []",
"editable_by": "brand",
"grouping": "inventory",
"description": "The available inventory in the specific warehouse",
"type": "number",
"units": null,
"values": [
{
"id": 5,
"value": "25",
"unit": null,
"location": {
"id": 1,
"nickname": "LA Warehouse",
"type": "warehouse",
"address": {
"id": 1,
"type": null,
"name1": "demo",
"name2": null,
"street1": "1332 Hermosa Ave",
"street2": null,
"city": "Hermosa Beach",
"province": "CA",
"postal_code": "90254",
"country": "US",
"phone1": "3105559000",
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": null
}
}
}
]
},
"retailer_item": {
"id": 102,
"code": "retailer_item",
"name": "Retailer Item []",
"editable_by": "any",
"grouping": null,
"description": "The Item Id used by the retailer on the packing slip",
"type": "string",
"units": null,
"values": [
{
"id": 8,
"value": "123-ABC12345",
"unit": null,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
}
}
]
},
"image_1": {
"id": 1013,
"code": "image_1",
"name": "Image (1)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "media",
"units": null,
"values": [
{
"id": 41,
"value": "http://rugimg.com/2000_2000_0_0_s_20_3127877_image_1.jpg",
"unit": null
}
]
},
"image_2": {
"id": 1014,
"code": "image_2",
"name": "Image (2)",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "media",
"units": null,
"values": [
{
"id": 42,
"value": "http://rugimg.com/2000_2000_0_0_s_20_3127877_image_2.jpg",
"unit": null
}
]
},
"category": {
"id": 1022,
"code": "category",
"name": "Category",
"editable_by": "any",
"grouping": "description",
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 207,
"value": "Some Other Category",
"unit": null
}
]
},
"color": {
"id": 1023,
"code": "color",
"name": "Color",
"editable_by": "any",
"grouping": null,
"description": null,
"type": "string",
"units": null,
"values": [
{
"id": 30,
"value": "Red White Stripes",
"unit": null
}
]
}
},
"brand_identifier": "HATCAT",
"retailer_categories": [
{
"id": 113,
"category": "My Retailer Category AttributeSource"
}
],
"retailer_identifiers": [],
"description": "Tall Red White Stripes"
},
"metadata": []
}
],
"cancels": [],
"shipments": [],
"attachments": [
{
"id": 8,
"file": "http://testserver/media/attachments/90c12a28-069f-4bfe-9748-98c83f3e8f01/pick_list.pdf",
"uploaded_by": 1,
"visible_by": "me",
"original_filename": "pick_list.pdf",
"filename": "pick_list.pdf",
"tags": [
{
"id": 8,
"tag": "Pick List"
}
]
}
],
"memos": [],
"memos_count": 0,
"unread_memos_count": 0,
"tags": [],
"gift_message": null,
"fill_time": null,
"invoices": [],
"signature": null,
"rmas": [],
"credits": [],
"order_batches": [],
"metadata": [],
"connection_shipping_provider_account": null,
"is_priority": false,
"priority_user": null,
"envelopes": []
}
Shipments
Represents a carton that has a tracking number and contains items from its parent order.
Use the following endpoints to process shipments.
Method | Path | Description |
---|---|---|
GET | /v1/retailers/:id/shipments/ | Get shipments |
PUT | /v1/retailers/:id/shipments/:id/ | Acknowledge receipt of a shipment |
Get Shipments
Returns all shipments ever registered. To restrict your query to return only new shipments, include the query parameter is_acknowledged=0.
Sample Request
GET /v1/retailers/500/shipments/?is_acknowledged=0
Sample Response
{
"count": 4,
"next": null,
"previous": null,
"results": [
{
"id": 1000,
"order_id": 1000,
"batch_number": null,
"label_reference": null,
"ordered_at": "2015-09-22T12:30:56Z",
"customer_order_number": "AHERPADERP",
"retailer_order_number": "1234567",
"purchase_order_number": "CS192168",
"shipping_method": {
"id": 1,
"name": "Ground",
"code": "FEDEX_GROUND",
"type": "small_parcel",
"carrier": {
"id": 1,
"name": "FedEx Ground",
"code": "FDEG"
},
"generic_shipping_method": {
"id": 2,
"name": "Ground",
"description": "Should arrive within 3-7 days after processing time",
"type": "small_parcel"
}
},
"shipping_account": {
"id": 3,
"nickname": "Hobie FedEx",
"owner": {
"id": 510,
"name": "Demo Store",
"type": "retailer"
},
"carrier": {
"id": 1,
"name": "FedEx Ground",
"code": "FDEG"
},
"is_first_party_bill": false
},
"tracking_number": null,
"tracking_url": null,
"tracking": null,
"status": "closed",
"is_acknowledged": true,
"has_commercial_invoice": false,
"canceled_at": null,
"sold_to": null,
"ship_to": {
"id": 4,
"type": "residential",
"name1": "Hobie",
"name2": null,
"street1": "1332 Hermosa Ave",
"street2": "Suite #14",
"city": "Hermosa Beach",
"province": "CA",
"postal_code": "90254",
"country": "US",
"phone1": "3138849000",
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": null
},
"ship_from": {
"id": 8,
"type": null,
"name1": "Adidas guy",
"name2": null,
"street1": "5055 N Greeley Avenue",
"street2": null,
"city": "Portland",
"province": "OR",
"postal_code": "97217",
"country": "US",
"phone1": "1-800-123-9000",
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": null
},
"ship_weight": null,
"ship_width": null,
"ship_length": null,
"ship_height": null,
"ship_girth": null,
"ship_volume": null,
"valid_packing_slip": false,
"valid_shipping_label": true,
"shipping_provider_identifier": null,
"error_logs": [],
"acknowledged_at": "2015-10-11T12:24:56Z",
"closed_at": "2014-02-24T12:34:56Z",
"delivered_at": null,
"shipped_at": "2015-10-09T12:20:56Z",
"updated_at": "2015-10-10T12:24:56Z",
"created_at": "2015-10-10T11:24:56Z",
"shipment_lines": [
{
"id": 1000,
"order_line_number": "1001",
"quantity": 1,
"part": 1,
"freight_class": null,
"updated_at": null,
"variant": {
"id": 248,
"name": null,
"brand": {
"id": 501,
"code": "alex-demo-brand",
"name": "Alex Demo"
},
"identifier": "test-retailer-sku",
"brand_identifier": "HATB",
"upc": "5555555235202",
"retailer_identifiers": [
{
"id": 34,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"identifier": "test-retailer-sku",
"name": null
}
],
"description": null
}
}
],
"signature": null,
"brand": {
"id": 501,
"name": "Alex Demo",
"code": "alex-demo-brand",
"joined_at": "2015-10-10T00:00:00Z",
"logo_url": "https://images.demo.com/brands/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/brands/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/brands/defaults/profile-tile.png",
"website": null,
"is_onboarded": false,
"is_on_rcn": false,
"requires_subscription": "enabled",
"subscription_expires_at": "2022-09-19T13:40:06Z",
"grace_period_ends_at": "2022-09-26T13:40:06Z",
"subscription_is_expired": false,
"subscription_is_on_grace_period": false,
"subscription_is_delinquent": false,
"inventory_policy": "managed",
"status": "active"
},
"invoice_number": "RC123456"
},
{
"id": 1001,
"order_id": 1000,
"batch_number": 1013212313,
"label_reference": null,
"ordered_at": "2015-09-22T12:30:56Z",
"customer_order_number": "AHERPADERP",
"retailer_order_number": "1234567",
"purchase_order_number": "CS192168",
"shipping_method": {
"id": 5,
"name": "Ground",
"code": "Ground",
"type": "small_parcel",
"carrier": {
"id": 2,
"name": "UPS",
"code": "UPSN"
},
"generic_shipping_method": {
"id": 2,
"name": "Ground",
"description": "Should arrive within 3-7 days after processing time",
"type": "small_parcel"
}
},
"shipping_account": {
"id": 5,
"nickname": "Hobie UPS",
"owner": {
"id": 510,
"name": "Demo Store",
"type": "retailer"
},
"carrier": {
"id": 2,
"name": "UPS",
"code": "UPSN"
},
"is_first_party_bill": false
},
"tracking_number": "1Z9999999999999988",
"tracking_url": "https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=1Z9999999999999988",
"tracking": {
"picked_up_at": "2015-10-11T11:11:56Z",
"delivered_at": "2015-10-13T11:13:14Z",
"tracking_details": []
},
"status": "closed",
"is_acknowledged": false,
"has_commercial_invoice": false,
"canceled_at": null,
"sold_to": null,
"ship_to": {
"id": 4,
"type": "residential",
"name1": "Hobie",
"name2": null,
"street1": "1332 Hermosa Ave",
"street2": "Suite #14",
"city": "Hermosa Beach",
"province": "CA",
"postal_code": "90254",
"country": "US",
"phone1": "3138849000",
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": null
},
"ship_from": {
"id": 8,
"type": null,
"name1": "Adidas guy",
"name2": null,
"street1": "5055 N Greeley Avenue",
"street2": null,
"city": "Portland",
"province": "OR",
"postal_code": "97217",
"country": "US",
"phone1": "1-800-123-9000",
"phone2": null,
"fax": null,
"email": null,
"federal_tax_id": null
},
"ship_weight": 6.9,
"ship_width": 12,
"ship_length": 16.5,
"ship_height": 4.75,
"ship_girth": 50,
"ship_volume": 940.5,
"valid_packing_slip": false,
"valid_shipping_label": true,
"shipping_provider_identifier": "shp_3a61e10243da49ab92f0e3861d5d256b",
"error_logs": [],
"acknowledged_at": null,
"closed_at": "2014-02-24T12:34:56Z",
"delivered_at": "2015-10-13T11:13:14Z",
"shipped_at": "2015-10-09T12:24:56Z",
"updated_at": "2022-08-19T13:39:57Z",
"created_at": "2015-10-10T15:24:56Z",
"shipment_lines": [
{
"id": 1001,
"order_line_number": "",
"quantity": 1,
"part": 1,
"freight_class": null,
"updated_at": null,
"variant": {
"id": 249,
"name": null,
"brand": {
"id": 501,
"code": "alex-demo-brand",
"name": "Alex Demo"
},
"identifier": "123-DEF12345",
"brand_identifier": "HATR",
"upc": "555555555202",
"retailer_identifiers": [
{
"id": 37,
"retailer": {
"id": 510,
"name": "Demo Store",
"code": "demo-store",
"logo_url": "https://images.demo.com/retailers/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/retailers/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/retailers/defaults/profile-tile.png",
"joined_at": "2015-10-10T00:00:00Z",
"is_3pm": false,
"is_rcn_retailer": true,
"is_onboarded": false,
"platform": "fabric",
"requires_subscription": "enabled",
"brand_permit_creation_allowed": false,
"website": null,
"status": "active"
},
"identifier": "123-DEF12345",
"name": null
}
],
"description": null
}
}
],
"signature": null,
"brand": {
"id": 501,
"name": "Alex Demo",
"code": "alex-demo-brand",
"joined_at": "2015-10-10T00:00:00Z",
"logo_url": "https://images.demo.com/brands/defaults/logo-lg.png",
"cover_url": "https://images.demo.com/brands/defaults/cover.png",
"profile_tile_url": "https://images.demo.com/brands/defaults/profile-tile.png",
"website": null,
"is_onboarded": false,
"is_on_rcn": false,
"requires_subscription": "enabled",
"subscription_expires_at": "2022-09-19T13:40:06Z",
"grace_period_ends_at": "2022-09-26T13:40:06Z",
"subscription_is_expired": false,
"subscription_is_on_grace_period": false,
"subscription_is_delinquent": false,
"inventory_policy": "managed",
"status": "active"
},
"invoice_number": "RC123456"
},
{
"id": 1005,
"order_id": 1007,
"batch_number": null,
"label_reference": null,
"ordered_at": "2015-09-22T12:34:56Z",
"customer_order_number": null,
"retailer_order_numbe