get_offer

La oferta por proposito, generada del catalogo: cada capacidad con sus patrones de negocio, su estado y sus tools

GET https://emporium.ultravioletadao.xyz/api/offer

Por dónde se llega

API RESTSolo lecturaGET https://emporium.ultravioletadao.xyz/api/offer
MCPMuy pronto
CLIMuy pronto
SDK de PythonMuy pronto
SDK de TypeScriptMuy pronto
SDK de RustMuy 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

NombreDóndeRequeridoEsquemaQué es
halladosconsultanostring

El cuerpo de la petición

No lleva cuerpo.

Respuestas

200

Correcto

application/json

{
  "$ref": "#/components/schemas/OfertaServida"
}

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.

CapacidadServida
{
  "properties": {
    "estado": {
      "$ref": "#/components/schemas/EstadoDeCapacidad"
    },
    "id": {
      "type": "string"
    },
    "medido_el": {
      "type": "string"
    },
    "nombre": {
      "$ref": "#/components/schemas/TextoServido"
    },
    "patrones": {
      "items": {
        "$ref": "#/components/schemas/TextoServido"
      },
      "type": "array"
    },
    "proposito": {
      "$ref": "#/components/schemas/Proposito"
    },
    "prueba_viva": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/PruebaServida"
        },
        {
          "type": "null"
        }
      ]
    },
    "puertas": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/PuertasServidas"
        },
        {
          "type": "null"
        }
      ]
    },
    "que_hace": {
      "$ref": "#/components/schemas/TextoServido"
    },
    "tools": {
      "items": {
        "$ref": "#/components/schemas/ToolServida"
      },
      "type": "array"
    }
  },
  "required": [
    "estado",
    "id",
    "medido_el",
    "nombre",
    "patrones",
    "proposito",
    "prueba_viva",
    "puertas",
    "que_hace",
    "tools"
  ],
  "type": "object"
}
Cobertura
{
  "enum": [
    "disponible",
    "pronto",
    "sin_oferta"
  ],
  "type": "string"
}
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"
}
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"
}
Detalle
{
  "additionalProperties": false,
  "properties": {
    "campo": {
      "type": "string"
    },
    "problema": {
      "type": "string"
    }
  },
  "required": [
    "campo",
    "problema"
  ],
  "type": "object"
}
EstadoDeCapacidad
{
  "oneOf": [
    {
      "const": "pronto",
      "type": "string"
    },
    {
      "const": "externa",
      "type": "string"
    },
    {
      "const": "solo_lectura",
      "type": "string"
    },
    {
      "const": "vivo",
      "type": "string"
    }
  ]
}
Matcheo
{
  "properties": {
    "carencias": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "demanda": {
      "items": {
        "$ref": "#/components/schemas/NecesidadDemandada"
      },
      "type": "array"
    },
    "disponibles": {
      "items": {
        "$ref": "#/components/schemas/Recomendacion"
      },
      "type": "array"
    },
    "esquema": {
      "type": "string"
    },
    "pronto": {
      "items": {
        "$ref": "#/components/schemas/Recomendacion"
      },
      "type": "array"
    },
    "sin_oferta": {
      "items": {
        "$ref": "#/components/schemas/Recomendacion"
      },
      "type": "array"
    }
  },
  "required": [
    "carencias",
    "demanda",
    "disponibles",
    "esquema",
    "pronto",
    "sin_oferta"
  ],
  "type": "object"
}
NecesidadDemandada
{
  "properties": {
    "capacidad": {
      "type": [
        "string",
        "null"
      ]
    },
    "clave": {
      "type": "string"
    },
    "proposito": {
      "$ref": "#/components/schemas/Proposito"
    }
  },
  "required": [
    "capacidad",
    "clave",
    "proposito"
  ],
  "type": "object"
}
OfertaServida
{
  "properties": {
    "capacidades": {
      "items": {
        "$ref": "#/components/schemas/CapacidadServida"
      },
      "type": "array"
    },
    "esquema": {
      "type": "string"
    },
    "matcheo": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/Matcheo"
        },
        {
          "type": "null"
        }
      ]
    },
    "propositos": {
      "items": {
        "$ref": "#/components/schemas/PropositoServido"
      },
      "type": "array"
    }
  },
  "required": [
    "capacidades",
    "esquema",
    "propositos"
  ],
  "type": "object"
}
Proposito
{
  "enum": [
    "comunicaciones",
    "trabajos_sin_confianza",
    "reputacion_e_identidad",
    "enjambre",
    "endpoints_x402",
    "pagos",
    "persistencia",
    "billetera"
  ],
  "type": "string"
}
PropositoServido
{
  "properties": {
    "capacidades": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "id": {
      "$ref": "#/components/schemas/Proposito"
    },
    "nombre": {
      "$ref": "#/components/schemas/TextoServido"
    }
  },
  "required": [
    "capacidades",
    "id",
    "nombre"
  ],
  "type": "object"
}
PruebaServida
{
  "properties": {
    "en": {
      "type": "string"
    },
    "es": {
      "type": "string"
    },
    "fecha": {
      "type": "string"
    }
  },
  "required": [
    "en",
    "es",
    "fecha"
  ],
  "type": "object"
}
PuertaDeTool
{
  "oneOf": [
    {
      "const": "mcp",
      "type": "string"
    },
    {
      "const": "mostrador",
      "type": "string"
    },
    {
      "const": "directa",
      "type": "string"
    },
    {
      "const": "paybox",
      "type": "string"
    }
  ]
}
PuertasServidas
{
  "properties": {
    "api": {
      "type": "string"
    },
    "bloque": {
      "type": "string"
    },
    "cli": {
      "type": "string"
    },
    "mcp": {
      "type": "string"
    },
    "sdk": {
      "type": "string"
    },
    "sdk_lenguajes": {
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "api",
    "bloque",
    "cli",
    "mcp",
    "sdk",
    "sdk_lenguajes"
  ],
  "type": "object"
}
Recomendacion
{
  "properties": {
    "capacidad": {
      "type": "string"
    },
    "cobertura": {
      "$ref": "#/components/schemas/Cobertura"
    },
    "estado": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/EstadoDeCapacidad"
        },
        {
          "type": "null"
        }
      ]
    },
    "necesidad": {
      "type": "string"
    },
    "proposito": {
      "$ref": "#/components/schemas/Proposito"
    },
    "razones": {
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "capacidad",
    "cobertura",
    "estado",
    "necesidad",
    "proposito",
    "razones"
  ],
  "type": "object"
}
SobreDeError
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "$ref": "#/components/schemas/CuerpoDelError"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
TextoServido
{
  "properties": {
    "en": {
      "type": "string"
    },
    "es": {
      "type": "string"
    }
  },
  "required": [
    "en",
    "es"
  ],
  "type": "object"
}
ToolServida
{
  "properties": {
    "clase": {
      "type": [
        "string",
        "null"
      ]
    },
    "credencial": {
      "type": [
        "string",
        "null"
      ]
    },
    "nombre": {
      "type": "string"
    },
    "puerta": {
      "$ref": "#/components/schemas/PuertaDeTool"
    },
    "url": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "clase",
    "credencial",
    "nombre",
    "puerta",
    "url"
  ],
  "type": "object"
}