A continuación se detalla cada uno de los recursos desarrollados para la implementación de una integración con PVI. Cada recurso contiene una descripción, sus parámetros de entrada y los datos de respuesta, más un ejemplo de respuesta del mismo.
Endpoint: https://www.pvi.cl/api/
La URL anterior sólo podrá ser utilizada si se activa una llave de uso para el cliente (API KEY) que debe ser solicitada para cada integración.
GET /client
Servicio para obtener datos generales de la inmobiliaria:
Datos de entrada:
Atributo | Tipo Dato | Requerido/Opcional | Descripción |
---|---|---|---|
key | String | Requerido | Key única por cliente |
Datos de salida
Atributo | Tipo Dato | Descripción |
---|---|---|
hash | String | Key única por cliente |
name | String | Nombre corto inmobiliaria |
hasPreEntrega | Int | Flag que indica si tiene activas las pre entregas |
locale | String | Lenguaje inmobiliaria |
rutInmobiliaria | String | Rut inmobiliaria |
inmobiliariaName | String | Nombre completo inmobiliaria |
apiPath | String | URL API |
path | String | URL PVI |
appPreEntregaInterna | Int | Flag que indica si tiene activas las pre entregas internas |
appPreEntregaInmobiliaria | Int | Flag que indica si tiene activas las pre entregas inmobiliaria |
appPreEntregaTercero | Int | Flag que indica si tiene activas las pre entregas a terceros |
appEntregaPropietario | Int | Flag que indica si tiene activas las entregas a propietarios |
appEntregaTercero | Int | Flag que indica si tiene activas las entregas a terceros |
tieneCalificacionFalla | Int | Flag que indica si tiene activas las clasificaciones de falla |
tienePruebaFuncionalidad | Int | Flag que indica si tiene activas las pruebas funcionales |
appVersion | String | Versión App móvil |
Ejemplo:
{ "hash": "cHZpX3ZlbnRhcw", "name": "ventas", "hasPreEntrega": "1", "locale": "es_CL", "rutInmobiliaria": "17031301-1", "inmobiliariaName": "Inmobiliaria PLANOK", "apiPath": "https://www.pvi.cl/api/v2/", "path": "https://www.pvi.cl/ventas/img/logos_clientes/planoklogo.jpg", "appPreEntregaInterna": "1", "appPreEntregaInmobiliaria": "1", "appPreEntregaTercero": "1", "appEntregaPropietario": "1", "appEntregaTercero": "1", "tieneCalificacionFalla": "1", "tienePruebaFuncionalidad": "1", "appVersion": null }
POST /user/login
Servicio para realizar login en la api con credenciales de usuario, con este servicio se obtiene el token JWT para el consumo de los demás servicios
I. Parámetros requeridos:
· Usuario: Nombre de usuario.
· Password: Contraseña del usuario.
· Cliente_hash: Hash del cliente.
II. Respuesta:
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiIxIiwidXNlclVzZXJuYW1lIjoicGxhbm9rIiwidXNlck5hbWUiOiJQT0sgLSBFSkVDVVRJVk8gUExBTk9LIiwiY29tcGFueUhhc2giOiJjSFpwWDNabGJuUmhjdyIsInVzZXJIYXNoIjoiTjJNeU1qSm1Zakk1TWpka09ESTRZV1l5TW1ZMU9USXhNelJsT0Rrek1qUTRNRFl6TjJNd1pBIn0.rqGigqLeVm1ollRU_nBMHdHNDvWxXlo7OL6wcy8L3Zs",
"userId": "1",
"userUsername": "planok",
"userName": "POK - EJECUTIVO PLANOK",
"userMail": "gpena@planok.com"
}
Se debe considerar que para todas las peticiones posteriores al login se debe enviar siempre el token JWT, de lo contrario la petición fallará por no autorización
GET /proyectos
Servicio que entrega el listado de proyectos de la inmobiliaria
I. Parámetros requeridos:
· Key: Clave inmobiliaria.
II. Respuesta:
{
"id": "47",
"nombre": "LOS ALERCES",
"direccion": "LA SERENA",
"comuna": "PROVIDENCIA",
"codigoProyecto": "LALERC",
"cantidadEtapas": "1",
"fechaCreacion": null,
"fechaEdicion": "2021-01-25 13:11:06"
}
GET /etapas
Servicio que entrega el listado de etapas de un proyecto de la inmobiliaria
I. Parámetros requeridos:
· Key: Clave inmobiliaria.
· ID Proyecto: ID del proyecto.
II. Respuesta:
{
"id": "34",
"nombre": "ETAPA A",
"cantidadPropiedades": "6",
"fechaCreacion": null,
"fechaEdicion": "2021-01-06 17:28:33",
"fechaRecepcionMunicipal": "2012-10-01"
}
/GET productos
I. Parámetros requeridos:
· Key: Clave inmobiliaria.
II. Respuesta:
{
"id": "1494",
"idPropietario": "1870",
"nombre": "LOA - DEPTO. 201",
"tipoVivienda": "DEPARTAMENTO",
"estacionamiento": "",
"bodega": "",
"fechaCreacion": null,
"fechaEdicion": null,
"fechaEntrega": "0000-00-00",
"fechaConservadorBienesRaices": "2012-10-01",
"valorVentaUF": null,
"documentoActaEntrega": ""
}
/GET propietarios
I. Parámetros requeridos:
· Key: clave inmobiliaria.
II. Respuesta:
{
"id": "31",
"nombre": "SILVANO EVANGELISTA",
"rut": "1",
"celular": "-",
"fonoCasa": "2725483",
"fonoOficina1": "-",
"fonoOficina2": "-",
"email": "notificaciones_pvi@planok.com",
"fechaCreacion": null,
"fechaEdicion": "2020-05-15 20:05:19"
}
/GET solicitudes
I. Parámetros requeridos:
· Key: Clave inmobiliaria.
II. Respuesta:
{
"id": "632",
"folio": "486-000011",
"idProducto": "3300",
"medioIngreso": "TELEFONO",
"tipoMedioIngreso": "POSTVENTA",
"estado": "ABIERTO",
"fechaSolicitud": "2017-06-22",
"fechaCierre": null,
"fechaCreacion": null,
"fechaEdicion": null
}
/POST solicitudes
I. Parámetros requeridos:
· Key: Clave inmobiliaria.
· Folio Externo: Folio o correlativo externo referente a la solicitud.
· ID Producto: ID del producto.
· Medio Ingreso: ID Medio Ingreso.
· Fecha Solicitud: Fecha de la solicitud.
II. Respuesta:
"SUCCESS": {
"id": "1433",
"folio": "486-000067",
"fechaCreacion": "2021-02-01 19:13:14"
}
/GET requerimientos
I. Parámetros requeridos:
· Key: Clave inmobiliaria.
II. Respuesta:
{
"id": "8",
"folio": "PRU-000075/1",
"idSolicitud": "7",
"estado": "OT GENERADA",
"idRecinto": "10018",
"idLugar": "10058",
"idItem": "10021",
"idProblema": "10044",
"urgencia": false,
"descripcion": "anclaje quebrado",
"fechaInicioOrdenInspeccion": "2012-11-07 9:45-",
"fechaTerminoOrdenInspeccion": "2012-11-07 1:15",
"fechaDiagnostico": null,
"fechaInicioOrdenTrabajo": "2013-10-02",
"fechaTerminoOrdenTrabajo": null,
"fechaCierre": null,
"fechaCreacion": "2012-11-05 17:02:04",
"fechaEdicion": null,
"imagenes": []
}
POST /requerimientos
I. Parámetros requeridos:
· Key: Clave inmobiliaria.
· Folio Externo: Folio o correlativo externo referente al requerimiento.
· ID Solicitud: ID de la solicitud requerido.
· ID Recinto: ID del recinto requerido.
· ID Lugar: ID del lugar requerido.
· ID Ítem: ID del ítem requerido.
· ID Problema: ID del problema requerido.
II. Respuesta:
"SUCCESS": {
"id": "2918",
"folio": "PRU-000075/2",
"fechaCreacion": "2021-02-01 19:45:47"
}
/GET documentos
I. Parámetros requeridos:
· Key: clave inmobiliaria.
II. Respuesta:
{
"idDocumento": "1",
"idProyecto": "51",
"idEtapa": "38",
"idProducto": "1781",
"nombre": "7. Credencial.png",
"url": "https://www.pvi.cl/ventas/CLIENTES/ventas/upload/documentos/7. Credencial.png",
"contentType": "image/png",
"extension": "png"
}