Especificaciones de API de servicio de consulta
El servicio de consulta utiliza una API de REST para el mandato y las comunicaciones. Hay dos especificaciones que puede utilizar: la API de la versión 2 pensada para utilizarse con los escaparates de React; y una especificación de la versión 1 diseñada para la compatibilidad con versiones anteriores.
En este documento
Referencia de Swagger del servicio de consulta
Una interfaz Swagger para los puntos finales del servicio de consulta está disponible en la API REST de consulta. Puede utilizar Swagger como referencia rápida a la API y sus parámetros. En este documento, los detalles y la lógica de API se exploran de forma un poco más detallada.
API de escaparate de la versión 2
Cuando explore la referencia de la API REST de consulta, encontrará que algunas de las clases tienen el prefijo "V2". Estas son llamadas de API que son específicas de los escaparates de React. No se aplican a las tiendas basadas en Aurora. Las clases que no tienen el prefijo "V2" son llamadas de la versión 1.
Las API de la versión 2 combinan la funcionalidad de varias clases de la versión 1 independientes. La tabla siguiente proporciona enlaces a especificaciones y ejemplos para cada clase de V2. La tabla proporciona cada nombre de API, los puntos finales de la versión 1 que incluye y una lista de parámetros con los que se puede utilizar. Cada parámetro puede dar soporte a varios valores.
Tipo | URL del punto final de la API de V1 | URL del punto final de la API de V2 | Parámetros de la API de V2 | Ejemplos |
---|---|---|---|---|
Categorías |
/search/resources/store/{id}/categoryview/{categoryIdentifier} /search/resources/store/{id}/categoryview/@top /search/resources/store/{id}/categoryview/byId/{categoryId} /search/resources/store/{id}/categoryview/byIdentifiers /search/resources/store/{id}/categoryview/byIds /search/resources/store/{id}/categoryview/byParentCategory/{parentCategoryId} |
/search/resources/api/v2/categories | Se necesita:
Opcional:
|
|
Productos |
/search/resources/store/{id}/productview/{partNumber} /search/resources/store/{id}/productview/byCategory/{categoryId} /search/resources/store/{id}/productview/byId/{productId} /search/resources/store/{id}/productview/byIds /search/resources/store/{id}/productview/byPartNumber/{partNumber} |
/search/resources/api/v2/products | Se necesita:
Opcional:
|
|
URL DE SEO |
/search/resources/store/{id}/sitecontent/categorySuggestions /search/resources/store/{id}/sitecontent/keywordSuggestionsByTerm/{term} |
/search/resources/api/v2/urls | Se necesita:
Opcional:
Note: Este punto final no da soporte a la facetas, la ordenación o la paginación; simplemente es un servicio de búsqueda por identificador. |
Ejemplos de API de React
- Ejemplo de categorías 1
- URL de solicitud:
O bien,GET /api/v2/categories?storeId=1&identifier=Apparel or GET /api/v2/categories?storeId=1&identifier=Women%20Shirts%20Blouses,Dresses,Apparel v1 equivalent: /search/resources/store/{id}/categoryview/{categoryIdentifier} /search/resources/store/{id}/categoryview/byIdentifiers
Cabecera de solicitud:GET /api/v2/categories?storeId=1&id=10002 or GET /api/v2/categories?storeId=1&id=10002,10001,1 v1 equivalent: /search/resources/store/{id}/categoryview/byId/{categoryId} /search/resources/store/{id}/categoryview/byIds
Cuerpo de respuesta:accept: application/json
{ "contents": [ { "id": "10001", "name": "Dresses", "identifier": "Dresses", "description": "Dresses", "thumbnail": "images/catalog/apparel/women/category/catr_wcl_dresses.png", "seo": { "href": "/shop/apparel/women/dresses" }, "links": { "self": { "href": "/api/v2/categories?storeId=1&id=10001" }, "parent": { "href": "/api/v2/categories?storeId=1&id=3" } } }, { "id": "10002", "name": "Blouses", "identifier": "Women Shirts Blouses", "description": "Blouses", "thumbnail": "images/catalog/apparel/women/category/catr_wcl_blouses.png", "seo": { "href": "/shop/apparel/women/blouses" }, "links": { "self": { "href": "/api/v2/categories?storeId=1&id=10002" }, "parent": { "href": "/api/v2/categories?storeId=1&id=3" } } }, { "id": "1", "name": "Apparel", "identifier": "Apparel", "description": "The latest styles for the entire family.", "thumbnail": "images/catalog/apparel/women/category/catr_wcl_pants.png", "seo": { "href": "/shop/apparel" }, "links": { "self": { "href": "/api/v2/categories?storeId=1&id=1" }, "children": [ { "href": "/api/v2/categories?storeId=1&id=2" }, { "href": "/api/v2/categories?storeId=1&id=3" }, { "href": "/api/v2/categories?storeId=1&id=4" }, { "href": "/api/v2/categories?storeId=1&id=5" } ] } } ] }
- Ejemplo de categorías 2
- URL de solicitud:
Cabecera de solicitud:GET /api/v2/categories?storeId=1&depthAndLimit=-1,-1 v1 equivalent: /search/resources/store/{id}/categoryview/@top
Cuerpo de respuesta:accept: application/json
Cabecera de respuesta:{ "contents": [ { "id": "1", "name": "Apparel", "identifier": "Apparel", "description": "The latest styles for the entire family.", "thumbnail": "images/catalog/apparel/women/category/catr_wcl_pants.png", "seo": { "href": "/shop/apparel" }, "children": [ { "id": "2", "name": "Men", "identifier": "Men", "description": "Men", "thumbnail": "images/catalog/apparel/men/category/catr_app_men.png", "seo": { "href": "/shop/apparel/men" }, "children": [ { "href": "/api/v2/categories?storeId=1&id=10013" }, { "href": "/api/v2/categories?storeId=1&id=10012" }, { "href": "/api/v2/categories?storeId=1&id=10011" }, { "href": "/api/v2/categories?storeId=1&id=10010" }, { "href": "/api/v2/categories?storeId=1&id=10014" } ] }, { "id": "5", "name": "Girls", "identifier": "Girls", "description": "Girls", "thumbnail": "images/catalog/apparel/girls/category/catr_app_girls.png", "seo": { "url": "/shop/apparel/girls" }, "children": [ { "href": "/api/v2/categories?storeId=1&id=10015" }, { "href": "/api/v2/categories?storeId=1&id=10016" }, { "href": "/api/v2/categories?storeId=1&id=10017" }, { "href": "/api/v2/categories?storeId=1&id=10018" } ] }, { "id": "4", "name": "Boys", "identifier": "Boys", "description": "Boys", "thumbnail": "images/catalog/apparel/boys/category/catr_app_boys.png", "seo": { "url": "/shop/apparel/boys" }, "children": [ { "href": "/api/v2/categories?storeId=1&id=10019" }, { "href": "/api/v2/categories?storeId=1&id=10020" }, { "href": "/api/v2/categories?storeId=1&id=10021" } ] }, { "id": 3, "name": "Women", "identifier": "Women", "description": "Women", "thumbnail": "images/catalog/apparel/women/category/catr_app_women.png", "seo": { "url": "/shop/apparel/women" }, "children": [ { "href": "/api/v2/categories?storeId=1&id=10003" }, { "href": "/api/v2/categories?storeId=1&id=10007" }, { "href": "/api/v2/categories?storeId=1&id=10008" }, { "href": "/api/v2/categories?storeId=1&id=10002" }, { "href": "/api/v2/categories?storeId=1&id=10006" }, { "href": "/api/v2/categories?storeId=1&id=10001" }, { "href": "/api/v2/categories?storeId=1&id=10004" }, { "href": "/api/v2/categories?storeId=1&id=10005" } ] } ] }, { ... rest of top categories ... } ] }
content-type: application/json;charset=UTF-8 date: Sun, 02 Feb 2020 22:15:28 GMT transfer-encoding: chunked
- Ejemplo de productos 1
- URL de solicitud:
Cabecera de solicitud:GET /api/v2/products?storeId=1&id=10046&associationType=accessories or GET /api/v2/products?storeId=1&id=10046&id=10045&associationType=accessories v1 equivalent /search/resources/store/{id}/productview/byId/{productId} /search/resources/store/{id}/productview/byIds
Cuerpo de respuesta:accept: application/json
{ "contents": [ { "id": "11907", "description": "Relaxed fit traditional cut two button suit", "type": "product", "image": "images/catalog/apparel/men/mcl008_suits/646x1000/mcl008_0819.jpg", "buyable": true, "thumbnail": "images/catalog/apparel/men/mcl008_suits/200x310/mcl008_0819.jpg", "sku": "MCL008_0819", "name": "Hermitage Black Relaxed Fit Traditional Two Button Suit", "manufacturer": "Hermitage Collection", "seo": { "href": "/...." }, "links": { "self": { "href": "/api/v2/products?storeId=1&id=11907" }, "parent": { "href": "/api/v2/categories?storeId=1&id=10001" } }, "price": [ { "usage": "Display", "currency": "USD", "value": 980 }, { "usage": "Offer", "currency": "USD", "value": 980 } ], "items": [ { "id": "11908", "description": "Relaxed fit traditional cut two button suit", "type": "item", "image": "images/catalog/apparel/men/mcl008_suits/646x1000/mcl008_0819.jpg", "buyable": true, "thumbnail": "images/catalog/apparel/men/mcl008_suits/200x310/mcl008_0819.jpg", "sku": "MCL008_081901", "name": "Hermitage Black Relaxed Fit Traditional Two Button Suit", "manufacturer": "Hermitage Collection", "price": [ { "usage": "Display", "currency": "USD", "value": 980 }, { "usage": "Offer", "currency": "USD", "value": 980 } ], "links": { "self": { "href": "/api/v2/products?storeId=1&id=11988" }, "parent": { "href": "/api/v2/categories?storeId=1&id=10001" } }, "attributes": [ { "identifier": "MenSuitsColor", "usage": "Defining", "values": [ { "identifier": "Black", "unit": { "name": "one", "id": "C62" }, "value": "Black", "id": "7000000000000000904" } ], "name": "Color", "id": "7000000000000000047" }, { "identifier": "MenSuitsSize", "usage": "Defining", "values": [ { "identifier": "40R", "unit": { "name": "one", "id": "C62" }, "value": "40R", "id": "7000000000000000908" } ], "name": "Size", "id": "7000000000000000048" } ] }, { ... rest of items ... } ], "attributes": [ { "identifier": "MenSuitsColor", "usage": "Defining", "values": [ { "identifier": "Black", "unit": { "name": "one", "id": "C62" }, "value": "Black", "id": "7000000000000000904" } ], "name": "Color", "comparable": true, "id": "7000000000000000047" }, { "identifier": "MenSuitsSize", "usage": "Defining", "values": [ { "identifier": "44L", "unit": { "name": "one", "id": "C62" }, "value": "44L", "id": "7000000000000000912" }, { "identifier": "44R", "unit": { "name": "one", "id": "C62" }, "value": "44R", "id": "7000000000000000911" }, { ... rest of attribute values ... } ], "name": "Size", "comparable": true, "id": "7000000000000000048" } ], "associations": [ { "id": "11907", "description": "Relaxed fit traditional cut two button suit", "type": "product", "image": "images/catalog/apparel/men/mcl008_suits/646x1000/mcl008_0819.jpg", "buyable": true, "thumbnail": "images/catalog/apparel/men/mcl008_suits/200x310/mcl008_0819.jpg", "sku": "MCL008_0819", "name": "Hermitage Black Relaxed Fit Traditional Two Button Suit", "manufacturer": "Hermitage Collection", "seo": { "href": "/...." }, "links": { "self": { "href": "/api/v2/products?storeId=1&id=11907" }, "parent": { "href": "/api/v2/categories?storeId=1&id=10001" } }, "price": [ { "usage": "Display", "currency": "USD", "value": 980 }, { "usage": "Offer", "currency": "USD", "value": 980 } ], } ] }, { "id": "11908", "description": "Relaxed fit traditional cut two button suit", "type": "item", "image": "images/catalog/apparel/men/mcl008_suits/646x1000/mcl008_0819.jpg", "buyable": true, "thumbnail": "images/catalog/apparel/men/mcl008_suits/200x310/mcl008_0819.jpg", "sku": "MCL008_081901", "name": "Hermitage Black Relaxed Fit Traditional Two Button Suit", "manufacturer": "Hermitage Collection", "seo": { "href": "/...." }, "links": { "self": { "href": "/api/v2/products?storeId=1&id=11908" }, "parent": { "href": "/api/v2/categories?storeId=1&id=10001" } }, "price": [ { "usage": "Display", "currency": "USD", "value": 980 }, { "usage": "Offer", "currency": "USD", "value": 980 } ], "attributes": [ { "identifier": "MenSuitsColor", "usage": "Defining", "values": [ { "identifier": "Black", "unit": { "name": "one", "id": "C62" }, "value": "Black", "id": "7000000000000000904" } ], "name": "Color", "comparable": true, "id": "7000000000000000047" }, { "identifier": "MenSuitsSize", "usage": "Defining", "values": [ { "identifier": "40R", "unit": { "name": "one", "id": "C62" }, "value": "40R", "id": "7000000000000000908" } ], "name": "Size", "comparable": true, "id": "7000000000000000048" } ] } ] }
- Ejemplo de productos 2
- URL de solicitud:
Cabecera de solicitud:/api/v2/products?storeId=1&categoryId=10001 v1 equivalent /search/resources/store/{id}/productview/byCategory/{categoryId}
Cuerpo de respuesta:accept: application/json
Cabecera de respuesta:{ "total": 56, "offset": 12, "limit": 12, "next": "/api/v2/products?storeId=1&categoryId=10001&id=11909&limit=12&offset=24", "previous": "/api/v2/products?storeId=1&categoryId=10001&id=11909&limit=12&offset=0", "contents": [ { "id": "11907", "description": "Relaxed fit traditional cut two button suit", "type": "product", "image": "images/catalog/apparel/men/mcl008_suits/646x1000/mcl008_0819.jpg", "buyable": true, "thumbnail": "images/catalog/apparel/men/mcl008_suits/200x310/mcl008_0819.jpg", "sku": "MCL008_0819", "name": "Hermitage Black Relaxed Fit Traditional Two Button Suit", "manufacturer": "Hermitage Collection", "seo": { "href": "/...." }, "links": { "self": { "href": "/api/v2/products?storeId=1&id=11907" }, "parent": { "href": "/api/v2/categories?storeId=1&id=10001" } }, "price": [ { "usage": "Display", "currency": "USD", "value": 980 }, { "usage": "Offer", "currency": "USD", "value": 980 } ], "items": [ { "href": "/api/v2/products?storeId=1&id=11988" }, { "href": "/api/v2/products?storeId=1&id=11909" } ] }, ..... other products in the search result set .... { "id": "11907", "description": "Relaxed fit traditional cut two button suit", "type": "product", "parent": "/api/v2/categories/10001?storeId=1", "image": "images/catalog/apparel/men/mcl008_suits/646x1000/mcl008_0819.jpg", "buyable": true, "thumbnail": "images/catalog/apparel/men/mcl008_suits/200x310/mcl008_0819.jpg", "sku": "MCL008_0819", "name": "Hermitage Black Relaxed Fit Traditional Two Button Suit", "manufacturer": "Hermitage Collection", "seo": { "href": "/...." }, "links": { "self": { "href": "/api/v2/products?storeId=1&id=11908" }, "parent": { "href": "/api/v2/categories?storeId=1&id=10001" } }, "price": [ { "usage": "Display", "currency": "USD", "value": 980 }, { "usage": "Offer", "currency": "USD", "value": 980 } ], "items": [ { "href": "/api/v2/products?storeId=1&id=11988" }, { "href": "/api/v2/products?storeId=1&id=11909" } ] } ], "facets": [ { "value": "price_USD", "name": "price_USD", "entry": [ { "count": 0, "label": "*-100.0", "value": "price_USD%3A*-100.0" }, { "count": 0, "label": "100.0-200.0", "value": "price_USD%3A100.0-200.0" }, { ... rest of facet entries ... } ] } ] }
content-type: application/json;charset=UTF-8 date: Sun, 02 Feb 2020 22:15:28 GMT transfer-encoding: chunked
- Ejemplo de URL de SEO 1: solicitud por identificador para una categoría
- URL de solicitud:
Cabecera de solicitud:GET /api/v2/urls?storeId=12101&identifier=Bath or GET /api/v2/urls?storeId=12101&identifier=Bath,Accessories
Cuerpo de respuesta:accept: application/json
{ "contents": [ { "id": 18801, "identifier": "bath", "status": 1, "tokenName": "CategoryToken", "tokenValue": "11509", "tokenExternalValue": "Bath", "storeId": 12101, "redirectURL": "", "page": { "name": "CATEGORY_PAGE", "type": "CATEGORY_PAGE", "layout": "", "title": "Bath | Stockholm", "metaKeyword": "space, light, faucet, mirror, brush, bath, decor", "metaDescription": "Modernize your bath space with a variety of vanity fixtures and lighting options", "imageAlternateDescription": "Image for Bath from Stockholm" } }, { "id": 18804, "identifier": "accessories", "status": 1, "tokenName": "CategoryToken", "tokenValue": "11509", "tokenExternalValue": "Accessories", "storeId": 12101, "redirectURL": "", "page": { "name": "CATEGORY_PAGE", "type": "PRODUCT_LISTING_PAGE", "layout": "", "title": "Accessories | Stockholm", "metaKeyword": "makeup mirrors, style, space, bath", "metaDescription": "Accent your bath with stylish accessories and makeup mirrors", "imageAlternateDescription": "Image for Accessories from Stockholm" } ] }
- Ejemplo de URL de SEO 2: solicitud por identificador de un producto
- URL de solicitud:
Cabecera de solicitud:GET /api/v2/urls?storeId=12101&identifier=makeup-mirror-br-acce-0001 or GET /api/v2/urls?storeId=12101
Cuerpo de respuesta:accept: application/json
Cabecera de respuesta:{ "contents": [ { "id": 18501, "identifier": "makeup-mirror-br-acce-0001", "status": 1, "tokenName": "ProductToken", "tokenValue": "15733", "tokenExternalValue": "BR-ACCE-0001", "storeId": 12101, "redirectURL": "", "page": { "name": "PRODUCT_PAGE", "type": "PRODUCT_PAGE", "layout": "", "title": "Makeup Mirror | Stockholm", "metaKeyword": "Stockholm", "metaDescription": "A modern makeup mirror that sits elegantly on any bathroom counter.", "imageAlternateDescription": "Image for Makeup Mirror from Stockholm" } } ] }
content-type: application/json;charset=UTF-8 date: Sun, 02 Feb 2020 22:15:28 GMT transfer-encoding: chunked