Solicitar visita

POSThttps://api.bydomu.com/v1/leads/schedule

Registra una solicitud de visita a una propiedad con fecha y franja preferidas y dispara el webhook VISIT_SCHEDULED. No agenda una cita: la inmobiliaria confirma después.

Permiso
leads: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)

firstNamestringobligatorio
2–100 chars
phonestringobligatorio
7–20 chars
emailstring | string
propertyIdstringobligatorio
preferredDatestringobligatorio
preferredTimestringobligatorio
morningafternoonevening
messagestring
≤ 500 chars
adCampaignIdstring
utmSourcestring
≤ 100 chars
utmMediumstring
≤ 100 chars
utmCampaignstring
≤ 200 chars
utmContentstring
≤ 200 chars

Respuestas

201Solicitud recibida
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.
404NOT_FOUND · El recurso no existe en la organización.
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/leads/schedule" \
  -H "X-API-Key: $BYDOMU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "firstName": "Ana",
  "phone": "+573009876543",
  "propertyId": "clx1prop001",
  "preferredDate": "2026-10-04",
  "preferredTime": "morning"
}'
JavaScript
const res = await fetch("https://api.bydomu.com/v1/leads/schedule", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.BYDOMU_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "firstName": "Ana",
    "phone": "+573009876543",
    "propertyId": "clx1prop001",
    "preferredDate": "2026-10-04",
    "preferredTime": "morning"
  }),
});
const data = await res.json();
Python
import os, requests

r = requests.post(
    "https://api.bydomu.com/v1/leads/schedule",
    headers={"X-API-Key": os.environ["BYDOMU_API_KEY"]},
    json={
        "firstName": "Ana",
        "phone": "+573009876543",
        "propertyId": "clx1prop001",
        "preferredDate": "2026-10-04",
        "preferredTime": "morning"
    }
)
data = r.json()
Respuesta · 201 · ejemplo
{
  "data": {
    "success": true
  }
}

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