Saltar al contenido
Guías
Consultas

collections

Lista las colecciones publicadas de la tienda y permite buscar u ordenar el resultado.

Última actualización:

collections devuelve todas las colecciones publicadas visibles en la tienda resuelta. Cada elemento incluye su metadata pública y la cantidad de productos publicados asociados.

Firma

collections(
  search: String
  sort: NavigationSearchSort
): [CollectionItem!]!

Argumentos

ArgumentoTipoPredeterminadoRegla
searchStringnullBusca en nombre, slug, descripción y tipo. Se recorta antes de buscar; un valor vacío se trata como null. Máximo: 200 caracteres en la entrada.
sortNavigationSearchSortnullSi se omite, el resultado se ordena por nombre ascendente.

El argumento sort acepta estos valores exactos:

ValorOrden efectivo para colecciones
DEFAULTNombre ascendente.
NAME_ASCNombre ascendente.
NAME_DESCNombre descendente.
ORDER_ASCNombre ascendente actualmente.
ORDER_DESCNombre ascendente actualmente.
NEWESTCreación descendente; nombre ascendente como desempate.
UPDATED_DESCActualización descendente; nombre ascendente como desempate.

ORDER_ASC y ORDER_DESC pertenecen al enum compartido de navegación, pero las colecciones no tienen hoy un campo de orden manual en su índice público.

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

Collections.graphql
query Collections($search: String, $sort: NavigationSearchSort) {
  collections(search: $search, sort: $sort) {
    id
    slug
    name
    description
    imageUrl
    type
    productCount
  }
}

Variables

Variables
{
  "search": "summer",
  "sort": "NAME_ASC"
}

Los enums se envían como strings dentro del objeto JSON de variables.

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 Collections($search: String, $sort: NavigationSearchSort) { collections(search: $search, sort: $sort) { id slug name description imageUrl type productCount } }",
    "variables": {
      "search": "summer",
      "sort": "NAME_ASC"
    }
  }'

Respuesta

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

Una tienda sin colecciones coincidentes devuelve "collections": [].

Errores

CódigoCuándo ocurre
BAD_USER_INPUTsearch supera los 200 caracteres.
STORE_CONTEXT_REQUIREDx-Store-Domain no permite resolver una tienda.
Búsqueda demasiado larga
{
  "errors": [
    {
      "message": "Search must not exceed 200 characters.",
      "path": ["collections"],
      "extensions": {
        "code": "BAD_USER_INPUT"
      }
    }
  ],
  "data": null
}

Consulta Errores GraphQL para manejar el envelope completo.

Equivalente REST

GET /v1/collections expone la misma lista y acepta los filtros REST documentados en su referencia.

En esta página