Saltar al contenido
Guías
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

ArgumentoTipoRegla
slugString!Obligatorio. Se recorta antes de buscar, no puede quedar vacío y admite como máximo 200 caracteres.

Campos de CollectionItem

CampoTipoDescripción
idString!Identificador público opaco de la colección.
slugString!Slug público usado en la URL de la colección.
nameString!Nombre público.
descriptionStringDescripción pública, o null cuando está vacía.
imageUrlStringURL de imagen pública, o null cuando no existe.
typeString!Tipo de colección almacenado por el catálogo.
productCountInt!Cantidad de productos publicados asociados en la tienda actual.

Consulta

Collection.graphql
query Collection($slug: String!) {
  collection(slug: $slug) {
    id
    slug
    name
    description
    imageUrl
    type
    productCount
  }
}

Variables

Variables
{
  "slug": "summer"
}

Usa variables para el slug; no interpoles texto del usuario en el documento GraphQL.

cURL

Terminal
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

Respuesta
{
  "data": {
    "collection": {
      "id": "collection-1",
      "slug": "summer",
      "name": "Summer",
      "description": null,
      "imageUrl": null,
      "type": "Manual",
      "productCount": 2
    }
  }
}

Errores

CódigoCuándo ocurre
BAD_USER_INPUTslug está vacío o supera los 200 caracteres.
NOT_FOUNDLa colección no existe o no es visible en la tienda resuelta.
STORE_CONTEXT_REQUIREDx-Store-Domain no permite resolver una tienda.
Colección no encontrada
{
  "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.

En esta página