Shop the look

shop_the_look_example

Our shop the look service is trying to answer a question: given a product, which other products can be well combined with it to form a fashionable outfit? Since the information is purely visual it creates relation between product looks being visually distinct variants.

Not all items are good fit for these kind of recommendations from two reasons

  • it doesn’t make sense to recommend outfit for some products, usually accessories (e.g. socks, jewelery, etc.)

  • our engine has not learned a particular style yet (we will keep improving this continuously)

API Usage

  • Shop the look results are updated automatically by processing customers feed

  • The results are filled into Catalogue as a relationships between looks.

See Catalogue: Look endpoints labeled Shop the look in interactive OpenAPI docs.

Example Query - look/style-with

For given look GET ids of shop-the-look related looks

  • request

LOOK_ID='889989'

curl \
    -X GET "${API_BASE_URL}/looks/${LOOK_ID}/style-with?limit=3" \
    -H "accept: application/json" \
    -H "x-api-key: ${API_KEY}" \
    -H "Authorization: None"
  • response

{
  "links": {
    "next": "/looks/889989/style-with?limit=3&offset=3",
    "prev": null,
    "limit": 3,
    "offset": 0
  },
  "results": [
    {
      "look_id": "889989",
      "related_look_id": "1013319",
      "position": 0
    },
    {
      "look_id": "889989",
      "related_look_id": "1058713",
      "position": 1
    },
    {
      "look_id": "889989",
      "related_look_id": "1040212",
      "position": 2
    }
  ]
}

Example Query - look/style-with-looks

For given look GET expanded properties of the shop-the-look related looks

  • request

LOOK_ID='889989'

curl \
    -X GET "${API_BASE_URL}/looks/${LOOK_ID}/style-with-looks?limit=3" \
    -H "accept: application/json" \
    -H "x-api-key: ${API_KEY}" \
    -H "Authorization: None"
  • response

{
  "links": {
    "next": "/looks/889989/style-with-looks?limit=3&offset=3",
    "prev": null,
    "limit": 3,
    "offset": 0
  },
  "results": [
    {
      "id": "1013319",
      "code": "1013319",
      "instance": {},
      "product": {},
      "primary_image": {}
    },
    {
      "id": "1058713",
      "code": "1058713",
      "instance": {},
      "product": {},
      "primary_image": {}
    },
    {
      "id": "1040212",
      "code": "1040212",
      "instance": {},
      "product": {},
      "primary_image": {}
    }
  ]
}

Example Query - shop-the-look relation list

GET list of shop-the-look relations

  • request

curl \
    -X GET "${API_BASE_URL}/shop-the-look?limit=3" \
    -H "accept: application/json" \
    -H "x-api-key: ${API_KEY}" \
    -H "Authorization: None"
  • response

{
  "links": {
    "next": "/shop-the-look?limit=3&offset=3",
    "prev": null,
    "limit": 3,
    "offset": 0
  },
  "results": [
    {
      "look_id": "889989",
      "related_look_id": "1013319",
      "position": 0
    },
    {
      "look_id": "889989",
      "related_look_id": "1058713",
      "position": 1
    },
    {
      "look_id": "889989",
      "related_look_id": "1040212",
      "position": 2
    }
  ]
}

Example Query - shop-the-look relation detail

GET single shop-the-look relation

  • request

LOOK_ID='889989'
POSITION=0

curl \
    -X GET "${API_BASE_URL}/shop-the-look/${LOOK_ID}/${POSITION}" \
    -H "accept: application/json" \
    -H "x-api-key: ${API_KEY}" \
    -H "Authorization: None"
  • response

{
  "look_id": "889989",
  "related_look_id": "1013319",
  "position": 0
}