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.
For what outfits are and how they are assembled, see How outfits work in the Integration Overview.
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.