Referencia de API

API de solo lectura para integrar NEXTISP PRO con sistemas externos (portales de autogestion, IVR, bots de WhatsApp propios, etc.). Todas las respuestas son JSON. La URL base es:

Base URL
https://nextisp.pro/api/v1

Cada token de API queda ligado a una sola empresa (multi-tenant): nunca puede leer datos de otra cuenta que use la plataforma, sin importar que parametros de busqueda le mandes.

Autenticacion

Genera un token desde Usuarios → Tokens de API en tu cuenta. Mandalo en el header Authorization de cada solicitud, con el prefijo Bearer:

Header
Authorization: Bearer <tu_token>

Si el header falta, esta mal formado, o el token es invalido/expirado, todas las rutas devuelven 401:

JSON
{ "error": "Invalid or expired token" }

Errores

Todos los errores usan codigos HTTP estandar con un cuerpo JSON { "error": "..." }:

CodigoSignificado
400Faltan parametros requeridos, o alguno tiene un formato invalido.
401Falta el header Authorization, o el token es invalido/expirado.
404No se encontro ningun cliente con esos parametros de busqueda (dentro de tu empresa).
GET/api/v1/clients/status

Consultar estado de un cliente

Datos del cliente y su servicio principal: estado (activo/suspendido/cortado), IP, plan contratado, y si tiene una factura vencida. Util para IVRs y bots que necesitan resolver 'esta este numero/IP al dia' en una sola llamada.

Parametros

ParametroTipoRequeridoDescripcion
documentstringUno de estos 6Cedula/RUC del cliente.
idintegerUno de estos 6ID interno del cliente.
emailstringUno de estos 6Email del cliente.
phonestringUno de estos 6Telefono del cliente.
ipv4stringUno de estos 6IP v4 asignada a alguno de sus servicios.
ipv6stringUno de estos 6IP v6 asignada a alguno de sus servicios.

Solicitud de ejemplo

cURL
curl "https://nextisp.pro/api/v1/clients/status?document=1710010002" \
  -H "Authorization: Bearer <tu_token>"

Respuesta 200

JSON
{
  "found": true,
  "client": {
    "id": 128,
    "document": "1710010002",
    "name": "Juan Perez",
    "email": "juan@example.com",
    "phone": "0991234567",
    "address": "Av. Siempre Viva 123",
    "zone": "Norte",
    "installDate": "2025-03-14T00:00:00.000Z"
  },
  "service": {
    "status": {
      "code": 1,
      "label": "ACTIVO",
      "description": "Servicio activo y funcionando"
    },
    "ipv4": "10.20.30.40",
    "ipv6": null,
    "plan": {
      "name": "PREMIUM 600 MEGAS",
      "downloadMbps": 600,
      "uploadMbps": 300
    },
    "routerId": 3
  },
  "billing": {
    "hasOverdue": false,
    "pendingInvoice": null
  },
  "meta": {
    "queriedAt": "2026-08-16T15:30:00.000Z",
    "tokenName": "Integracion IVR"
  }
}

Respuesta 404 (no encontrado)

JSON
{ "found": false, "error": "Client not found" }
GET/api/v1/clients/invoices

Consultar facturas de un cliente

Historial de facturas y pagos del cliente (hasta 100, mas recientes primero), mas su saldo pendiente y saldo a favor (billetera).

Parametros

ParametroTipoRequeridoDescripcion
documentstringUno de estos 3Cedula/RUC del cliente.
idintegerUno de estos 3ID interno del cliente.
emailstringUno de estos 3Email del cliente.
statusstringOpcionalFiltra por estado: pending, overdue, partial, paid.

Solicitud de ejemplo

cURL
curl "https://nextisp.pro/api/v1/clients/invoices?document=1710010002&status=overdue" \
  -H "Authorization: Bearer <tu_token>"

Respuesta 200

JSON
{
  "found": true,
  "client": { "id": 128, "document": "1710010002", "name": "Juan Perez" },
  "balance": {
    "pendingAmount": 25.00,
    "walletBalance": 0
  },
  "invoices": [
    {
      "id": 4501,
      "period": "Agosto 2026",
      "amount": 25.00,
      "dueDate": "2026-08-05T00:00:00.000Z",
      "status": "overdue",
      "paidDate": null,
      "payments": []
    }
  ],
  "meta": {
    "queriedAt": "2026-08-16T15:30:00.000Z",
    "tokenName": "Integracion IVR"
  }
}

Respuesta 404 (no encontrado)

JSON
{ "found": false, "error": "Client not found" }