get_business

Un negocio

GET https://emporium.ultravioletadao.xyz/api/businesses/{slug}

Por dónde se llega

API RESTSolo lecturaGET https://emporium.ultravioletadao.xyz/api/businesses/{slug}
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

El cuerpo de la petición

No lleva cuerpo.

Respuestas

200

Correcto

application/json

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

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.

CanalPublico
{
  "properties": {
    "tipo": {
      "type": "string"
    },
    "verificado": {
      "type": "boolean"
    }
  },
  "required": [
    "tipo",
    "verificado"
  ],
  "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"
}
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"
}
EstadoTenant
{
  "enum": [
    "borrador",
    "manifiesto_valido",
    "verificacion_pendiente",
    "verificado",
    "publicado",
    "despublicado",
    "suspendido",
    "rechazado_por_categoria",
    "verificacion_fallida"
  ],
  "type": "string"
}
ManifiestoPublico
{
  "additionalProperties": false,
  "properties": {
    "canal_humano": {
      "additionalProperties": false,
      "properties": {
        "tipo": {
          "enum": [
            "correo"
          ],
          "type": "string"
        },
        "verificado": {
          "type": "boolean"
        }
      },
      "required": [
        "tipo",
        "verificado"
      ],
      "type": "object"
    },
    "esquema": {
      "const": "emporium-manifiesto-v1",
      "type": "string"
    },
    "marca": {
      "additionalProperties": false,
      "properties": {
        "color_primario": {
          "pattern": "^#[0-9a-fA-F]{6}$",
          "type": "string"
        },
        "color_secundario": {
          "pattern": "^#[0-9a-fA-F]{6}$",
          "type": "string"
        },
        "logo_url": {
          "maxLength": 512,
          "pattern": "^https://",
          "type": "string"
        }
      },
      "required": [
        "color_primario",
        "color_secundario"
      ],
      "type": "object"
    },
    "medios_de_pago": {
      "items": {
        "additionalProperties": false,
        "oneOf": [
          {
            "properties": {
              "proveedor": false,
              "tipo": {
                "const": "x402"
              }
            },
            "required": [
              "activo",
              "red",
              "tipo"
            ]
          },
          {
            "properties": {
              "activo": false,
              "red": false,
              "tipo": {
                "const": "enlace_externo"
              }
            },
            "required": [
              "proveedor",
              "tipo"
            ]
          }
        ],
        "properties": {
          "activo": {
            "pattern": "^[A-Z0-9]{2,12}$",
            "type": "string"
          },
          "etiqueta": {
            "maxLength": 48,
            "minLength": 2,
            "type": "string"
          },
          "proveedor": {
            "maxLength": 48,
            "minLength": 2,
            "type": "string"
          },
          "red": {
            "pattern": "^[a-z0-9-]{2,32}$",
            "type": "string"
          },
          "tipo": {
            "enum": [
              "x402",
              "enlace_externo"
            ],
            "type": "string"
          },
          "url": {
            "maxLength": 512,
            "pattern": "^https://[^\\s]+$",
            "type": "string"
          }
        },
        "required": [
          "etiqueta",
          "tipo",
          "url"
        ],
        "type": "object"
      },
      "maxItems": 5,
      "minItems": 0,
      "type": "array"
    },
    "negocio": {
      "additionalProperties": false,
      "properties": {
        "alcance": {
          "enum": [
            "local",
            "nacional",
            "regional",
            "global"
          ],
          "type": "string"
        },
        "descripcion": {
          "maxLength": 1000,
          "minLength": 10,
          "type": "string"
        },
        "dominio": {
          "maxLength": 253,
          "minLength": 3,
          "pattern": "^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)+$",
          "type": "string"
        },
        "idioma": {
          "enum": [
            "es",
            "en",
            "pt"
          ],
          "type": "string"
        },
        "nombre": {
          "maxLength": 120,
          "minLength": 2,
          "type": "string"
        },
        "resumen_corto": {
          "maxLength": 80,
          "minLength": 0,
          "pattern": "^[^\\n\\r]*$",
          "type": "string"
        },
        "sector": {
          "additionalProperties": false,
          "properties": {
            "codigo": {
              "maxLength": 16,
              "minLength": 0,
              "type": "string"
            },
            "sistema": {
              "enum": [
                "CIIU",
                "NAICS",
                "ninguno"
              ],
              "type": "string"
            },
            "texto": {
              "maxLength": 120,
              "minLength": 2,
              "type": "string"
            }
          },
          "required": [
            "codigo",
            "sistema",
            "texto"
          ],
          "type": "object"
        },
        "ubicacion": {
          "additionalProperties": false,
          "properties": {
            "ciudad": {
              "maxLength": 80,
              "minLength": 2,
              "type": "string"
            },
            "pais": {
              "pattern": "^[A-Z]{2}$",
              "type": "string"
            }
          },
          "required": [
            "ciudad",
            "pais"
          ],
          "type": "object"
        },
        "zona_horaria": {
          "maxLength": 64,
          "minLength": 3,
          "type": "string"
        }
      },
      "required": [
        "alcance",
        "descripcion",
        "dominio",
        "idioma",
        "nombre",
        "sector"
      ],
      "type": "object"
    },
    "ofertas": {
      "items": {
        "additionalProperties": false,
        "allOf": [
          {
            "if": {
              "properties": {
                "forma_de_oferta": {
                  "const": "servicio_digital_por_uso"
                }
              },
              "required": [
                "forma_de_oferta"
              ]
            },
            "then": {
              "properties": {
                "unidad": {
                  "enum": [
                    "llamada",
                    "segundo"
                  ]
                }
              }
            }
          }
        ],
        "properties": {
          "categoria": {
            "enum": [
              "alimentos_y_bebidas",
              "transporte_y_logistica",
              "alojamiento_y_turismo",
              "eventos_y_entretenimiento",
              "deporte_y_recreacion",
              "salud_y_bienestar",
              "educacion_y_formacion",
              "servicios_profesionales",
              "servicios_para_el_hogar",
              "comercio_minorista",
              "moda_y_belleza",
              "tecnologia_y_software",
              "inmuebles",
              "agro_y_alimentos_primarios",
              "arte_y_artesania",
              "otros_servicios",
              "computo_para_agentes_autonomos",
              "persistencia_o_replicacion_de_agentes",
              "resistencia_a_apagado",
              "identidades_o_credenciales_para_agentes",
              "armas_y_explosivos",
              "sustancias_controladas",
              "farmacos_con_receta",
              "apuestas_y_juegos_de_azar",
              "contenido_sexual",
              "documentos_falsos_y_suplantacion",
              "datos_personales_y_vigilancia",
              "servicios_de_intrusion_o_hackeo",
              "servicios_financieros_regulados",
              "fauna_y_especies_protegidas"
            ],
            "type": "string"
          },
          "contrato": {
            "additionalProperties": false,
            "properties": {
              "esquema": {
                "const": "contrato-intencion/v0",
                "type": "string"
              },
              "slots": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "etiqueta": {
                      "additionalProperties": false,
                      "minProperties": 1,
                      "properties": {
                        "en": {
                          "maxLength": 80,
                          "minLength": 1,
                          "pattern": "^[^\\n\\r]*$",
                          "type": "string"
                        },
                        "es": {
                          "maxLength": 80,
                          "minLength": 1,
                          "pattern": "^[^\\n\\r]*$",
                          "type": "string"
                        },
                        "pt": {
                          "maxLength": 80,
                          "minLength": 1,
                          "pattern": "^[^\\n\\r]*$",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "id": {
                      "not": {
                        "pattern": "telefono|celular|whatsapp|telegram|email|correo|direccion|contacto|(^|_)(tel|telf|tlf|cel|movil|mobile|phone|wa|wsp|sms|mail|address|contact)s?(_|$)"
                      },
                      "pattern": "^[a-z][a-z0-9_]{0,31}$",
                      "type": "string"
                    },
                    "requerido_para": {
                      "items": {
                        "enum": [
                          "proponer",
                          "cotizar",
                          "ejecutar"
                        ],
                        "type": "string"
                      },
                      "maxItems": 3,
                      "minItems": 1,
                      "type": "array",
                      "uniqueItems": true
                    },
                    "supuesto": {
                      "maxLength": 200,
                      "type": [
                        "integer",
                        "string",
                        "boolean"
                      ]
                    },
                    "tipo": {
                      "enum": [
                        "entero",
                        "fecha",
                        "hora",
                        "duracion_min",
                        "enum",
                        "texto",
                        "lugar",
                        "si_no"
                      ],
                      "type": "string"
                    },
                    "validacion": {
                      "additionalProperties": false,
                      "minProperties": 1,
                      "properties": {
                        "max": {
                          "type": "integer"
                        },
                        "max_largo": {
                          "maximum": 200,
                          "minimum": 1,
                          "type": "integer"
                        },
                        "min": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    "valores": {
                      "items": {
                        "pattern": "^[a-z0-9_]{1,32}$",
                        "type": "string"
                      },
                      "maxItems": 20,
                      "minItems": 2,
                      "type": "array",
                      "uniqueItems": true
                    }
                  },
                  "required": [
                    "etiqueta",
                    "id",
                    "requerido_para",
                    "tipo"
                  ],
                  "type": "object"
                },
                "maxItems": 20,
                "minItems": 1,
                "type": "array"
              }
            },
            "required": [
              "esquema",
              "slots"
            ],
            "type": "object"
          },
          "descripcion": {
            "maxLength": 1000,
            "minLength": 10,
            "type": "string"
          },
          "disponibilidad_texto": {
            "maxLength": 280,
            "minLength": 0,
            "type": "string"
          },
          "etiquetas": {
            "items": {
              "maxLength": 32,
              "minLength": 1,
              "pattern": "^[a-z0-9-]+$",
              "type": "string"
            },
            "maxItems": 10,
            "minItems": 0,
            "type": "array"
          },
          "forma_de_oferta": {
            "enum": [
              "producto_fisico",
              "servicio_agendado",
              "servicio_a_medida",
              "alquiler_por_tiempo",
              "suscripcion",
              "servicio_digital_por_uso"
            ],
            "type": "string"
          },
          "id": {
            "pattern": "^of-[a-z0-9-]{1,28}$",
            "type": "string"
          },
          "medios_de_pago": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "activo": {
                  "pattern": "^[A-Z0-9]{2,12}$",
                  "type": "string"
                },
                "proveedor": {
                  "maxLength": 48,
                  "minLength": 2,
                  "type": "string"
                },
                "red": {
                  "pattern": "^[a-z0-9-]{2,32}$",
                  "type": "string"
                },
                "tipo": {
                  "enum": [
                    "x402",
                    "enlace_externo"
                  ],
                  "type": "string"
                },
                "url": {
                  "maxLength": 512,
                  "pattern": "^https://[^\\s]+$",
                  "type": "string"
                }
              },
              "required": [
                "tipo"
              ],
              "type": "object"
            },
            "maxItems": 5,
            "minItems": 1,
            "type": "array"
          },
          "precio": {
            "additionalProperties": false,
            "oneOf": [
              {
                "properties": {
                  "modo": {
                    "const": "publicado"
                  }
                },
                "required": [
                  "modo",
                  "moneda",
                  "monto"
                ]
              },
              {
                "properties": {
                  "modo": {
                    "const": "a_cotizar"
                  },
                  "moneda": false,
                  "monto": false
                },
                "required": [
                  "modo"
                ]
              }
            ],
            "properties": {
              "modo": {
                "enum": [
                  "publicado",
                  "a_cotizar"
                ],
                "type": "string"
              },
              "moneda": {
                "pattern": "^[A-Z]{3}$",
                "type": "string"
              },
              "monto": {
                "pattern": "^\\d{1,9}(\\.\\d{1,6})?$",
                "type": "string"
              }
            },
            "required": [
              "modo"
            ],
            "type": "object"
          },
          "reserva": {
            "additionalProperties": false,
            "properties": {
              "desfase_utc": {
                "pattern": "^[+-](0[0-9]|1[0-4]):[0-5][0-9]$",
                "type": "string"
              },
              "duracion_min": {
                "maximum": 1440,
                "minimum": 5,
                "type": "integer"
              },
              "esquema": {
                "const": "reserva-franja/v0",
                "type": "string"
              },
              "horario": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "desde": {
                      "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
                      "type": "string"
                    },
                    "dias": {
                      "items": {
                        "enum": [
                          "lun",
                          "mar",
                          "mie",
                          "jue",
                          "vie",
                          "sab",
                          "dom"
                        ],
                        "type": "string"
                      },
                      "maxItems": 7,
                      "minItems": 1,
                      "type": "array",
                      "uniqueItems": true
                    },
                    "hasta": {
                      "pattern": "^(([01][0-9]|2[0-3]):[0-5][0-9]|24:00)$",
                      "type": "string"
                    }
                  },
                  "required": [
                    "desde",
                    "dias",
                    "hasta"
                  ],
                  "type": "object"
                },
                "maxItems": 14,
                "minItems": 1,
                "type": "array"
              },
              "horizonte_dias": {
                "maximum": 90,
                "minimum": 1,
                "type": "integer"
              },
              "recursos": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "pattern": "^[a-z0-9-]{1,32}$",
                      "type": "string"
                    },
                    "nombre": {
                      "maxLength": 80,
                      "minLength": 1,
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "nombre"
                  ],
                  "type": "object"
                },
                "maxItems": 20,
                "minItems": 1,
                "type": "array"
              },
              "retencion_min": {
                "maximum": 60,
                "minimum": 1,
                "type": "integer"
              }
            },
            "required": [
              "desfase_utc",
              "duracion_min",
              "esquema",
              "horario",
              "horizonte_dias",
              "recursos",
              "retencion_min"
            ],
            "type": "object"
          },
          "titulo": {
            "maxLength": 120,
            "minLength": 2,
            "type": "string"
          },
          "unidad": {
            "maxLength": 32,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "categoria",
          "descripcion",
          "forma_de_oferta",
          "id",
          "precio",
          "titulo",
          "unidad"
        ],
        "type": "object"
      },
      "maxItems": 50,
      "minItems": 1,
      "type": "array"
    },
    "politica_de_compra": {
      "additionalProperties": false,
      "properties": {
        "cancelacion": {
          "enum": [
            "sin_cargo",
            "con_cargo",
            "no_admite"
          ],
          "type": "string"
        },
        "detalle": {
          "maxLength": 500,
          "minLength": 0,
          "type": "string"
        },
        "disputa": {
          "additionalProperties": false,
          "oneOf": [
            {
              "properties": {
                "tipo": {
                  "const": "correo"
                },
                "valor": {
                  "maxLength": 320,
                  "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$"
                }
              },
              "required": [
                "tipo"
              ]
            },
            {
              "properties": {
                "tipo": {
                  "const": "url"
                },
                "valor": {
                  "pattern": "^https://[^\\s]+$"
                }
              },
              "required": [
                "tipo"
              ]
            }
          ],
          "properties": {
            "tipo": {
              "enum": [
                "correo",
                "url"
              ],
              "type": "string"
            },
            "valor": {
              "maxLength": 512,
              "minLength": 3,
              "type": "string"
            }
          },
          "required": [
            "tipo",
            "valor"
          ],
          "type": "object"
        },
        "reembolso": {
          "enum": [
            "total",
            "parcial",
            "sin_reembolso"
          ],
          "type": "string"
        },
        "ventana_horas": {
          "maximum": 8760,
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "cancelacion",
        "disputa",
        "reembolso",
        "ventana_horas"
      ],
      "type": "object"
    },
    "terminos_del_negocio": {
      "maxLength": 2000,
      "minLength": 0,
      "type": "string"
    }
  },
  "required": [
    "canal_humano",
    "esquema",
    "marca",
    "negocio",
    "ofertas"
  ],
  "type": "object"
}
MetodoVerificacion
{
  "enum": [
    "dns",
    "archivo"
  ],
  "type": "string"
}
Operador
{
  "properties": {
    "nombre": {
      "type": "string"
    },
    "rol": {
      "type": "string"
    }
  },
  "required": [
    "nombre",
    "rol"
  ],
  "type": "object"
}
Reputacion
{
  "properties": {
    "estado": {
      "type": "string"
    }
  },
  "required": [
    "estado"
  ],
  "type": "object"
}
SobreDeError
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "$ref": "#/components/schemas/CuerpoDelError"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
TerminosPublicos
{
  "properties": {
    "aceptados_en": {
      "type": [
        "string",
        "null"
      ]
    },
    "version": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "aceptados_en",
    "version"
  ],
  "type": "object"
}
VerificacionPublica
{
  "properties": {
    "estado": {
      "type": "string"
    },
    "lecturas": {
      "format": "uint",
      "minimum": 0,
      "type": "integer"
    },
    "metodos_usados": {
      "items": {
        "$ref": "#/components/schemas/MetodoVerificacion"
      },
      "type": "array"
    },
    "primera_lectura": {
      "type": [
        "string",
        "null"
      ]
    },
    "separacion_horas": {
      "format": "double",
      "type": [
        "number",
        "null"
      ]
    },
    "ultima_lectura": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "estado",
    "lecturas",
    "metodos_usados",
    "primera_lectura",
    "separacion_horas",
    "ultima_lectura"
  ],
  "type": "object"
}
VistaDelTenant
{
  "properties": {
    "actualizado_en": {
      "type": "string"
    },
    "aviso": {
      "type": "string"
    },
    "canal_humano": {
      "$ref": "#/components/schemas/CanalPublico"
    },
    "dominio": {
      "type": "string"
    },
    "estado": {
      "$ref": "#/components/schemas/EstadoTenant"
    },
    "manifiesto": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ManifiestoPublico"
        },
        {
          "type": "null"
        }
      ]
    },
    "medios_de_pago": {
      "items": true,
      "type": "array"
    },
    "operador": {
      "$ref": "#/components/schemas/Operador"
    },
    "publicado_por_negocio": {
      "type": "boolean"
    },
    "reputacion": {
      "$ref": "#/components/schemas/Reputacion"
    },
    "slug": {
      "type": "string"
    },
    "terminos": {
      "$ref": "#/components/schemas/TerminosPublicos"
    },
    "url_ficha": {
      "type": "string"
    },
    "url_mcp": {
      "type": "string"
    },
    "verificacion": {
      "$ref": "#/components/schemas/VerificacionPublica"
    },
    "version": {
      "format": "uint64",
      "minimum": 0,
      "type": "integer"
    }
  },
  "required": [
    "actualizado_en",
    "aviso",
    "canal_humano",
    "dominio",
    "estado",
    "manifiesto",
    "medios_de_pago",
    "operador",
    "publicado_por_negocio",
    "reputacion",
    "slug",
    "terminos",
    "url_ficha",
    "url_mcp",
    "verificacion",
    "version"
  ],
  "type": "object"
}