▰CovalyDocs

DOCUMENTACIÓN / API REST / TIENDAS

● API V1CATÁLOGOOPENAPI 3.1

API de Tiendas

Administra el catálogo de una tienda individual: consulta productos, crea borradores, añade imágenes y publica cuando todo esté listo.

Antes de empezar

Crea un token desde la sección API / Integraciones de la tienda. Cada token pertenece a una sola tienda y solo puede acceder a esa tienda.

Base URL: https://<tu-tienda>.covaly.store/api/v1
Authorization: Bearer cvly_<tu_token>

El token se muestra una sola vez. Guárdalo en un gestor de secretos.

OPERACIONES DISPONIBLES
GET /

Descubre versión y URLs públicas.

GET /openapi.yaml

Descarga el contrato desde cada tienda.

GET /me

Comprueba token, scopes y tienda.

GET /products

Lista productos, filtra y pagina.

POST /products

Crea un borrador.

POST /products/bulk

Crea hasta 50 borradores.

GET /products/{product}

Consulta un producto.

PATCH /products/{product}

Edita los campos enviados.

DELETE /products/{product}

Elimina un producto.

POST /products/{product}/publish

Publica un producto.

POST /products/{product}/unpublish

Lo devuelve a borrador.

POST /products/{product}/images

Sube una imagen.

DELETE /products/{product}/images/{image}

Elimina una imagen.

GET /categories

Lista categorías.

GET /categories/{category}

Consulta una categoría.

GET /

Descubrir la API

La raíz pública devuelve la versión y las URLs del contrato y del health check. No requiere token. Sirve para comprobar qué API estás consultando antes de enviar credenciales.

curl https://<tu-tienda>.covaly.store/api/v1/

GET /me

Verificar la conexión

Usa este endpoint antes de cualquier operación para validar que el token pertenece a la tienda esperada.

curl https://<tu-tienda>.covaly.store/api/v1/me \
  -H "Authorization: Bearer cvly_<tu_token>"

GET /products

Listar productos

Requiere products:read o products:write. Puedes filtrar por estado, categoría o búsqueda.

curl "https://<tu-tienda>.covaly.store/api/v1/products?status=draft" \
  -H "Authorization: Bearer cvly_<tu_token>"

POST /products · PATCH /products/{product}

Crear o editar un borrador

Requiere products:write. La moneda se guarda como PEN. En una actualización parcial, solo se cambian los campos enviados.

curl -X POST "https://<tu-tienda>.covaly.store/api/v1/products" \
  -H "Authorization: Bearer cvly_<tu_token>" \
  -H "Content-Type: application/json" \
  -d '{"name":"Taza","description":"Cerámica","unit_price":39.90,"stock":12}'

POST /products/bulk

Crear productos por lote

Requiere products:write. Envía entre 1 y 50 productos. La respuesta informa por cada elemento si se creó o falló; revisa el contrato OpenAPI para el formato completo y los errores por elemento.

curl -X POST "https://<tu-tienda>.covaly.store/api/v1/products/bulk" \
  -H "Authorization: Bearer cvly_<tu_token>" \
  -H "Content-Type: application/json" \
  -d '{"products":[{"client_reference":"A-1","name":"Taza","description":"Cerámica","unit_price":39.90}]}'

POST /products/{product}/publish · POST /products/{product}/unpublish

Publicar u ocultar

Requiere products:publish. Ambas operaciones son idempotentes. Publicar hace visible el producto; ocultarlo lo devuelve a estado draft. DELETE /products/{product} requiere products:write y no se puede deshacer.

POST /products/{product}/images · DELETE /products/{product}/images/{image}

Administrar imágenes

Requiere products:write. Para subir, envía multipart/form-data en el campo image; se aceptan JPG, PNG o WebP de hasta 5 MB.

GET /categories · GET /categories/{category}

Consultar categorías

Requiere categories:read. Los endpoints listan o consultan las categorías configuradas para la tienda; no existe una ruta de escritura en este contrato.

Referencia completa

La API publica su contrato OpenAPI. Úsalo para generar clientes, validar solicitudes o explorar todos los endpoints disponibles.

https://<tu-tienda>.covaly.store/api/v1/openapi.yaml