Referencia de endpoints

API de Revendedores

Todos los endpoints devuelven application/json. Los errores siguen el RFC 7807 (Problem+JSON). Toda respuesta incluye la cabecera X-Request-Id para correlacionar con el registro de auditoría del servidor.

MethodPathPermisoPropósito
GET/v1/healthpublicComprobación de salud sin autenticación.
GET/v1/meanyInformación de la propia cuenta y metadatos de la clave.
GET/v1/productsread:productsListado de todos los productos públicos con sus precios.
GET/v1/products/{id}read:productsDetalles del producto, incluidas las opciones de configuración.
POST/v1/orderswrite:ordersRealizar un pedido. Idempotency-Key obligatorio.
GET/v1/orders/{id}read:ordersEstado de un pedido propio.
GET/v1/servicesread:servicesListado de los servicios propios (paginado).
GET/v1/services/{id}read:servicesDetalles de un servicio propio.
GET/v1/services/{id}/credentialsread:credentialsCredenciales del servicio (permiso separado, auditado).
POST/v1/services/{id}/actionswrite:servicesAcción de servicio: start, stop, reboot, reinstall, suspend, unsuspend, terminate.
GET/v1/billing/balanceread:billingSaldo disponible.
GET/v1/billing/invoicesread:billingListado de sus facturas (paginado).
GET/v1/billing/invoices/{id}/pdfread:billingPDF de factura.
GET/v1/webhooksread:webhooksURL actual del webhook.
PUT/v1/webhookswrite:webhooksConfigurar o eliminar la URL del webhook.

Idempotencia

POST /v1/orders y POST /v1/services/{id}/actions requieren la cabecera Idempotency-Key (1-80 caracteres del conjunto [A-Za-z0-9_.-]). El servidor almacena en caché la respuesta y el hash del cuerpo durante 24h; una segunda petición con la misma clave y el mismo cuerpo devuelve la misma respuesta, mientras que una segunda petición con la misma clave pero cuerpo distinto se rechaza con 409 idempotency_conflict.

Límites de tasa

Por defecto: 60 peticiones/minuto (con ráfaga de 20) y 5000/día por clave, más 600 peticiones/minuto por IP independientemente de la clave. Al superarlos, se devuelve HTTP 429 con la cabecera Retry-After. Las cabeceras de respuesta X-RateLimit-Remaining y X-RateLimit-Reset informan del estado actual.