DOCUMENTACIÓN / API REST / REVENDEDORES
API de Revendedores
Consulta las tiendas y la identidad de tu cuenta de revendedor desde una integración propia o desde un agente de IA.
Empieza en 2 pasos
- Obtén un token de revendedor habilitado para tu cuenta.
- Envíalo en cada solicitud como un Bearer token.
Authorization: Bearer rsl_<tu_token>
Accept: application/json Nunca compartas tu token ni lo incluyas en código público.
/api/v1/reseller/meVer tu cuenta y scopes GET/api/v1/reseller/storesListar tus tiendasstores:read GET/api/v1/reseller/stores/{application}Ver una tiendastores:read POST/api/v1/reseller/storesSolicitar una tienda nuevastores:create POST/api/v1/reseller/stores/{application}/extendSolicitar más mesesstores:extend POST/api/v1/reseller/stores/{application}/catalog-tokenEmitir o rotar token de catálogocatalog-token:manage DELETE/api/v1/reseller/stores/{application}/catalog-tokenRevocar token de catálogocatalog-token:manage GET/api/v1/reseller/action-requestsListar solicitudes pendientesstores:read GET/api/v1/reseller/action-requests/{actionRequest}Ver una solicitudstores:read GET /api/v1/reseller/me
Verificar tu cuenta
Úsalo primero para confirmar que el token funciona y revisar los permisos disponibles.
curl https://covaly.store/api/v1/reseller/me \
-H "Authorization: Bearer rsl_<tu_token>" \
-H "Accept: application/json" GET /api/v1/reseller/stores
Listar tus tiendas
Requiere el permiso stores:read. La respuesta nunca incluye tiendas de otro revendedor.
curl https://covaly.store/api/v1/reseller/stores \
-H "Authorization: Bearer rsl_<tu_token>" \
-H "Accept: application/json" Para consultar una tienda concreta, añade su ID: GET /api/v1/reseller/stores/123. Solo podrás ver tiendas de tu cuenta; si el ID es de otra cuenta, la API responde 404.
POST /api/v1/reseller/stores
Solicitar una tienda
Requiere stores:create. No crea ni cobra inmediatamente: devuelve 202 Accepted y deja una solicitud pendiente para que la confirmes en Covaly.
curl -X POST https://covaly.store/api/v1/reseller/stores \
-H "Authorization: Bearer rsl_<tu_token>" \
-H "Content-Type: application/json" \
-d '{"store_name":"Mi tienda","slug":"mi-tienda","owner_email":"dueno@ejemplo.com"}' POST /api/v1/reseller/stores/{application}/extend
Solicitar más tiempo para una tienda
Requiere stores:extend. Indica entre 1 y 12 meses y una clave de idempotencia. La extensión queda pendiente de confirmación porque consume créditos.
curl -X POST https://covaly.store/api/v1/reseller/stores/123/extend \
-H "Authorization: Bearer rsl_<tu_token>" \
-H "Content-Type: application/json" \
-d '{"months":1,"idempotency_key":"ext-2026-001"}' POST /api/v1/reseller/stores/{application}/catalog-token
Obtener el token de catálogo de una tienda
Requiere catalog-token:manage y que la tienda esté aprovisionada. El token plano se entrega una sola vez. Usa DELETE en la misma URL para revocarlo.
curl -X POST https://covaly.store/api/v1/reseller/stores/123/catalog-token \
-H "Authorization: Bearer rsl_<tu_token>" Revoca el token con DELETE /api/v1/reseller/stores/123/catalog-token. La revocación responde 204 No Content; no hay cuerpo en la respuesta.
GET /api/v1/reseller/action-requests
Consultar una solicitud
Requiere stores:read. Consulta el estado de una creación o extensión mientras espera confirmación humana, o revisa una sola solicitud con /{actionRequest}.
curl https://covaly.store/api/v1/reseller/action-requests \
-H "Authorization: Bearer rsl_<tu_token>" Para consultar una solicitud concreta y hacer polling de su estado usa GET /api/v1/reseller/action-requests/456. Los estados posibles son pending, approved, rejected, expired y failed.
Respuestas que puedes encontrar
- 401
- Token ausente, inválido o vencido.
- 403
- El token no tiene el scope requerido.
- 404
- La tienda o solicitud no existe o pertenece a otra cuenta.
- 409
- La tienda todavía no está aprovisionada para gestionar su token de catálogo.
- 422
- Revisa los campos; por ejemplo,
monthsdebe estar entre 1 y 12. - 429
- Se alcanzó el límite temporal de solicitudes; espera antes de reintentar.
- 502
- Covaly no pudo completar la operación con la tienda destino.