Authentication v1
- Identity APIs
- User
- Address
- Auth
User Self Service APIs
- Introduction
- User Self Service APIs
- Authentication APIs
Experiences v2 (XM v2)
- XM
- Pages
- Global Components
- Menu
Experiences v1 (XM v1)
- XM
- Pages
- Global Components
- Menu
Product Catalog
- Product Catalog
- Category
- Product
- Attributes
- Bulk Import
Orders v2 (OMS v2)
- Order Management System
- Order
- Order Attribute
- Developer Guide
- Order Return
- Payment Status
- Package Tracking
- Cross Border
- Order Cancellation
- Appeasement
- Allocation
- Configuration
- Fraud Configuration
- Target Configuration
- Location
- Location Attribute
- Inventory Network
- Inventory
- Inventory Counter
- Inventory Bulk Operation
- Inventory Attribute
- Inventory Upload Log
- Shipment
- Shipping Method
- Webhook
- Notification
- Export
- Invoice
- Fraud
- Backorder Preorder Reservation
- List
Orders v1 (OMS v1)
- Order Management System
- Cart
- Bill To
- Ship To
- Wishlist
- Cart Decoupled
- Warehouse
- Inventory
- Attributes
- List
- Tax/Address Validate
- Shipping
- Payments
- Order
Offers v2
- Offers
- Developer Guide
- Promotion
- Price Kind
- Dynamic Pricing Engine
- Segment
- Coupon
- Coupon Codes
- Product
- Price List
- Attributes
- Item
- Price Guard
- Global Exclusion
- Upload Price CSV
- Pricing
- Redemption
- Exports
Offers v1
- Offers
- Login API
- Promotions
- Pricing
Subscriptions (SMT API)
- Subscriptions API
- Cancellation Reasons
- Subscription Discounts
- Subscriptions
- Subscribers
- Orders
Loyalty (Member)
- Member APIs
- Inquire
- Discounts
- Redeem
- Earn
- Members
Dropship
- Dropship API
- Shipments
- Products
- Invoices
- Connections
- Inventory
- Developer Guide
- Returns
- Orders
Cart API
- Cart
- Order Draft
- Attribute
- Adjustments
- Shipping
- Cart
Checkout API
- Checkout
- Checkout
Customer
- Core Concepts
- Customer Service
- Organization
- User Party
- Organization Group Addresses
- User Internal Party
- Organization Contracts
- Party
- Party Contracts
- Contracts
- User
- Search
- User Trait
- Organization Users
- Address
- User Address
- Trait
- Party Address
- Party Trait
- Organization Group Users
- Internal Party
- Contract Pricelist
- Internal Parties Party
- Account
- Party Account
- Organization Addresses
- Organization Groups
- Individual Addresses
- Users Organization
- Individual
Getting Started with Dropship Merchant APIs
This document describes step-by-step process of integrating with fabric Dropship APIs to create your own marketplace.
Product Overview
fabric Dropship 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 Dropship vendors to customers. Thus, generating more revenue through new, innovative dropship technology.
As a Commerce as a Service (CaaS) solution, Dropship provides a scalable and composable product line-up that includes headless APIs for items, price, inventory, cart, orders, shipping, and promotions. For retailers, Dropship is an all-inclusive solution for seamless product assortment expansion via a network of dropship-capable suppliers. For suppliers, Dropship offers a rapid and friction-free expansion of digital selling channels. fabric Dropship 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 Dropship for merchants.
Click here for a glossary of terms.
Integration Expectations
Once you sign up for fabric Dropship, your account must be activated. To fully integrate with fabric Dropship, you must be able to complete the following workflows:
- Get Product catalog & attribute information from fabric Dropship.
- Get Inventory information by Item or UPC from fabric Dropship.
- Send Purchase Orders to fabric Dropship
- Get fulfillments from fabric Dropship, including: Tracking Numbers, Cancellations, and Backorders (optional)
- Get Invoices to fabric Dropship
- Send Return/RMA notifications
fabric Dropship Copilot Application
fabric Dropship 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 Dropship 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 Dropship Sandbox environment to explore and test the functionality of the Dropship 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 Dropship, you will get a connection ID, which is required to get started.
API Authentication
fabric Dropship 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
To obtain an access token, send the following request:
Text
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
Text
GET /v1/retailers/:id/orders/
Authorization: Bearer 0oW0r4m1pjIlb5UJujZA5iVuse0XSn
Note: Access token is valid only for 10 hours.
Products and Variant APIs
fabric Dropship 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 |
Products List
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. |
updated_at_{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
Text
GET /v1/retailers/:id/products/?updated_at_gte=1650327740
Sample Response
Text
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"
}
...
{},
{},
}
Get Single Product
Use the following endpoint to get details of a specific product.
Text
GET /v1/retailers/:id/products/:id/ Get a single product
Sample Request
Text
GET /v1/retailers/:id/products/87736/
Sample Response
Text
{
"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"
}
Get Variants
Use this endpoint to get a list of variants.
Text
GET /v1/retailers/:id/variants/
Sample Request
Text
/v1/retailers/500/variants/
Sample Response
Text
{
"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": []
}
}
Get Single Variant
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
Text
/v1/retailers/500/variants/10024/
Sample Response
Text
{
"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.
Update Variant
Use this endpoint to update the details of a variant.
Text
Patch /v1/retailers/:retailer_pk/variants/:id/
Sample Request
Text
PATCH /v1/retailers/500/variants/77717358/
If you would like to add your own attributes to variants, you can use a simple PATCH request.
Text
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
Text
{
"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 Dropship 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
Text
GET /v1/retailers/:id/proposals/?status=completed&is_acknowledged=0
Sample Response
Text
{
"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.
Text
GET /v1/retailers/:id/proposals/:id/proposal-variants/?is_rejected=
Success Response
Text
{
"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
Text
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
Text
{
"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.
Text
PATCH /v1/retailers/:id/variants/:id/
Sample Request
Text
{
"attributes": [
{
"attribute": {
"id": 1
},
"value": "new name!"
}
]
}
Sample Response
Text
{
"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.
Text
PUT /v1/retailers/:id/permits/:permit_id/acknowledge/
Sample Request
Text
{
"attributes": [
{
"attribute": {
"id": 1
},
"value": "new name!"
}
]
}
`
##### Sample Response
Text
`{
"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
Text
GET /v1/retailers/:id/permits/?is_acknowledged=0
Response
Text
{
"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
Text
GET /v1/retailers/:id/permits/?is_acknowledged=0
Sample Response**
Text
"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**
Text
GET /v1/retailers/:id/variants/:variant_id/
Sample Response
Text
{
"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.
Text
PATCH /v1/retailers/:id/variants/:variant_id/
Sample Request
Text
{
"attributes": [
{
"attribute": {
"id": 1
},
"value": "new name!"
}
]
}
Sample Response
Text
{
"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).
Acknowledge Permit
Allows retailers to acknowledge a permit.
Text
PUT /v1/retailers/:id/permits/:permit_id/acknowledge/
Sample Request
Text
{
"attributes": [
{
"attribute": {
"id": 1
},
"value": "new name!"
}
]
}
Sample Response
Text
{
"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 |
---|---|
updated_at_{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
Text
GET /v1/retailers/500/inventory/?updated_at_gte=1650327740
Sample Response
Text
{
"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
Text
GET /v1/retailers/500/inventory/100024/
Sample Response
Text
{
"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 Dropship. Once received and validated, orders may be accessed by vendors for acknowledgment and fulfillment.
Create Order
Use the following endpoint to create orders.
Method | Path | Description |
---|---|---|
POST | /v1/retailers/:id/orders/ | Create Order |
Sample Request
Text
POST /v1/retailers/500/orders/
Request Body
Text
{
"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
Text
{
"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
Text
GET /v1/retailers/500/shipments/?is_acknowledged=0
Sample Response
Text
{
"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_number": "3456789233",
"purchase_order_number": "CS1927234213",
"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": 7,
"nickname": "Hobie UPS #2",
"owner": {
"id": 510,
"name": "Demo Store",
"type": "retailer"
},
"carrier": {
"id": 2,
"name": "UPS",
"code": "UPSN"
},
"is_first_party_bill": false
},
"tracking_number": "794617456627",
"tracking_url": "https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=794617456627",
"tracking": null,
"status": "closed",
"is_acknowledged": true,
"has_commercial_invoice": false,
"canceled_at": null,
"sold_to": {
"id": 6,
"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_to": {
"id": 6,
"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": null,
"error_logs": [
{
"id": 3,
"message": "Shipping method not found in available shipment rates!",
"count": 1,
"created_at": "2015-09-10T00:00:20Z"
},
{
"id": 1,
"message": "ERROR! Please contact Samantha to increase the PHP.",
"count": 2,
"created_at": "2015-09-10T00:00:20Z"
}
],
"acknowledged_at": "2015-10-11T12:24:56Z",
"closed_at": "2014-10-11T12:24:56Z",
"delivered_at": null,
"shipped_at": "2015-10-09T12:24:56Z",
"updated_at": "2015-10-10T12:24:56Z",
"created_at": "2015-10-10T14:24:56Z",
"shipment_lines": [
{
"id": 1007,
"order_line_number": "",
"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": null
},
{
"id": 100005,
"order_id": 1002,
"batch_number": null,
"label_reference": null,
"ordered_at": "2015-09-22T12:34:56Z",
"customer_order_number": "ASDF4567",
"retailer_order_number": "3456789",
"purchase_order_number": "CS192723",
"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": null,
"tracking_number": "1Z9999999999999999",
"tracking_url": "https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums=1Z9999999999999999",
"tracking": null,
"status": "closed",
"is_acknowledged": false,
"has_commercial_invoice": false,
"canceled_at": null,
"sold_to": {
"id": 6,
"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_to": {
"id": 6,
"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": 19,
"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": true,
"valid_shipping_label": false,
"shipping_provider_identifier": null,
"error_logs": [],
"acknowledged_at": null,
"closed_at": "2022-08-19T13:40:07Z",
"delivered_at": null,
"shipped_at": "2022-08-19T13:40:07Z",
"updated_at": "2022-08-19T13:40:07Z",
"created_at": "2022-08-19T13:40:07Z",
"shipment_lines": [
{
"id": 10015,
"order_line_number": "3",
"quantity": 1,
"part": 1,
"freight_class": null,
"updated_at": "2022-08-19T13:40:07Z",
"variant": {
"id": 449,
"name": "Test Schmicon",
"brand": {
"id": 510,
"code": "demos-brand",
"name": "Demo Brand"
},
"identifier": "HATR",
"brand_identifier": "HATR",
"upc": "555555555202",
"retailer_identifiers": [],
"description": "one size TEAM RED"
}
}
],
"signature": "required",
"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: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": null
}
]
}
Acknowledge Receipt of Shipment
To acknowledge a shipment (so that it doesn’t show up in subsequent requests for new shipments), simply PUT the shipment ID back to fabric Dropship (with no request body):
Sample Request
Text
PUT /v1/retailers/500/shipments/77717358/acknowledge/
Sample Response
Text
{}
Glossary
Copilot
Web-based user interface to access all fabric applications. These applications enable operators to manage their digital commerce needs directly using online forms and prebuilt web components, thereby reducing dependence on technical development resources and custom code.
Products
Physical or digital products and services are collectively called products, and can range from clothing, electronics, and household items to software, digital downloads, and consulting services. In the context of Maketplace, we’ll commonly refer to physical products.
Product Variants
Variations of a product are referred to as variants. For example, a laptop that comes in three different sizes (13”, 15”, 17”) and four different colors (red, blue, gray, and white) has 12 variants.
Dropshipping
In Dropshipping, retailers fulfill orders through a third-party supplier who ships products directly to customers on behalf of retailers. The retailer does not hold product inventory, and the customer is unaware that their product was sourced differently than traditional inventory.
Dropshipping enables a retailer to grow its revenue through low-risk and low-cost inventory. The time-to-market for dropship inventory is considerably faster than traditional inventory, which means greater flexibility and time-to-market. Dropshipping products can also be strategically leveraged for heavy and bulky products, reducing supply chain costs and resources. Retailers can expand their product assortment without the upfront investment of manufacturing and massive product orders.
Attributes
Product properties are referred to as product attributes. Attributes are the objective and factual descriptions of products that shoppers see when they browse through your site. Both products and variant attributes can be described with “key:value” pairs. For example, “color: red” where key is color and value is red.
fabric’s system allows flexibility for merchants to customize the attributes for each level. However, it’s recommended partners use our predefined templates. In general, products contain high-level attributes that apply to all child variants. For example, Style #, Category, Description, and so on while variants contain item-specific info. For example SKU, Inventory, Price, Cost, UPC/Barcode, and so on.
Attribute validation
Dropship has advanced capabilities to ensure certain product attributes are complete & validated according to the merchant’s specifications. In addition, we can also apply transformations to attributes that can transform attribute values permanently or on-the-fly (i.e. per API request). You may contact fabric to see if using transformations is relevant for your requirement.
Retailer attributes
In many cases, it can be helpful to attach retailer attributes to products or variants. A simple PATCH request can create attributes on approved products or variants that are only accessible to you. This approach is most often used to attach Retailer SKUs to variants so that you can use your own identifiers when interacting with the fabric Dropship APIs.
Images and media
Images URLs are initially added to products or variants as attributes during import. However, fabric will attempt to get a copy of the file from the URL and, if successful, will persist the media file in long-term storage as well as our CDN (powered by Cloudinary). While you cannot directly use images from our CDN on your storefront, you can use certain features to make image and media ingestion easier and more consistent.
Permit
In fabric Dropship, products are owned by the suppliers. Merchants can gain access to these products only by accepting the proposals. When a proposal is accepted, merchants get a copy of the product data created in their account. This copy of the product is referred to as a permit.
Was this page helpful?
- Product Overview
- Target readers
- Integration Expectations
- fabric Dropship Copilot Application
- Environments
- Sandbox Environment
- Production Environment
- API Authentication
- Access token
- Products and Variant APIs
- Products List
- Get Single Product
- Get Variants
- Sample Request
- Sample Response
- Get Single Variant
- Sample Request
- Update Variant
- Product Ingestion API Workflows
- Proposal Processing - API workflow
- 1. Obtain Access Token
- 2. GET Completed Proposals
- 3. Get Approved Proposal Variants
- 4. Get Variant Details
- 5. Update Variant Attributes
- 6. Acknowledge Permit
- Permit Processing API Workflow
- 1. Obtain Access Token
- 2. Get New Permits
- 3. Get New Permits
- 3. Get Variant Details
- 4A. Update Variant Attributes
- 4B. Existing Variants
- Acknowledge Permit
- Transaction APIs
- Inventory
- Orders
- Shipments
- Get Shipments
- Acknowledge Receipt of Shipment
- Glossary
- Copilot
- Products
- Product Variants
- Dropshipping
- Attributes
- Attribute validation
- Retailer attributes
- Images and media
- Permit