API de planes
Un plan es una velocidad de bajada/subida con nombre, expresada en Mbit/s. Los clientes y los servicios hacen referencia a un plan por su nombre; el router limita su tráfico a esa velocidad, y cada OLT registrada mantiene perfiles y tablas de velocidad correspondientes a ese plan (consulte la API de OLT).
La URL base, la autenticación (X-API-Key), el formato de errores y la API de acciones se describen en la
descripción general de la API.
Cuando se crea, modifica o elimina un plan, el router sincroniza los perfiles de cada OLT registrada
en segundo plano (una OLT a la vez, el mismo trabajo que POST /olt/sync). La respuesta no
espera a que termine; su campo olt indica cuántas OLT se están actualizando, o es null cuando no hay
ninguna OLT registrada.
Lectura
Sección titulada «Lectura»GET /plans
Sección titulada «GET /plans»Lista los planes, cada uno con la cantidad de clientes que lo usan. Cualquier método distinto de POST y DELETE sobre
/plans responde la misma lista.
curl -H "X-API-Key: YOUR_API_KEY" "http://ROUTER-IP:8880/plans"{ "count": 2, "plans": [ { "name": "plan_100_50", "down_mbps": 100, "up_mbps": 50, "comment": "Home 100", "created": "2026-09-01 10:00:00", "clients": 12 }, { "name": "plan_300_150", "down_mbps": 300, "up_mbps": 150, "comment": "", "created": "2026-09-01 10:05:00", "clients": 0 } ]}El conteo clients abarca únicamente los clientes basados en MAC.
Modificación
Sección titulada «Modificación»POST /plans
Sección titulada «POST /plans»Crea un plan nuevo (201). Si ya existe un plan con ese nombre, se reemplazan sus down_mbps, up_mbps
y comment (200) y cada cliente con limitación de velocidad se ajusta de inmediato a las nuevas velocidades.
| Nombre | En | Tipo | Notas |
|---|---|---|---|
name |
body | string | Obligatorio. Letras, dígitos, _ y -, de 1 a 40 caracteres. |
down_mbps |
body | integer | Obligatorio. 1–100000. |
up_mbps |
body | integer | Obligatorio. 1–100000. |
comment |
body | string | Texto libre opcional. |
curl -X POST -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" \ -d '{"name": "plan_100_50", "down_mbps": 100, "up_mbps": 50, "comment": "Home 100"}' \ "http://ROUTER-IP:8880/plans"{ "ok": true, "code": 201, "message": "Plan created", "plan": { "name": "plan_100_50", "down_mbps": 100, "up_mbps": 50, "comment": "Home 100", "created": "2026-09-28 12:00:00" }, "olt": "profiles are being created on 1 OLT(s) in the background"}Una actualización responde "code": 200, "message": "Plan updated" y "olt": "profiles are being updated on …". Errores: 400 para un nombre no válido o velocidades fuera de rango.
DELETE /plans/{name}
Sección titulada «DELETE /plans/{name}»Se rechaza con 409 mientras algún cliente siga usando el plan. El nombre también puede enviarse en el cuerpo
como name (en ese caso también funciona DELETE /plans).
| Nombre | En | Tipo | Notas |
|---|---|---|---|
name |
path | string | El plan que se eliminará. |
name |
body | string | Alternativa a la ruta; tiene prioridad cuando está presente. |
curl -X DELETE -H "X-API-Key: YOUR_API_KEY" "http://ROUTER-IP:8880/plans/plan_300_150"{ "ok": true, "code": 200, "message": "Plan deleted", "olt": "profiles are being removed on 1 OLT(s) in the background"}Errores: 404 cuando ningún plan tiene ese nombre; 409 cuando hay clientes que lo usan:
{ "ok": false, "code": 409, "error": "Plan 'plan_100_50' is used by 12 client(s); reassign them first", "clients": ["AA:BB:CC:DD:EE:FF", "..."]}Para asignar un plan a un cliente, use POST /plan de la API de clientes; para
cambiar el plan de un servicio, use la API de servicios.
Equivalentes en la API de acciones
Sección titulada «Equivalentes en la API de acciones»| Acción | Parámetros de consulta | Equivale a |
|---|---|---|
action=plan-list |
— | GET /plans |
action=plan-add |
name, down_mbps, up_mbps, comment |
POST /plans |
action=plan-del |
name |
DELETE /plans/{name} |
Este sitio fue escrito con ayuda de IA y revisado por nuestro equipo.