Enviar preferencias del buscador

POSThttps://api.bydomu.com/v1/finder

Registra lo que busca un prospecto (tipo, zona, presupuesto, características) como contacto y devuelve hasta 12 propiedades que encajan, con su puntaje y el detalle del cálculo. Dispara el webhook FINDER_SUBMITTED.

Permiso
finder:write
Claves
Publicable o secreta

Encabezados

X-API-Keystringobligatorio
Tu clave publicable o secreta.
Idempotency-Keystring
Clave única de la operación (8-128 caracteres de [a-zA-Z0-9._:-]). Un reintento con la misma clave y el mismo cuerpo devuelve la respuesta original sin repetir la operación. Vive 24 horas. · 8–128 chars

Cuerpo (JSON)

transactionTypestringobligatorio
SALERENT
propertyTypestringobligatorio
APARTMENTHOUSEOFFICECOMMERCIALLANDWAREHOUSEROOMFARMOTHER
citystring
≤ 100 chars
neighborhoodstring
≤ 100 chars
budgetMinnumber
≥ 0 · nullable
budgetMaxnumber
≥ 0 · nullable
minBedroomsinteger
≥ 0 · nullable
minBathroomsinteger
≥ 0 · nullable
minAreanumber
≥ 0 · nullable
amenitiesstring[]
firstNamestringobligatorio
2–100 chars
phonestringobligatorio
7–20 chars
emailstring | string
messagestring
≤ 1000 chars
subscribedToAlertsboolean
default=false

Respuestas

201Contacto y propiedades sugeridas
400Datos inválidos: el cuerpo o la query no cumplen el esquema, o `Idempotency-Key` está mal formada.
401UNAUTHORIZED · Clave faltante, inválida, desactivada o vencida.
402PAYMENT_REQUIRED · Cuenta en modo solo lectura: se rechaza toda mutación.
403FORBIDDEN · La clave no puede usar esta operación: falta el scope, es una secreta en el navegador, el nivel de la cuenta no la permite, está suspendida o se alcanzó un tope del plan.
409DUPLICATE · Choca con un dato existente o con el estado actual, o la `Idempotency-Key` ya se usó con otro cuerpo o sigue en curso.
429RATE_LIMITED · Límite de peticiones excedido: el de la clave (`RATE_LIMITED`), el de escrituras de la organización (`TENANT_RATE_LIMITED`) o bloqueo temporal de la IP por claves inválidas.
500INTERNAL_ERROR · Error interno del servidor.
cURL
curl -X POST "https://api.bydomu.com/v1/finder" \
  -H "X-API-Key: $BYDOMU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "transactionType": "SALE",
  "propertyType": "APARTMENT",
  "city": "Bogotá",
  "neighborhood": "Chapinero",
  "budgetMin": 250000000,
  "budgetMax": 400000000,
  "minBedrooms": 2,
  "amenities": [
    "parking",
    "gym"
  ],
  "firstName": "Juan",
  "phone": "+573005551234",
  "subscribedToAlerts": true
}'
JavaScript
const res = await fetch("https://api.bydomu.com/v1/finder", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.BYDOMU_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "transactionType": "SALE",
    "propertyType": "APARTMENT",
    "city": "Bogotá",
    "neighborhood": "Chapinero",
    "budgetMin": 250000000,
    "budgetMax": 400000000,
    "minBedrooms": 2,
    "amenities": [
      "parking",
      "gym"
    ],
    "firstName": "Juan",
    "phone": "+573005551234",
    "subscribedToAlerts": true
  }),
});
const data = await res.json();
Python
import os, requests

r = requests.post(
    "https://api.bydomu.com/v1/finder",
    headers={"X-API-Key": os.environ["BYDOMU_API_KEY"]},
    json={
        "transactionType": "SALE",
        "propertyType": "APARTMENT",
        "city": "Bogotá",
        "neighborhood": "Chapinero",
        "budgetMin": 250000000,
        "budgetMax": 400000000,
        "minBedrooms": 2,
        "amenities": [
            "parking",
            "gym"
        ],
        "firstName": "Juan",
        "phone": "+573005551234",
        "subscribedToAlerts": True
    }
)
data = r.json()
Respuesta · 201 · ejemplo
{
  "data": {
    "contact": {
      "id": "clx1con009"
    },
    "properties": [
      {
        "id": "clx1prop001",
        "code": "P-0042",
        "title": "Apartamento en Chapinero con vista",
        "type": "APARTMENT",
        "transactionType": "SALE",
        "price": 450000000,
        "currency": "COP",
        "city": "Bogotá",
        "neighborhood": "Chapinero",
        "bedrooms": 3,
        "bathrooms": 2,
        "area": 85,
        "matchScore": 87,
        "breakdown": [
          {
            "criterio": "Presupuesto",
            "puntos": 30,
            "estado": "match"
          }
        ],
        "image": "https://cdn.bydomu.com/props/clx1prop001/1.jpg"
      }
    ],
    "total": 7
  }
}

La clave va en la variable BYDOMU_API_KEY. Los datos del ejemplo no son de ninguna inmobiliaria.