Enviar formulario de contacto

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

This reference is generated from the API’s code, so descriptions are in Spanish. Names, parameters and examples are the same in every language.

Registra un lead desde un formulario web: crea o actualiza el contacto, suma la analítica del portal y dispara el webhook LEAD_CREATED / lead.submitted. Pensado para claves publicables.

Permission
leads:write
Keys
Publishable or secret

Headers

X-API-Keystringrequired
Your publishable or secret key.
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

Body (JSON)

firstNamestringrequired
2–100 chars
phonestringrequired
7–20 chars
emailstring | string
messagestring
≤ 1000 chars
propertyIdstring
interestedInstring
SALERENTSALE_OR_RENT
adCampaignIdstring
utmSourcestring
≤ 100 chars
utmMediumstring
≤ 100 chars
utmCampaignstring
≤ 200 chars
utmContentstring
≤ 200 chars

Responses

201Lead recibido
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/leads" \
  -H "X-API-Key: $BYDOMU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "firstName": "María",
  "phone": "+573001234567",
  "email": "[email protected]",
  "message": "Me interesa conocer más sobre este apartamento",
  "propertyId": "clx1prop001",
  "interestedIn": "SALE",
  "utmSource": "google"
}'
JavaScript
const res = await fetch("https://api.bydomu.com/v1/leads", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.BYDOMU_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "firstName": "María",
    "phone": "+573001234567",
    "email": "[email protected]",
    "message": "Me interesa conocer más sobre este apartamento",
    "propertyId": "clx1prop001",
    "interestedIn": "SALE",
    "utmSource": "google"
  }),
});
const data = await res.json();
Python
import os, requests

r = requests.post(
    "https://api.bydomu.com/v1/leads",
    headers={"X-API-Key": os.environ["BYDOMU_API_KEY"]},
    json={
        "firstName": "María",
        "phone": "+573001234567",
        "email": "[email protected]",
        "message": "Me interesa conocer más sobre este apartamento",
        "propertyId": "clx1prop001",
        "interestedIn": "SALE",
        "utmSource": "google"
    }
)
data = r.json()
Response · 201 · example
{
  "data": {
    "success": true
  }
}

The key goes in the BYDOMU_API_KEY variable. The example data belongs to no agency.