{
    "perfil": "isp/1.0",
    "max_filas": 10,
    "timeout_segundos": 3,
    "herramientas": {
        "buscar_abonado": {
            "descripcion": "Abonados por nombre, DNI o RUC, teléfono, código, IP o usuario PPPoE.",
            "parametros": {
                "texto": {
                    "tipo": "texto",
                    "obligatorio": true,
                    "min": 2,
                    "max": 100
                }
            },
            "unica": false,
            "campos": {
                "id": "texto",
                "nombre": "texto",
                "documento": "texto?",
                "telefono": "texto?",
                "direccion": "texto?",
                "estado": "texto?"
            }
        },
        "ficha_servicio": {
            "descripcion": "Servicios de un abonado: plan, tarifa, IP, usuario PPPoE y punto de acceso (router, nodo, caja, puerto, ONU).",
            "parametros": {
                "id_abonado": {
                    "tipo": "texto",
                    "obligatorio": true,
                    "min": 1,
                    "max": 60
                }
            },
            "unica": false,
            "campos": {
                "servicio": "texto",
                "tipo": "texto?",
                "plan": "texto?",
                "tarifa": "numero?",
                "moneda": "moneda",
                "ip": "texto?",
                "usuario_pppoe": "texto?",
                "router": "texto?",
                "nodo": "texto?",
                "caja": "texto?",
                "puerto": "entero?",
                "onu": "texto?"
            }
        },
        "recibos_pendientes": {
            "descripcion": "Deuda de un abonado y sus recibos pendientes, del más antiguo al más reciente.",
            "parametros": {
                "id_abonado": {
                    "tipo": "texto",
                    "obligatorio": true,
                    "min": 1,
                    "max": 60
                }
            },
            "unica": true,
            "campos": {
                "deuda_total": "numero",
                "moneda": "moneda",
                "recibos": "lista:recibo_pendiente"
            }
        },
        "pagos_abonado": {
            "descripcion": "Pagos de un abonado, del más reciente al más antiguo.",
            "parametros": {
                "id_abonado": {
                    "tipo": "texto",
                    "obligatorio": true,
                    "min": 1,
                    "max": 60
                },
                "dias": {
                    "tipo": "entero",
                    "obligatorio": false,
                    "min": 1,
                    "max": 730,
                    "defecto": 90
                }
            },
            "unica": false,
            "campos": {
                "fecha": "fecha",
                "concepto": "texto?",
                "importe": "numero",
                "moneda": "moneda",
                "medio": "texto?",
                "operacion": "texto?"
            }
        },
        "averias_abonado": {
            "descripcion": "Averías de un abonado, de la más reciente a la más antigua; opcionalmente por estado.",
            "parametros": {
                "id_abonado": {
                    "tipo": "texto",
                    "obligatorio": true,
                    "min": 1,
                    "max": 60
                },
                "estado": {
                    "tipo": "texto",
                    "obligatorio": false,
                    "min": 1,
                    "max": 40
                }
            },
            "unica": false,
            "campos": {
                "numero": "texto",
                "fecha": "fecha",
                "motivo": "texto?",
                "estado": "texto?",
                "descripcion": "texto",
                "solucion": "texto?",
                "fecha_solucion": "fecha?",
                "tecnico": "texto?"
            }
        },
        "equipos_abonado": {
            "descripcion": "Equipos asignados a un abonado (ONU, router, antena…).",
            "parametros": {
                "id_abonado": {
                    "tipo": "texto",
                    "obligatorio": true,
                    "min": 1,
                    "max": 60
                }
            },
            "unica": false,
            "campos": {
                "modelo": "texto",
                "serie": "texto",
                "estado": "texto?",
                "registrado": "fecha?"
            }
        }
    },
    "grupos": {
        "recibo_pendiente": {
            "periodo": "texto",
            "plan": "texto?",
            "importe": "numero",
            "descuento": "numero",
            "saldo": "numero",
            "emitido": "fecha?"
        }
    },
    "errores": {
        "NO_ENCONTRADO": 200,
        "AMBIGUO": 200,
        "NO_AUTORIZADO": 200,
        "NO_IMPLEMENTADO": 200,
        "PARAMETRO_INVALIDO": 400,
        "FIRMA_INVALIDA": 401,
        "ERROR_INTERNO": 500
    }
}
