API de importación
Los archivos y sus columnas: Importar desde CSV. El equivalente en la CLI
es dtvsol import …. Autenticación y errores: vea la
descripción general de la API.
GET /import/template/{kind}
Sección titulada «GET /import/template/{kind}»La plantilla de un tipo (plans, networks, clients, services): {"ok": true, "kind": "clients", "csv": "mac,ip,name,…\nAA:BB:CC:00:00:05,10.21.0.5,…\n"}.
POST /import/{kind}
Sección titulada «POST /import/{kind}»Verifica el archivo y, con apply, lo importa.
| Nombre | En | Tipo | Notas |
|---|---|---|---|
kind |
path | string | plans, networks, clients o services. |
csv |
body | string | El texto del archivo. Hasta 50.000 líneas. |
apply |
body | boolean | Importar. Sin él no cambia nada. |
skip_errors |
body | boolean | Con apply: importa las líneas correctas. Sin él, una sola línea con error hace que no se importe nada. |
curl -s -X POST "http://ROUTER-IP:8880/import/clients" -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" --data-binary @- <<EOF{"csv": "mac,ip,name\nAA:BB:CC:00:00:05,10.21.0.5,Juan Perez\n", "apply": false}EOF{ "ok": true, "kind": "clients", "dry_run": true, "lines": 2, "good": 1, "clean": false, "errors": [{"line": 3, "error": "IP 10.99.99.9 does not belong to any interface on this server"}], "count": 1, "done": ["AA:BB:CC:00:00:05"], "note": null}line es la línea del archivo (el encabezado es la línea 1). dry_run: false cuando importó;
entonces done enumera lo que se importó (los primeros 500; count, todos). 400 para un
encabezado con una columna desconocida o faltante.
Este sitio fue escrito con ayuda de IA y revisado por nuestro equipo.