Este webservice se utiliza para enviar una consulta general, sin una propiedad de por medio. Se solicitan y validan los datos básicos y se realiza una verificación antispam.
Es el formulario de la página de contacto de tu sitio: el visitante que no pregunta por un aviso puntual, sino por la inmobiliaria. La consulta ingresa al Inbox de Mapaprop de la inmobiliaria (la cuenta dueña del token) como un lead, igual que una consulta de ficha. El destinatario se resuelve del token, no se envía como parámetro.
La diferencia con messages es una sola: acá no se envía propertyHash. messages exige el identificador de una propiedad publicada, así que no sirve para una consulta general.
| Información del recurso | |
|---|---|
| Autenticación | Requerida (Token de API, Bearer) |
| Scope | express-base |
| HTTP Method | POST |
| Response | JSON |
| Version | 1 |
URL del recurso
https://mapaprop.app/api/action/express-v1/contact
Parámetros
| Key | Type | Required | Descripción |
|---|---|---|---|
| userAgent | string | yes | El string real del userAgent del browser. Requerido para la verificación antispam. |
| referer | string | yes | El string referer de la solicitud de envío de consulta. Requerido para la verificación antispam. |
| ip | string | yes | La IP del usuario que envía la consulta. Requerida para la verificación antispam. |
| url | string | yes | La URL de la página desde la que se envió el formulario. Puede ser igual al referer. |
| name | string | yes | Nombre del usuario que envía la consulta. Mínimo 3 y máximo 100 caracteres. |
| string | or | Email del usuario que envía la consulta. Se debe enviar email o teléfono. Máximo 100 caracteres. | |
| phone | string | or | Teléfono del usuario que envía la consulta. Se debe enviar email o teléfono. Máximo 100 caracteres. |
| message | string | yes | Texto enviado por el usuario. Máximo 4000 caracteres. |
| subject | string | no | Asunto del email que recibe la inmobiliaria. Máximo 200 caracteres. Si no se envía, el asunto es «Nueva consulta general de {name}». |
Email o teléfono: alcanza con uno de los dos. Pedirle los dos al visitante pierde consultas, así que la API acepta cualquiera de los dos canales de respuesta; si no llega ninguno, la respuesta es REQUIRED_INPUT con el texto Enter email or phone.
Código de ejemplo
POST /api/action/express-v1/contact HTTP/1.1
Host: mapaprop.app
Content-Type: application/x-www-form-urlencoded
Content-Length: 0
Authorization: Bearer {access_token}
userAgent=Mozilla%2F5.0%20%28X11%3B%20Linux%20x86_64%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome%2F32.0.1700.77%20Safari%2F537.36
&referer=https%3A%2F%2Fsomeinmo.com%2Fcontacto
&ip=85.33.65.69&url=https%3A%2F%2Fsomeinmo.com%2Fcontacto
&name=John%20Doe&email=john%40example.com&message=Quiero%20tasar%20mi%20departamento
Respuesta
La respuesta JSON indica si la consulta fue enviada correctamente. En caso de error, informa el motivo: campos inválidos o faltantes.
Si la verificación antispam considera sospechosa la consulta, la respuesta también es exitosa y el lead queda en la cola de moderación en vez de entrar directo al Inbox. Es deliberado: no se le avisa a quien envía spam que fue detectado.
| Objeto | Campo | Tipo | Requerido | Descripción |
|---|---|---|---|---|
| Response | success | boolean | yes | Booleano que indica si el envío fue exitoso o no |
| error | string | no | Texto que indica el tipo de error si success == false | |
| description | string | no | Detalle del error si success == false |
Ejemplo de respuesta
{
"success": false,
"error": "REQUIRED_INPUT",
"description": "Enter email or phone"
}