{
"type": "object",
"properties": {},
"required": []
}{
"type": "object",
"properties": {
"category": {
"type": "string",
"description": "Filtrar por categoría: \"remoto\" (Soporte Remoto), \"taller\" (Taller Presencial en Rawson), \"desarrollo\" (Software y Web) o \"todos\" para devolver la totalidad de los servicios.",
"enum": [
"remoto",
"taller",
"desarrollo",
"todos"
]
}
},
"required": []
}{
"type": "object",
"properties": {},
"required": []
}{
"type": "object",
"properties": {},
"required": []
}{
"type": "object",
"properties": {
"serviceId": {
"type": "string",
"enum": [
"SR-01",
"SR-02",
"SR-03",
"SR-04",
"ST-01",
"ST-02",
"ST-03",
"ST-04",
"ST-05",
"ST-06",
"SD-01",
"SD-02",
"SD-03"
],
"description": "Identificador único del servicio (ej: \"SR-01\", \"ST-02\", \"ST-06\")."
},
"currency": {
"type": "string",
"enum": [
"ARS",
"USD"
],
"description": "La moneda deseada para el cálculo (\"ARS\" o \"USD\")."
}
},
"required": [
"serviceId",
"currency"
]
}{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 50,
"description": "Nombre o apelativo del cliente."
},
"problemDescription": {
"type": "string",
"minLength": 10,
"maxLength": 1000,
"description": "Descripción detallada del fallo detectado o consulta técnica."
},
"clientType": {
"type": "string",
"enum": [
"particular",
"empresa"
],
"description": "Condición comercial: \"particular\" o \"empresa\"."
},
"serviceId": {
"type": "string",
"enum": [
"SR-01",
"SR-02",
"SR-03",
"SR-04",
"ST-01",
"ST-02",
"ST-03",
"ST-04",
"ST-05",
"ST-06",
"SD-01",
"SD-02",
"SD-03"
],
"description": "Identificador opcional del servicio relacionado (ej: \"SR-01\", \"ST-02\")."
}
},
"required": [
"name",
"problemDescription",
"clientType"
]
}{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 50,
"description": "Nombre o apelativo del cliente."
},
"contactMethod": {
"type": "string",
"enum": [
"whatsapp",
"email"
],
"description": "Método de contacto de preferencia."
},
"phone": {
"type": "string",
"minLength": 6,
"maxLength": 15,
"description": "Número de teléfono de WhatsApp (obligatorio si contactMethod es \"whatsapp\"). Debe contener solo dígitos sin espacios ni guiones."
},
"email": {
"type": "string",
"format": "email",
"description": "Correo electrónico de contacto (obligatorio si contactMethod es \"email\")."
},
"problemDescription": {
"type": "string",
"minLength": 10,
"maxLength": 1000,
"description": "Descripción detallada del fallo técnico o problema detectado."
},
"fiscalType": {
"type": "string",
"enum": [
"particular",
"empresa"
],
"description": "Condición fiscal o comercial del cliente (\"particular\" o \"empresa\")."
},
"serviceIds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"SR-01",
"SR-02",
"SR-03",
"SR-04",
"ST-01",
"ST-02",
"ST-03",
"ST-04",
"ST-05",
"ST-06",
"SD-01",
"SD-02",
"SD-03"
]
},
"minItems": 1,
"description": "Array con los identificadores únicos de los servicios seleccionados (ej: [\"SR-01\", \"ST-02\"])."
},
"currency": {
"type": "string",
"enum": [
"ARS",
"USD"
],
"description": "Moneda preferida para cotizar el total (\"ARS\" o \"USD\")."
},
"acceptTerms": {
"type": "boolean",
"enum": [
true
],
"description": "Debe ser true para aceptar los términos y condiciones de Nektronic."
}
},
"required": [
"name",
"contactMethod",
"problemDescription",
"fiscalType",
"serviceIds",
"currency",
"acceptTerms"
],
"anyOf": [
{
"properties": {
"contactMethod": {
"const": "whatsapp"
}
},
"required": [
"phone"
]
},
{
"properties": {
"contactMethod": {
"const": "email"
}
},
"required": [
"email"
]
}
]
}{
"type": "object",
"properties": {}
}{
"type": "object",
"properties": {
"platform": {
"type": "string",
"enum": [
"x",
"facebook",
"linkedin",
"instagram",
"reddit",
"whatsapp"
],
"description": "Plataforma de red social específica para compartir. Si se omite, retorna la lista de todas las plataformas soportadas."
}
}
}