{
    "perfil": "comercial/1.0",
    "max_filas": 10,
    "timeout_segundos": 3,
    "herramientas": {
        "buscar_producto": {
            "descripcion": "Productos cuyo nombre o código contiene el texto.",
            "parametros": {
                "texto": {
                    "tipo": "texto",
                    "obligatorio": true,
                    "min": 2,
                    "max": 100
                }
            },
            "unica": false,
            "campos": {
                "sku": "texto",
                "nombre": "texto",
                "unidad": "texto",
                "stock": "numero",
                "precio": "numero?",
                "moneda": "moneda"
            }
        },
        "detalle_producto": {
            "descripcion": "Un producto por su código, con almacén, categoría y último ingreso.",
            "parametros": {
                "sku": {
                    "tipo": "texto",
                    "obligatorio": true,
                    "min": 1,
                    "max": 60
                }
            },
            "unica": true,
            "campos": {
                "sku": "texto",
                "nombre": "texto",
                "unidad": "texto",
                "stock": "numero",
                "precio": "numero?",
                "moneda": "moneda",
                "almacen": "texto?",
                "categoria": "texto?",
                "ultimo_ingreso": "fecha?"
            }
        },
        "buscar_cliente": {
            "descripcion": "Clientes por nombre, RUC o DNI.",
            "parametros": {
                "texto": {
                    "tipo": "texto",
                    "obligatorio": true,
                    "min": 2,
                    "max": 100
                }
            },
            "unica": false,
            "campos": {
                "id": "texto",
                "nombre": "texto",
                "documento": "texto?",
                "telefono": "texto?"
            }
        },
        "estado_cuenta": {
            "descripcion": "Deuda de un cliente y sus documentos pendientes.",
            "parametros": {
                "id_cliente": {
                    "tipo": "texto",
                    "obligatorio": true,
                    "min": 1,
                    "max": 60
                }
            },
            "unica": true,
            "campos": {
                "deuda_total": "numero",
                "vencido": "numero",
                "moneda": "moneda",
                "documentos": "lista:documento_pendiente"
            }
        },
        "pedidos_cliente": {
            "descripcion": "Pedidos de un cliente, del más reciente al más antiguo; opcionalmente por estado.",
            "parametros": {
                "id_cliente": {
                    "tipo": "texto",
                    "obligatorio": true,
                    "min": 1,
                    "max": 60
                },
                "estado": {
                    "tipo": "texto",
                    "obligatorio": false,
                    "min": 1,
                    "max": 40
                }
            },
            "unica": false,
            "campos": {
                "numero": "texto",
                "fecha": "fecha",
                "total": "numero",
                "moneda": "moneda",
                "estado": "texto"
            }
        },
        "movimientos_producto": {
            "descripcion": "Entradas y salidas recientes de un producto, de la más reciente a la más antigua.",
            "parametros": {
                "sku": {
                    "tipo": "texto",
                    "obligatorio": true,
                    "min": 1,
                    "max": 60
                },
                "dias": {
                    "tipo": "entero",
                    "obligatorio": false,
                    "min": 1,
                    "max": 365,
                    "defecto": 30
                }
            },
            "unica": false,
            "campos": {
                "fecha": "fecha",
                "tipo": "enum:entrada|salida",
                "cantidad": "numero",
                "documento": "texto?"
            }
        }
    },
    "grupos": {
        "documento_pendiente": {
            "numero": "texto",
            "fecha_emision": "fecha",
            "fecha_vencimiento": "fecha?",
            "saldo": "numero"
        }
    },
    "errores": {
        "NO_ENCONTRADO": 200,
        "AMBIGUO": 200,
        "NO_AUTORIZADO": 200,
        "NO_IMPLEMENTADO": 200,
        "PARAMETRO_INVALIDO": 400,
        "FIRMA_INVALIDA": 401,
        "ERROR_INTERNO": 500
    }
}
