search_directory
Busca un servicio en la guia; lo que buscas se guarda en privado para mejorar el motor (que se guarda y por cuanto tiempo: /privacy)
GET https://emporium.ultravioletadao.xyz/api/directory
Bloque: Planificación de intenciones
Por dónde se llega
| API REST | Solo lectura | GET https://emporium.ultravioletadao.xyz/api/directory |
|---|---|---|
| MCP | Solo lectura | emporium_search_service POST https://emporium.ultravioletadao.xyz/mcpemporium_search_service POST https://emporium.ultravioletadao.xyz/counter/mcp |
| CLI | Solo lectura | uvd search |
| SDK de Python | Muy pronto | |
| SDK de TypeScript | Muy pronto | |
| SDK de Rust | Muy pronto |
Vivo: se usa hoy, para leer y para escribir. Solo lectura: hoy se lee y no se escribe. Muy pronto: todavía no está.
Parámetros
| Nombre | Dónde | Requerido | Esquema | Qué es |
|---|---|---|---|---|
categoria | consulta | no | string | |
ciudad | consulta | no | string | |
idioma | consulta | no | {"$ref":"#/components/schemas/IdiomaDeLaConsulta"} | |
limite | consulta | no | {"format":"uint8","maximum":20,"minimum":1,"type":"integer"} | |
q | consulta | sí | {"maxLength":200,"minLength":2,"type":"string"} | |
red | consulta | no | string | |
verbose | consulta | no | boolean |
El cuerpo de la petición
No lleva cuerpo.
Respuestas
200
Correcto
application/json
{
"$ref": "#/components/schemas/RespuestaDeLaBusqueda"
}
Cualquier otro status
Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada
application/json
{
"$ref": "#/components/schemas/SobreDeError"
}
Esquemas
Los que nombra esta operación, tal cual están en components.schemas del contrato.
BloqueDeAutopistas
{
"properties": {
"como_se_llaman": {
"type": "string"
},
"mostrador_url": {
"type": "string"
},
"necesidades": {
"items": {
"$ref": "#/components/schemas/NecesidadEnLaRespuesta"
},
"type": "array"
}
},
"required": [
"como_se_llaman",
"mostrador_url",
"necesidades"
],
"type": "object"
}
BloqueDeLaRaiz
{
"properties": {
"como_se_lee": {
"type": "string"
},
"frase": {
"type": "string"
},
"piernas": {
"items": {
"$ref": "#/components/schemas/PiernaEnLaRespuesta"
},
"type": "array"
},
"preguntas": {
"items": {
"type": "string"
},
"type": "array"
},
"raiz": {
"type": "string"
}
},
"required": [
"como_se_lee",
"frase",
"piernas",
"preguntas",
"raiz"
],
"type": "object"
}
Candidato
{
"anyOf": [
{
"$ref": "#/components/schemas/CandidatoTenant"
},
{
"$ref": "#/components/schemas/CandidatoPrestador"
},
{
"$ref": "#/components/schemas/CandidatoTercero"
}
]
}
CandidatoPrestador
{
"properties": {
"aviso_datos_del_prestador": {
"type": "string"
},
"declarado_por_el_prestador": {
"$ref": "#/components/schemas/DeclaradoPorElPrestador"
},
"dimensiones": {
"items": {
"$ref": "#/components/schemas/Dimension"
},
"type": "array"
},
"faltan": {
"items": {
"$ref": "#/components/schemas/Faltante"
},
"type": "array"
},
"prestador_id": {
"type": "string"
},
"procedencia": {
"$ref": "#/components/schemas/ProcedenciaDelCandidato"
},
"prueba": {
"$ref": "#/components/schemas/PruebaEnLaRespuesta"
},
"puntaje": {
"format": "double",
"type": "number"
},
"servicio_id": {
"type": "string"
}
},
"required": [
"aviso_datos_del_prestador",
"declarado_por_el_prestador",
"dimensiones",
"faltan",
"prestador_id",
"procedencia",
"prueba",
"puntaje",
"servicio_id"
],
"type": "object"
}
CandidatoTenant
{
"properties": {
"aviso_datos_del_negocio": {
"type": "string"
},
"declarado_por_el_negocio": {
"$ref": "#/components/schemas/DeclaradoPorElNegocio"
},
"dimensiones": {
"items": {
"$ref": "#/components/schemas/Dimension"
},
"type": "array"
},
"faltan": {
"items": {
"$ref": "#/components/schemas/Faltante"
},
"type": "array"
},
"procedencia": {
"$ref": "#/components/schemas/ProcedenciaDelCandidato"
},
"puntaje": {
"format": "double",
"type": "number"
},
"slug": {
"type": "string"
},
"url_ficha": {
"type": "string"
},
"url_mcp": {
"type": "string"
}
},
"required": [
"aviso_datos_del_negocio",
"declarado_por_el_negocio",
"dimensiones",
"faltan",
"procedencia",
"puntaje",
"slug",
"url_ficha",
"url_mcp"
],
"type": "object"
}
CandidatoTercero
{
"properties": {
"admision": {
"type": "string"
},
"declarado_por_el_vendedor": {
"$ref": "#/components/schemas/DeclaradoPorElVendedor"
},
"dimensiones": {
"items": {
"$ref": "#/components/schemas/Dimension"
},
"type": "array"
},
"evidencia": {
"$ref": "#/components/schemas/Evidencia"
},
"faltan": {
"items": {
"$ref": "#/components/schemas/Faltante"
},
"type": "array"
},
"host": {
"type": "string"
},
"procedencia": {
"$ref": "#/components/schemas/ProcedenciaDelCandidato"
},
"puntaje": {
"format": "double",
"type": "number"
},
"rotulo": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"admision",
"declarado_por_el_vendedor",
"dimensiones",
"evidencia",
"faltan",
"host",
"procedencia",
"puntaje",
"rotulo",
"url"
],
"type": "object"
}
CodigoDeError
{
"enum": [
"dominio_invalido",
"slug_ocupado",
"tenant_no_encontrado",
"tenant_no_publicado",
"tenant_suspendido",
"clave_invalida",
"estado_no_permite",
"ventana_no_cumplida",
"metodo_invalido",
"manifiesto_invalido",
"categoria_prohibida",
"terminos_no_aceptados",
"canal_no_confirmado",
"version_de_terminos_desconocida",
"pedido_invalido",
"faltan_datos",
"respuesta_invalida",
"firma_invalida",
"enlace_vencido",
"enlace_ya_usado",
"demasiadas_peticiones",
"parametro_invalido",
"metodo_no_permitido",
"firma_no_configurada",
"correo_no_configurado",
"terminos_no_configurados",
"casa_no_configurada",
"almacen_no_disponible",
"error_interno",
"paybox_no_configurado",
"boveda_no_disponible",
"sesion_requerida",
"estado_oauth_invalido",
"consentimiento_rechazado",
"concesion_insegura",
"paybox_no_responde",
"paybox_rechazo",
"sin_vinculo",
"vinculo_revocado",
"vinculo_vencido",
"reconexion_requerida",
"vinculo_ajeno",
"renovacion_en_curso"
],
"type": "string"
}
ConsultaRespondida
{
"properties": {
"categoria": {
"type": [
"string",
"null"
]
},
"ciudad": {
"type": [
"string",
"null"
]
},
"limite": {
"format": "uint8",
"maximum": 255,
"minimum": 0,
"type": "integer"
},
"q": {
"type": "string"
},
"red": {
"type": [
"string",
"null"
]
}
},
"required": [
"categoria",
"ciudad",
"limite",
"q",
"red"
],
"type": "object"
}
CuerpoDelError
{
"additionalProperties": false,
"properties": {
"codigo": {
"$ref": "#/components/schemas/CodigoDeError"
},
"detalles": {
"items": {
"$ref": "#/components/schemas/Detalle"
},
"type": "array"
},
"mensaje": {
"type": "string"
},
"peticion_id": {
"type": "string"
}
},
"required": [
"codigo",
"detalles",
"mensaje",
"peticion_id"
],
"type": "object"
}
DeclaradoPorElNegocio
{
"properties": {
"nombre": {
"type": [
"string",
"null"
]
},
"oferta": true
},
"required": [
"nombre",
"oferta"
],
"type": "object"
}
DeclaradoPorElPrestador
{
"properties": {
"oferta": true
},
"required": [
"oferta"
],
"type": "object"
}
DeclaradoPorElVendedor
{
"properties": {
"categoria": {
"type": [
"string",
"null"
]
},
"descripcion": {
"type": [
"string",
"null"
]
},
"etiquetas": {
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"categoria",
"descripcion",
"etiquetas"
],
"type": "object"
}
Detalle
{
"additionalProperties": false,
"properties": {
"campo": {
"type": "string"
},
"problema": {
"type": "string"
}
},
"required": [
"campo",
"problema"
],
"type": "object"
}
Dimension
{
"properties": {
"demostrado": {
"type": "boolean"
},
"nombre": {
"type": "string"
},
"peso": {
"format": "double",
"type": "number"
},
"por_que": {
"type": "string"
},
"puntaje": {
"format": "double",
"type": "number"
}
},
"required": [
"demostrado",
"nombre",
"peso",
"por_que",
"puntaje"
],
"type": "object"
}
EstadoVivo
{
"enum": [
"alive",
"auth_gated"
],
"type": "string"
}
Evidencia
{
"properties": {
"liquido": {
"$ref": "#/components/schemas/Liquido"
},
"precio": {
"anyOf": [
{
"$ref": "#/components/schemas/PrecioLeido"
},
{
"type": "null"
}
]
},
"reputacion": {
"$ref": "#/components/schemas/ReputacionDelTercero"
},
"sin_precio_por": {
"anyOf": [
{
"$ref": "#/components/schemas/MotivoSinPrecio"
},
{
"type": "null"
}
]
},
"sin_vivo_por": {
"anyOf": [
{
"$ref": "#/components/schemas/MotivoSinVivo"
},
{
"type": "null"
}
]
},
"vivo": {
"anyOf": [
{
"$ref": "#/components/schemas/Vivo"
},
{
"type": "null"
}
]
}
},
"required": [
"liquido",
"precio",
"reputacion",
"vivo"
],
"type": "object"
}
Faltante
{
"properties": {
"como_se_consigue": {
"type": "string"
},
"por_que_importa": {
"type": "string"
},
"que": {
"type": "string"
}
},
"required": [
"como_se_consigue",
"por_que_importa",
"que"
],
"type": "object"
}
HuecoPlan
{
"properties": {
"por_que_no_hay": {
"$ref": "#/components/schemas/PorQueNoHay"
},
"prospecto": {
"type": "string"
},
"que_se_pidio": {
"type": "string"
}
},
"required": [
"por_que_no_hay",
"prospecto",
"que_se_pidio"
],
"type": "object"
}
IdiomaDeLaConsulta
{
"enum": [
"es",
"en"
],
"type": "string"
}
Liquido
{
"oneOf": [
{
"properties": {
"estado": {
"const": "sin_evidencia_de_liquidacion",
"type": "string"
}
},
"required": [
"estado"
],
"type": "object"
},
{
"properties": {
"estado": {
"const": "evidencia_de_liquidacion_sin_leer",
"type": "string"
}
},
"required": [
"estado"
],
"type": "object"
}
]
}
MedioLeido
{
"properties": {
"activo": {
"type": "string"
},
"decimales": {
"format": "uint32",
"minimum": 0,
"type": "integer"
},
"monto_atomico": {
"type": "string"
},
"red": {
"type": "string"
}
},
"required": [
"activo",
"decimales",
"monto_atomico",
"red"
],
"type": "object"
}
MotivoSinPrecio
{
"oneOf": [
{
"enum": [
"conflict",
"unknown",
"stale"
],
"type": "string"
},
{
"const": "sin_frescura",
"type": "string"
},
{
"const": "otra",
"type": "string"
},
{
"const": "sin_fecha",
"type": "string"
},
{
"const": "sin_medios",
"type": "string"
},
{
"const": "esquema_upto",
"type": "string"
}
]
}
MotivoSinVivo
{
"oneOf": [
{
"const": "sin_salud",
"type": "string"
},
{
"const": "otra_salud",
"type": "string"
},
{
"const": "sin_fecha",
"type": "string"
},
{
"const": "sondeo_en_el_futuro",
"type": "string"
}
]
}
MotorDeLaRespuesta
{
"properties": {
"paarce": {
"type": "string"
},
"politica": {
"type": "string"
}
},
"required": [
"paarce",
"politica"
],
"type": "object"
}
NecesidadEnLaRespuesta
{
"properties": {
"necesidad": {
"type": "string"
},
"que_resuelve": {
"type": "string"
},
"tools": {
"items": {
"$ref": "#/components/schemas/PiezaEnLaRespuesta"
},
"type": "array"
}
},
"required": [
"necesidad",
"que_resuelve",
"tools"
],
"type": "object"
}
NivelDePrueba
{
"oneOf": [
{
"const": "con_venta_externa",
"type": "string"
},
{
"const": "sin_venta_externa_demostrada",
"type": "string"
}
]
}
PiernaEnLaRespuesta
{
"properties": {
"candidatos": {
"items": {
"$ref": "#/components/schemas/Candidato"
},
"type": "array"
},
"nombre": {
"type": "string"
},
"numero": {
"format": "uint32",
"minimum": 0,
"type": "integer"
},
"para_una_persona": {
"anyOf": [
{
"$ref": "#/components/schemas/PiezaEnLaRespuesta"
},
{
"type": "null"
}
]
},
"se_busca": {
"type": "boolean"
}
},
"required": [
"candidatos",
"nombre",
"numero",
"se_busca"
],
"type": "object"
}
PiezaEnLaRespuesta
{
"properties": {
"forma": {
"type": "string"
},
"nombre": {
"type": "string"
},
"superficies": {
"items": {
"type": "string"
},
"type": "array"
},
"tramo": {
"type": "string"
}
},
"required": [
"forma",
"nombre",
"superficies",
"tramo"
],
"type": "object"
}
PorQueNoHay
{
"enum": [
"INPUT_MISSING",
"CATALOG_COVERAGE_UNKNOWN",
"DISCOVERY_MISMATCH",
"ADAPTER_GAP",
"AVAILABILITY_GAP",
"CONSTRAINT_CONFLICT",
"CAPABILITY_GAP_CONFIRMED_IN_SCOPE",
"OUTCOME_GAP",
"sin_clasificar",
"fuera_de_alcance",
"sin_oferta",
"sin_superficie",
"sin_credencial"
],
"type": "string"
}
PrecioLeido
{
"properties": {
"leido_el": {
"type": "string"
},
"medios": {
"items": {
"$ref": "#/components/schemas/MedioLeido"
},
"type": "array"
},
"rotulo": {
"type": "string"
}
},
"required": [
"leido_el",
"medios",
"rotulo"
],
"type": "object"
}
ProcedenciaDelCandidato
{
"enum": [
"tenant",
"prestador",
"tercero"
],
"type": "string"
}
PruebaEnLaRespuesta
{
"properties": {
"compradores_distintos": {
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"compradores_externos": {
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"marca": {
"type": "string"
},
"nivel": {
"$ref": "#/components/schemas/NivelDePrueba"
},
"reputacion": {
"format": "double",
"type": [
"number",
"null"
]
},
"trabajos_completados": {
"format": "uint64",
"minimum": 0,
"type": "integer"
}
},
"required": [
"compradores_distintos",
"compradores_externos",
"marca",
"nivel",
"reputacion",
"trabajos_completados"
],
"type": "object"
}
ReputacionDelTercero
{
"oneOf": [
{
"properties": {
"estado": {
"const": "no_disponible_en_emporium",
"type": "string"
}
},
"required": [
"estado"
],
"type": "object"
}
]
}
RespuestaDeLaBusqueda
{
"properties": {
"autopistas": {
"anyOf": [
{
"$ref": "#/components/schemas/BloqueDeAutopistas"
},
{
"type": "null"
}
]
},
"aviso": {
"type": "string"
},
"candidatos": {
"items": {
"$ref": "#/components/schemas/Candidato"
},
"type": "array"
},
"consulta": {
"$ref": "#/components/schemas/ConsultaRespondida"
},
"hueco": {
"anyOf": [
{
"$ref": "#/components/schemas/HuecoPlan"
},
{
"type": "null"
}
]
},
"motor": {
"$ref": "#/components/schemas/MotorDeLaRespuesta"
},
"raiz": {
"anyOf": [
{
"$ref": "#/components/schemas/BloqueDeLaRaiz"
},
{
"type": "null"
}
]
}
},
"required": [
"autopistas",
"aviso",
"candidatos",
"consulta",
"hueco",
"motor",
"raiz"
],
"type": "object"
}
SobreDeError
{
"additionalProperties": false,
"properties": {
"error": {
"$ref": "#/components/schemas/CuerpoDelError"
}
},
"required": [
"error"
],
"type": "object"
}
Vivo
{
"properties": {
"estado": {
"$ref": "#/components/schemas/EstadoVivo"
},
"latencia_ms": {
"format": "uint64",
"minimum": 0,
"type": [
"integer",
"null"
]
},
"ultimo_sondeo": {
"type": "string"
}
},
"required": [
"estado",
"latencia_ms",
"ultimo_sondeo"
],
"type": "object"
}