Consultas
collection
Obtiene una colección publicada mediante su slug.
Última actualización:
collection devuelve una colección publicada visible en la tienda resuelta.
Usa esta query cuando ya conoces el slug de la página de colección.
Firma
collection(slug: String!): CollectionItem!Argumentos
| Argumento | Tipo | Regla |
|---|---|---|
slug | String! | Obligatorio. Se recorta antes de buscar, no puede quedar vacío y admite como máximo 200 caracteres. |
Campos de CollectionItem
| Campo | Tipo | Descripción |
|---|---|---|
id | String! | Identificador público opaco de la colección. |
slug | String! | Slug público usado en la URL de la colección. |
name | String! | Nombre público. |
description | String | Descripción pública, o null cuando está vacía. |
imageUrl | String | URL de imagen pública, o null cuando no existe. |
type | String! | Tipo de colección almacenado por el catálogo. |
productCount | Int! | Cantidad de productos publicados asociados en la tienda actual. |
Consulta
query Collection($slug: String!) {
collection(slug: $slug) {
id
slug
name
description
imageUrl
type
productCount
}
}Variables
{
"slug": "summer"
}Usa variables para el slug; no interpoles texto del usuario en el documento GraphQL.
cURL
curl --request POST "https://storefront.ecomiq.pe/graphql" \
--header "Content-Type: application/json" \
--header "x-Store-Domain: mi-tienda" \
--data-binary '{
"query": "query Collection($slug: String!) { collection(slug: $slug) { id slug name description imageUrl type productCount } }",
"variables": {
"slug": "summer"
}
}'Respuesta
{
"data": {
"collection": {
"id": "collection-1",
"slug": "summer",
"name": "Summer",
"description": null,
"imageUrl": null,
"type": "Manual",
"productCount": 2
}
}
}Errores
| Código | Cuándo ocurre |
|---|---|
BAD_USER_INPUT | slug está vacío o supera los 200 caracteres. |
NOT_FOUND | La colección no existe o no es visible en la tienda resuelta. |
STORE_CONTEXT_REQUIRED | x-Store-Domain no permite resolver una tienda. |
{
"errors": [
{
"message": "Collection not found.",
"path": ["collection"],
"extensions": {
"code": "NOT_FOUND"
}
}
],
"data": null
}Consulta Errores GraphQL para manejar el envelope completo.
Equivalente REST
GET /v1/collections/{slug}
expone la misma representación mediante REST.