Ir al contenido

API de Vivuk

Conecte su CRM o su página web: publique y actualice avisos, reciba contactos al instante y consulte contratos y cobros. Incluida en los planes Inmobiliaria y Plus.

Autenticación

Cree una llave en Panel, API con los permisos que necesita y envíela en cada solicitud:

curl https://vivuk.co/api/v1/avisos \
  -H "Authorization: Bearer SU_LLAVE" \
  -H "Accept: application/json"

Base: https://vivuk.co/api/v1. Respuestas en JSON, fechas en ISO 8601 con hora de Colombia, montos en pesos sin decimales. Límite: 120 solicitudes por minuto por llave.

Permisos

  • avisos:leer y avisos:escribir
  • contactos:leer y contactos:escribir
  • contratos:leer

Endpoints

Cuenta

Método y rutaPermisoQué hace
GET /cuentacualquieraDatos de la cuenta, plan y uso (avisos activos, contratos, usuarios).

Avisos

Método y rutaPermisoQué hace
GET /avisosavisos:leerLista los avisos de la cuenta. Filtros: estado, operacion, tipo, actualizado_desde. 50 por página.
POST /avisosavisos:escribirCrea un aviso. Queda en revisión hasta que lo aprobemos.
GET /avisos/{codigo}avisos:leerUn aviso con sus fotos.
PATCH /avisos/{codigo}avisos:escribirActualiza un aviso. El precio y la administración se aplican de una vez; los demás cambios vuelven a revisión.
POST /avisos/{codigo}/estadoavisos:escribirPausa, reactiva o cierra un aviso: estado = publicado, pausado o cerrado (con cierre = arrendado, vendido o retirado).
POST /avisos/{codigo}/fotosavisos:escribirSube una foto (multipart). Envíe las variantes foto_480, foto_960, foto_1600 y foto_og, o un solo archivo foto en JPEG o WebP de hasta 1600 px.
DELETE /avisos/{codigo}/fotos/{id}avisos:escribirBorra una foto.

Contactos

Método y rutaPermisoQué hace
GET /contactoscontactos:leerInteresados en sus avisos, con canal, aviso y asesor. Filtros: desde, aviso.
PATCH /contactos/{id}contactos:escribirCambia el estado (nuevo, contactado, visita, cerrado, descartado) o las notas.

Contratos

Método y rutaPermisoQué hace
GET /contratoscontratos:leerContratos de la cuenta con su estado.
GET /contratos/{codigo}contratos:leerUn contrato con sus cobros mensuales.

Edificios

Método y rutaPermisoQué hace
GET /edificiosavisos:leerEdificios, conjuntos y proyectos de la cuenta.
POST /edificiosavisos:escribirCrea un edificio para agrupar unidades.

Referencias

Método y rutaPermisoQué hace
GET /municipios?q=cualquieraBusca municipios por nombre. Use el código DANE en los avisos.
GET /tiposcualquieraTipos de inmueble, características y garantías válidas.

Crear un aviso

POST https://vivuk.co/api/v1/avisos
{
    "operacion": "arriendo",
    "tipo": "apartamento",
    "titulo": "Apartamento con balcón cerca al parque",
    "descripcion": "Tercer piso, iluminado, cocina abierta, zona de ropas.",
    "municipio": "68001",
    "barrio": "Cabecera del Llano",
    "precio": 1850000,
    "administracion": 240000,
    "area": 72,
    "habitaciones": 3,
    "banos": 2,
    "parqueaderos": 1,
    "estrato": 4,
    "mascotas": true,
    "caracteristicas": [
        "Balcón",
        "Ascensor"
    ],
    "requisitos": {
        "garantia": "poliza",
        "ingresos_veces": 3
    }
}

Campos obligatorios: operacion, tipo, titulo, municipio (código DANE de 5 dígitos), precio y área (o área del lote en lotes y fincas). Las fotos se suben después; se necesitan al menos 3 para pasar la revisión.

Errores

CódigoSignificado
401Falta la llave o no es válida.
403La llave no tiene el permiso o el plan no incluye la API.
404No existe o no es de su cuenta.
422Datos inválidos. La respuesta trae errores por campo.
429Pasó el límite de solicitudes. Espere los segundos de Retry-After.

Webhooks

Registre una URL en el panel y escoja los eventos: contacto.nuevo, aviso.publicado, aviso.cerrado, cobro.reportado, cobro.pagado, contrato.firmado, promesa.firmada .

POST https://su-sistema.co/vivuk
Vivuk-Firma: t=1760040245,v1=5f2b…
{
    "id": "evt_01HZX3",
    "evento": "contacto.nuevo",
    "creado_en": "2026-10-09T15:04:05-05:00",
    "datos": {
        "contacto": {
            "id": 812,
            "canal": "whatsapp",
            "nombre": "Laura",
            "telefono": "3001234567"
        },
        "aviso": {
            "codigo": "VIV-2026-004512"
        }
    }
}

Para comprobar que viene de Vivuk, calcule HMAC-SHA256(secreto, t + "." + cuerpo) en hexadecimal y compárelo con v1; rechace firmas con más de 5 minutos. Responda con un código 2xx en menos de 10 segundos. Si falla, reintentamos 3 veces: al minuto, a los 10 minutos y a la hora.

Feeds y multipublicación

Desde el panel puede activar un feed privado de sus avisos publicados en JSON, en XML y en el formato del catálogo de inmuebles de Meta. La URL lleva una llave propia que puede cambiar cuando quiera. Para Mercado Libre, conecte su cuenta y publique desde cada aviso.