API de SWPanel: cómo obtener el detalle de un servicio
Cómo integrar el endpoint /services/{id_service}/ de la API de SWPanel
La API REST de SWPanel permite automatizar la gestión completa de servicios cloud, hosting, servidores e infraestructura mediante integraciones externas. Su arquitectura está diseñada para facilitar operaciones DevOps, sincronización con ERPs, automatización de workflows y construcción de plataformas SaaS o herramientas internas.
Uno de los endpoints más utilizados dentro de la API es el endpoint de obtención de detalle de servicio:
GET /v2026/services/{id_service}/
Documentación oficial OpenAPI:
https://api.swpanel.com/v2026/redoc?l=ES#tag/SERVICES/paths/~1v2026~1services~1{id_service}~1/get
Repositorio oficial GitHub:
https://github.com/swpanel
La combinación entre documentación OpenAPI y ejemplos públicos en GitHub permite acelerar enormemente cualquier integración técnica con SWPanel.
Qué permite este endpoint
El endpoint:
GET /v2026/services/{id_service}/
permite recuperar toda la información detallada asociada a un servicio concreto utilizando su identificador único (id_service).
Dependiendo del tipo de servicio, la respuesta puede incluir:
- Estado operativo
- Tipo de producto
- Recursos contratados
- Configuración cloud
- Información comercial
- Fechas relevantes
- Información de facturación
- Configuración técnica
- Recursos asignados
- Datos específicos del servicio
Este endpoint funciona como núcleo de consulta de prácticamente cualquier automatización basada en SWPanel.
Importancia del id_service
Toda la arquitectura API de SWPanel se basa en identificadores únicos de servicio.
El id_service permite:
- Consultar información detallada
- Automatizar operaciones
- Sincronizar plataformas externas
- Gestionar infraestructura
- Construir dashboards
- Relacionar clientes y servicios
- Ejecutar automatizaciones DevOps
Esto simplifica enormemente el diseño de integraciones complejas.
Endpoint
GET /v2026/services/{id_service}/
Autenticación
La API utiliza autenticación Bearer Token.
Cabecera requerida:
Authorization: Bearer TU_TOKEN
Los ejemplos publicados en GitHub por SW Hosting utilizan este mismo modelo de autenticación:
https://github.com/swpanel
Parámetros
Parámetro de ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
id_service |
integer/string | Identificador único del servicio |
Ejemplo CURL
curl --request GET
--url https://api.swpanel.com/v2026/services/XX012/ --header 'Authorization: Bearer TU_TOKEN'
Ejemplo de respuesta JSON
{
"ID_service": "CJ878",
"values": {
"name": "ce2022050915002.dnssw.net",
"alias": "Cloud Web 1",
"status": "ready",
"type": {
"id_service_type": "18-CLA1",
"description": "Cloud One",
"group": {
"id_type_group": "CLD",
"description": "Cloud One"
}
},
"service": {
"customize": {
"OS": {
"id": "19-W01",
"name": "Debian - Buster v.10"
},
"specifications": {
"vcores": 4,
"GB": {
"ram": 8,
"hd": 160,
"snapshot": 160000
}
}
},
"ips": [{
"ip": "185.61.126.73"
}]
},
"location": {
"id_dc": "03"
},
"created_at": "01/06/2022"
}
}
Relación con el endpoint de listado de servicios
El verdadero potencial de este endpoint aparece cuando se combina con el endpoint de listado de servicios activos:
GET /v2026/services/
Este patrón es la base de prácticamente cualquier integración empresarial o plataforma automatizada.
Flujo habitual:
1. Obtener listado de servicios
2. Recorrer cada id_service
3. Consultar detalle individual
4. Procesar información
5. Ejecutar automatizaciones
Este modelo permite construir plataformas completamente automatizadas sobre SWPanel.
Ventajas de obtener el listado de servicios vía API
La obtención automática de servicios activos aporta enormes ventajas operativas.
Inventario automático
Permite sincronizar automáticamente:
- CMDB
- ITSM
- Inventarios internos
- Plataformas de monitorización
- ERPs
- Herramientas DevOps
Cada servicio puede enriquecerse posteriormente usando el endpoint de detalle.
Dashboards personalizados
Muchas organizaciones necesitan cuadros de mando adaptados a sus operaciones.
Por ejemplo:
- Estado de Cloud
- Estado de dedicados
- Recursos cloud consumidos
- Servicios suspendidos
- Estado de renovación
- Consumo de infraestructura
- Alertas operativas
La API permite generar dashboards completamente personalizados sin depender exclusivamente del panel gráfico.
Automatización DevOps
Este endpoint resulta especialmente útil en entornos DevOps.
Permite:
- Automatizar despliegues
- Validar recursos
- Integrar Terraform
- Sincronizar Ansible
- Construir pipelines CI/CD
- Gestionar infraestructura híbrida
SWPanel ha evolucionado especialmente hacia automatización avanzada y operaciones API-first:
https://swpanel.com/es/changelog
Integración con GitHub y ejemplos oficiales
Uno de los aspectos más interesantes del ecosistema SWPanel es la disponibilidad de ejemplos públicos y repositorios oficiales en GitHub.
Repositorio principal:
https://github.com/swpanel
Repositorios destacados:
| Repositorio | Descripción |
|---|---|
| Example-Cloud-Purchase | Ejemplos de compra y modificación de Cloud Servers |
| Example-Login-Swpanel | Integración de login automático |
| Example-Domain-Lookup | Consulta de dominios mediante API |
| Example-Domain-Register | Registro automático de dominios |
| SW-WHMCS8 | Módulo oficial WHMCS |
Estos ejemplos permiten acelerar enormemente integraciones reales y automatizaciones empresariales.
Ejemplo práctico en Python
import requests
TOKEN = "TU_TOKEN"
SERVICE_ID = XX012
url = f"https://api.swpanel.com/v2026/services/{SERVICE_ID}/"
headers = {
"Authorization": f"Bearer {TOKEN}"
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
data = response.json()
print("Servicio:", data["service_name"])
print("Estado:", data["status"])
print("CPU:", data["resources"]["cpu"])
else:
print("Error:", response.status_code)
Ejemplo práctico en PHP
<?php
$token = "TU_TOKEN";
$id_service = XX012;
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.swpanel.com/v2026/services/$id_service/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer $token"
],
]);
$response = curl_exec($curl);
curl_close($curl);
$data = json_decode($response, true);
print_r($data);
Automatización completa de infraestructura
Un escenario habitual puede consistir en:
1. Consultar todos los servicios activos
2. Obtener detalle individual
3. Detectar incidencias
4. Actualizar dashboards
5. Sincronizar ERP
6. Generar alertas
7. Automatizar reporting
8. Ejecutar workflows DevOps
Todo ello sin intervención manual.
Arquitectura REST moderna
La API sigue una arquitectura REST clara y consistente.
Esto facilita:
- Integraciones rápidas
- Compatibilidad multi-lenguaje
- Escalabilidad
- Fácil mantenimiento
- Automatización avanzada
- Curva de aprendizaje reducida
La estructura basada en id_service simplifica enormemente la lógica de integración.
Buenas prácticas recomendadas
Cachear respuestas
Cuando los datos no cambian constantemente es recomendable usar cache:
- Redis
- Memcached
- Cache local
Esto mejora rendimiento y reduce carga sobre la API.
Gestión de errores HTTP
Siempre deben contemplarse errores como:
| Código | Significado |
|---|---|
| 401 | Token inválido |
| 403 | Acceso denegado |
| 404 | Servicio inexistente |
| 429 | Rate limit |
| 500 | Error interno |
Validación de estados
Nunca asumir que un servicio está operativo únicamente porque exista.
Por ejemplo:
{
"status": "active"
}
Seguridad
Recomendaciones habituales:
- Rotación periódica de tokens
- Restricción de accesos
- Registro de auditorías
- Uso exclusivo de HTTPS
Casos de uso empresariales
Plataformas SaaS
Permite sincronizar automáticamente infraestructura contratada.
Hosting reseller
Los revendedores pueden:
- Gestionar inventario
- Automatizar operaciones
- Sincronizar clientes
- Crear paneles personalizados
Equipos DevOps
Ideal para:
- Infrastructure as Code
- Pipelines CI/CD
- Automatización cloud
- Observabilidad
Integraciones ERP y CRM
Permite relacionar servicios con:
- Clientes
- Facturación
- Inventarios
- Plataformas comesrciales
Recursos técnicos y documentación
OpenAPI
https://api.swpanel.com/v2026/redoc
GitHub oficial
https://github.com/swpanel
Changelog SWPanel
https://swpanel.com/es/changelog