Conecta cualquier sitio externo (WordPress, una landing, tu app) con InmoFlow. Lee tu catálogo de propiedades y desarrollos, consulta métricas en tiempo real y recibe leads directamente en tu CRM. Pensada para consumirse servidor a servidor.
La API REST de InmoFlow expone tu información de forma segura para que cualquier sistema externo pueda leer tu catálogo, consultar métricas y enviar prospectos a tu CRM. Todas las respuestas son JSON y todo el acceso se controla con una llave secreta por cuenta.
URL base
https://inmoflow.pro/api/v1Todos los endpoints cuelgan de esta ruta, por ejemplo https://inmoflow.pro/api/v1/properties.
Cada petición se autentica con una llave de API que generas desde el panel en Configuración → Llaves de API. La llave se muestra una sola vez al crearla. Envíala en la cabecera de autorización:
Authorization: Bearer TU_LLAVETambién se acepta la cabecera X-Api-Key: TU_LLAVE.
La llave es secreta: úsala solo desde tu servidor. Nunca la expongas en el navegador ni en código del lado del cliente. Puedes revocarla o regenerarla en cualquier momento desde el panel.
Cada llave tiene permisos que limitan a qué recursos puede acceder. Activa solo los que necesite tu integración:
| Permiso | Da acceso a |
|---|---|
| properties | Catálogo de propiedades públicas. |
| developments | Desarrollos públicos y sus unidades. |
| agency | Identidad de la inmobiliaria (logo, contacto). |
| metrics | Métricas agregadas (solo conteos, sin datos de contacto). |
| leads | Recibir prospectos desde sitios externos (escritura). |
| team | ⚠️ Leer el equipo (incluye datos personales) y dar de alta miembros, pendientes de activación (privilegiado, apagado por defecto). |
| sso | ⚠️ Generar enlaces de acceso directo al panel (privilegiado, apagado por defecto). |
Filtros disponibles en los listados: search, property_type_id, bedrooms, price_min, price_max, development_id, per_page (máx. 100) y page.
Cada registro incluye datos completos: precio y características, tipo, features/amenidades (con nombre e icono), galería de imágenes con sus conversiones (thumb/medium/large/webp), planos (floor_plan), el contorno del terreno en location.kml_url (polígono KML), SEO, public_url y ubicación. Los desarrollos además devuelven sus unidades en el detalle.
Ejemplo — leer propiedades
curl -H "Authorization: Bearer TU_LLAVE" \
"https://inmoflow.pro/api/v1/properties?per_page=20&bedrooms=2&price_max=2500000"Devuelve únicamente conteos agregados (sin datos de contacto ni PII), agrupados en cuatro bloques más un resumen:
Usa ?section=properties|developments|leads|agents|overview para pedir solo un bloque. Requiere una llave con el permiso Métricas / estadísticas.
Ejemplo — solo el resumen
curl -H "Authorization: Bearer TU_LLAVE" \
"https://inmoflow.pro/api/v1/metrics?section=overview"Campos: name* y email* (obligatorios), phone o whatsapp (al menos uno), message, notes, budget, city, state, source, property_id o development_id (deben pertenecer a tu cuenta). Requiere una llave con el permiso Recibir leads.
Ejemplo — enviar un lead
curl -X POST "https://inmoflow.pro/api/v1/leads" \
-H "Authorization: Bearer TU_LLAVE" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "Ana López",
"email": "ana@correo.com",
"phone": "+52 55 1234 5678",
"message": "Me interesa esta propiedad",
"source": "Landing campaña FB"
}'Sincroniza el equipo de tu inmobiliaria en ambos sentidos. La lectura devuelve el perfil completo (incluye datos personales como correo y teléfono), por lo que requiere el permiso privilegiado Equipo, apagado por defecto.
Al dar de alta, campos obligatorios: name*, email*, phone* y role* (uno de admin, subadmin, agent, editor, cobranza, viewer); opcionales city, state, specialties[], languages[], assignment_order, has_transport. Si el correo ya existe en tu cuenta se actualiza su perfil; si es nuevo se crea pendiente de activación: queda registrado pero sin acceso al panel hasta que un administrador lo active manualmente. Con DELETE /team/{id|email} quitas a un miembro de este espacio (su cuenta y otros espacios no se tocan); el administrador de la cuenta no puede removerse por la API. Si el miembro tiene prospectos abiertos, debes decidir a quién reasignarlos: envía reassign_to (id o correo de otro asesor) o reassign_strategy: true (estrategia del tenant); de lo contrario responde 422. Al removerlo se le envía un correo automático avisándole.
Ejemplo — listar el equipo
curl "https://inmoflow.pro/api/v1/team" \
-H "Authorization: Bearer TU_LLAVE" \
-H "Accept: application/json"Ejemplo — dar de alta un miembro
curl -X POST "https://inmoflow.pro/api/v1/team" \
-H "Authorization: Bearer TU_LLAVE" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "Carlos Ruiz",
"email": "carlos@inmobiliaria.com",
"role": "agent",
"phone": "+52 55 8765 4321",
"specialties": ["Residencial", "Playa"]
}'Genera una URL de un solo uso (expira en 60 s) que loguea a un usuario de tu cuenta en el panel. Cuerpo: email del usuario. Tu backend llama este endpoint y redirige el navegador a la URL devuelta. Requiere el permiso privilegiado Acceso al panel (SSO), apagado por defecto; actívalo solo para sitios de confianza.
curl -X POST "https://inmoflow.pro/api/v1/auth/login-link" \
-H "Authorization: Bearer TU_LLAVE" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"email": "asesor@tucuenta.com"}'Códigos de respuesta
| 200 / 201 | Petición correcta. |
| 401 | Llave inválida, inactiva o expirada. |
| 403 | La llave no tiene el permiso requerido, o la suscripción no está activa. |
| 404 | El recurso no existe para esta cuenta. |
| 422 | Datos inválidos (errores de validación en el cuerpo). |
| 429 | Límite de peticiones excedido. |
Las llaves se crean y administran desde el panel, en Configuración → Llaves de API.
Ir al panel arrow_forward