get_offer_slots

Las franjas libres de una oferta reservable, con las retenciones vigentes respetadas

GET https://emporium.ultravioletadao.xyz/n/{slug}/offers/{offer_id}/slots

Por dónde se llega

API RESTSolo lecturaGET https://emporium.ultravioletadao.xyz/n/{slug}/offers/{offer_id}/slots
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
slugcaminosístring
offer_idcaminosístring
desdeconsultanostring
diasconsultano{"format":"uint32","minimum":0,"type":"integer"}

El cuerpo de la petición

No lleva cuerpo.

Respuestas

200

Correcto

application/json

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

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.

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"
}
DisponibilidadDeFranjas
{
  "properties": {
    "desde": {
      "type": "string"
    },
    "desfase_utc": {
      "type": "string"
    },
    "dias": {
      "format": "uint32",
      "minimum": 0,
      "type": "integer"
    },
    "duracion_min": {
      "format": "uint32",
      "minimum": 0,
      "type": "integer"
    },
    "franjas": {
      "items": {
        "$ref": "#/components/schemas/FranjaLibre"
      },
      "type": "array"
    },
    "oferta_id": {
      "type": "string"
    },
    "recursos": {
      "items": {
        "$ref": "#/components/schemas/RecursoDeReserva"
      },
      "type": "array"
    },
    "slug": {
      "type": "string"
    }
  },
  "required": [
    "desde",
    "desfase_utc",
    "dias",
    "duracion_min",
    "franjas",
    "oferta_id",
    "recursos",
    "slug"
  ],
  "type": "object"
}
FranjaLibre
{
  "properties": {
    "fin": {
      "type": "string"
    },
    "inicio": {
      "type": "string"
    },
    "recursos": {
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "fin",
    "inicio",
    "recursos"
  ],
  "type": "object"
}
RecursoDeReserva
{
  "properties": {
    "id": {
      "type": "string"
    },
    "nombre": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "nombre"
  ],
  "type": "object"
}
SobreDeError
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "$ref": "#/components/schemas/CuerpoDelError"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}