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:
  • storeId: almacén operativo de la operación
Opcional:
  • id: id de catgroup interno
  • Identificador: identificador externo de categoría
  • catalogId: catálogo de ventas para la operación
  • langId: idioma para la operación
  • contractId: contrato autorizado en la sesión del comprador
  • parentId: ID de categoría padre
  • depthAndLimit - establece el número máximo de registros a devolver en cada capa. Utiliza una lista separada por comas de valores. Por lo tanto, depthAndLimit=-1,-1 devuelve todos los valores posibles (-1) en la primera capa y la segunda capa de categorías. Por ejemplo, con 5 capas de subcategorías (con todas las categorías devueltas en cada capa), utilice la siguiente anotación:

    depthAndLimit=-1,-1,-1,-1,-1
  • El parámetro field se puede utilizar para definir una lista explícita de campos que se devolverán en la respuesta; por ejemplo, field=id,name,description,identifier,seo
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/store/{id}/productview/byPartNumbers

/search/resources/store/{id}/productview/bySearchTerm

/search/resources​​​​​​​​​​​​​​​​​​​​​/api/v2/products Se necesita:
  • storeId: almacén operativo de la operación
Opcional:
  • Id - id de catentry interno
  • catalogId: catálogo de ventas para la operación
  • langId: idioma de la operación
  • categoryId: ID de categoría padre
  • moneda: moneda para el precio de visualización
  • associationType: tipo de asociación de comercialización que se incluirá en el resultado de la búsqueda
  • searchTerm: para buscar texto
  • contractId: contrato autorizado en la sesión del comprador
  • desplazamiento, límite: para solicitudes que dan soporte a la paginación: cuando se utiliza categoryId, se utiliza el término; la búsqueda por ID o identificador no requiere paginación
URL DE SEO

/search/resources/store/{id}/sitecontent/categorySuggestions

/search/resources/store/{id}/sitecontent/keywordSuggestionsByTerm/{term}

/search/resources/api/v2/urls​​​ Se necesita:
  • storeId: almacén operativo de la operación
Opcional:
  • identificador: identificador externo seourl equivalente a la palabra clave seourl. Utilice cuando conozca la palabra clave.
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:
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 
O bien,
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/​byId​s​
Cabecera de solicitud:
accept: application/json
Cuerpo de respuesta:
{ "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:
GET /api/v2/categories?storeId=1&depthAndLimit=-1,-1 v1 equivalent: /​​​search/resources/store/{id}/categoryview/@top
Cabecera de solicitud:
accept: application/json
Cuerpo 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/wo​men" }, "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 ... } ] ​}
Cabecera de respuesta:
 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:
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/​byId​s
Cabecera de solicitud:
accept: application/json
Cuerpo de respuesta:
{ "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:
/api/v2/products?storeId=1&categoryId=10001​ ​​ v1 equivalent /​​​search/resources/store/{id}​/productview/​byCategory​​​/{cate​goryId} 
Cabecera de solicitud:
accept: application/json
Cuerpo 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 ... } ] } ] }
Cabecera de respuesta:
 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:
GET /api/v2/urls?storeId=12101&identifier=Bath or GET /api/v2/urls?storeId=12101&identifier=Bath,Accessories 
Cabecera de solicitud:
accept: application/json
Cuerpo de respuesta:
{ "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:
GET /api/v2/urls?storeId=12101&identifier=makeup-mirror-br-acce-0001 or ​GET /api/v2/urls​?storeId=12101
Cabecera de solicitud:
accept: application/json
Cuerpo 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" } } ] ​}
Cabecera de respuesta:
 content-type: application/json;charset=UTF-8 date: Sun, 02 Feb 2020 22:15:28 GMT transfer-encoding: chunked