Overview
You can request outfits, partner outfits (also known as "model wears"; available only when enabled), and/or similar items in a single call via the browser JavaScript client library or by direct HTTP request.
Important:
Follow the Interaction Tracking guide and do not change the order or grouping of items returned.
Partner outfits are available only if Dressipi/Mapp Fashion has the necessary data.
Endpoint (HTTP)
GET https://api.dressipi.com/api/items/{item_id}/relatedAll properties on the request object are translated into query string parameters. Unrecognized keys are passed through (e.g., locale).
Dressipi("related", "items", {
item_id: "YOUR_PRODUCT_CODE_OR_SKU",
placement_id: "A_UUID_PROVIDED_BY_DRESSIPI",
response_format: "detailed",
methods: ["outfits", "partner_outfits", "similar_items"], // should be an array, amend as required
try_all_methods: true, // if false (the default), the methods listed are attempted until one succeeds
onSuccess: (data) => {},
onFailure: (err) => {},
});Common query params
methods– comma-separated list of methods to requestgarment_format– maps fromresponse_format(see below)try_all_methods– boolean
Request Parameters
Key | Type | Required | Description |
|---|---|---|---|
|
| Yes | ID of the anchor item to retrieve related content for. |
|
| No | Methods to include: |
|
| No | If true, tries all methods, falling back if one fails. Default: |
|
| No | Format of returned item data. Maps to URL param |
|
| No | Max number of outfits per occasion. |
|
| No | Max number of similar items. |
|
| No | Max price reduction threshold (percentage). |
|
| No | Controls the interpretation of |
|
| No | e.g., |
|
| No | Success callback. |
|
| No | Error callback. |
Pass-through behavior:
Any additional keys you include (e.g.,
locale) will be forwarded as URL parameters.
IdentifierType
Value | Description |
|---|---|
| Internal Dressipi item identifier. |
| EAN barcode. |
| Merchant’s product code. |
| Stock Keeping Unit. |
RequestedResponseFormat
Value | Description |
|---|---|
| Full detailed data for each item. |
| Minimal metadata document format. |
| Only retailer item IDs. |
Config Key - URL Parameter Mapping
JavaScript Client Library Key | URL Parameter |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example Requests
HTTP
GET https://api.dressipi.com/api/items/123456/related?methods=outfits,similar_items&garment_format=detailedJavaScript Client Library
Dressipi("related", "items", {
item_id: "123456",
response_format: "detailed",
methods: ["outfits", "similar_items"],
try_all_methods: false,
onSuccess: (data) => console.log(data),
onFailure: (err) => console.error(err),
});Response
The top-level structure depends on which methods are requested. If multiple are requested, each appears by key. If a single method is requested (e.g., outfits), you may receive that section directly.
Combined methods
{
response_id: string;
outfits?: Outfit[];
partner_outfits?: Outfit[];
similar_items?: {
content_id: string;
items: Item[] | DetailedItem[];
};
}JSON Example:
{
"response_id": "b3c1b6b0-9c2e-4a8b-9f1a-1234567890ab",
"outfits": [
{
"content_id": "65dfa7",
"items": [
{
"dressipi_item_id": 1322,
"id": "REDDRESS01"
}
],
"occasion": "casual"
}
],
"partner_outfits": [
{
"content_id": "65dfa7",
"items": [
{
"dressipi_item_id": 1322,
"id": "REDDRESS01"
}
],
"occasion": null
}
],
"similar_items": {
"content_id": "65dfa7",
"items": [
{
"dressipi_item_id": 35122,
"id": "602849501492"
}
]
}
}Outfits-only
{
response_id: string;
outfits: Outfit[];
}JSON Example:
{
"response_id": "b3c1b6b0-9c2e-4a8b-9f1a-1234567890ab",
"outfits": [
{
"content_id": "65dfa7",
"occasion": "casual",
"items": [
{ "dressipi_item_id": 1322, "id": "REDDRESS01" }
]
}
]
}Types
// Minimal item
interface Item {
id: string;
dressipi_item_id: number;
}
// Detailed item
interface DetailedItem extends Item {
name: string;
price?: string;
old_price?: string;
brand_name: string;
url: string;
category_name?: string;
category_id?: number;
images: string[];
image_url: string;
best_model_image?: string | null;
best_product_image?: string | '' | null;
thumbnail_image_url?: string;
has_outfits: boolean;
status: 'in stock' | 'out of stock';
style_id?: string;
}
interface Outfit {
content_id: string;
occasion: string | null;
items: DetailedItem[] | Item[];
}Cookies
_pantheon2-dressipi_session – Rails session cookie on responses.
Implementation Notes & Best Practices
Prefer
response_formatin JavaScript Client Library calls; it maps togarment_formatin the URL.Preserve item order and grouping as returned.
If
try_all_methodsistrue, the JavaScript Client Library will attempt fallbacks across the methods list.When using
identifier_type, ensure the provideditem_idaligns (e.g.,sku).You can pass through
localeand other non-typed params as needed.