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
Datos de entrada:
Atributo | Tipo Dato | Requerido/Opcional | Descripción |
---|---|---|---|
Usuario | String | Requerido | Nombre del usuario |
Password | String | Requerido | Contraseña del usuario |
Cliente_hash | String | Requerido | Hash del cliente entregada por el servicio GET /client |
Datos de salida:
Atributo | Tipo Dato | Descripción |
---|---|---|
token | String | Token JWT generado para realizar las peticiones posteriores |
userId | Int | Identificador único de usuario |
userUsername | String | Nombre de usuario |
userName | String | Nombre completo de usuario |
userMail | String | Email usuario |
Ejemplo:
{ "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
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 |
---|---|---|
id | Int | Identificador único de proyecto |
nombre | String | Nombre proyecto |
direccion | String | Dirección proyecto |
comuna | String | Comuna proyecto |
cantidadEtapas | Int | Cantidad de etapas del proyecto |
fechaCreacion | Datetime | Fecha de creación proyecto |
fechaEdicion | Datetime | Fecha de edición proyecto |
Ejemplo:
{ "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
Datos de entrada:
Atributo | Tipo Dato | Requerido/Opcional | Descripción |
---|---|---|---|
key | String | Requerido | Key única por cliente |
ID Proyecto | Int | Requerido | Identificados único del proyecto |
Datos de salida:
Atributo | Tipo Dato | Descripción |
---|---|---|
id | Int | Identificador único etapa |
nombre | String | Nombre etapa |
cantidadPropiedades | Int | Número de propiedades etapa |
fechaCreacion | Datetime | Fecha creación etapa |
fechaEdicion | Datetime | Fecha modificación etapa |
fechaRecepcionMunicipal | Date | Fecha recepción municipal etapa |
Ejemplo:
{ "id": "34", "nombre": "ETAPA A", "cantidadPropiedades": "6", "fechaCreacion": null, "fechaEdicion": "2021-01-06 17:28:33", "fechaRecepcionMunicipal": "2012-10-01" }
/GET productos
Servicio que entrega el listado de productos/propiedades de la inmobiliaria según filtro enviado
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 |
---|---|---|
id | Int | Identificador único propiedad |
idPropietario | Int | Identificador único propietario |
nombre | String | Nombre propiedad |
tipoVivienda | String | Tipo de propiedad |
estacionamiento | String | Estacionamientos asociados |
bodega | String | Bodegas asociadas |
fechaCreacion | Datetime | Fecha de creación |
fechaEdicion | Datetime | Fecha de edición |
fechaEntrega | Date | Fecha de entrega |
fechaConservadorBienesRaices | Date | Fecha de inscripción en conservador de bienes raíces |
valorVentaUF | Float | Valor de venta propiedad (Sólo si está habilitada configuración) |
documentoActaEntrega | String | URL documento acta de entrega |
Ejemplo:
{ "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
Servicio que entrega el listado de propietarios de la inmobiliaria según filtro enviado
Atributo | Tipo Dato | Requerido/Opcional | Descripción |
---|---|---|---|
key | String | Requerido | Key única por cliente |
Datos de salida:
Atributo | Tipo Dato | Descripción |
---|---|---|
id | Int | Identificador único de propietario |
nombre | String | Nombre completo |
rut | String | Rut |
celular | String | Número celular |
fonoCasa | String | Número casa |
fonoOficina1 | String | Número oficina principal |
fonoOficina2 | String | Número oficina secundario |
String | ||
fechaCreacion | Datetime | Fecha de creación |
fechaEdicion | Datetime | Fecha de edición |
Ejemplo:
{ "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
Servicio que entrega el listado de solicitudes de la inmobiliaria según filtro enviado
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 |
---|---|---|
id | Id | Identificador único solicitud |
folio | String | Folio solicitud |
idProducto | Id | Identificador único de propiedad |
medioIngreso | String | Medio de ingreso solicitud |
tipoMedioIngreso | String | Categoría medio de ingreso |
estado | String | Estado solicitud |
fechaSolicitud | Date | Fecha real solicitud |
fechaCierre | Date | Fecha real de cierre solicitud |
fechaCreacion | Datetime | Fecha de creación |
fechaEdicion | Datetime | Fecha de edición |
Ejemplo:
{ "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
Servicio que permite crear una nueva solicitud de posventa
Datos de entrada:
Atributo | Tipo Dato | Requerido/Opcional | Descripción |
---|---|---|---|
key | String | Requerido | Key única por cliente |
Folio Externo | String | Requerido | Folio o correlativo externo referente a la solicitud |
ID Producto | Int | Requerido | Identificador único del producto/propiedad |
Medio Ingreso | String | Requerido | Identificador único del Medio Ingreso |
Fecha Solicitud | Date | Requerido | Fecha de la solicitud |
Datos de salida:
Atributo | Tipo Dato | Descripción |
---|---|---|
id | Int | Identificador único de solicitud creada |
folio | String | Folio de la solicitud creada |
fechaCreacion | Datetime | Fecha de creación |
Ejemplo:
"SUCCESS": { "id": "1433", "folio": "486-000067", "fechaCreacion": "2021-02-01 19:13:14" }
/GET requerimientos
Servicio que entrega el listado de requerimientos de una solicitud o requerimiento
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 |
---|---|---|
id | Int | Identificador único con el que se creó la solicitud |
folio | String | Folio con el que se creó la solicitud |
idSolicitud | Datetime | Fecha de creación |
estado | String | Estado del requerimiento |
idRecinto | Int | Identificador único recinto |
idLugar | Int | Identificador único lugar |
idItem | Int | Identificador único ítem |
idProblema | Int | Identificador único problema |
urgencia | Boolean | Urgencia del requerimiento |
descripcion | String | Descripción del requerimiento |
fechaInicioOrdenInspeccion | Datetime | Fecha de inicio orden de inspección |
fechaTerminoOrdenInspeccion | Datetime | Fecha de fin orden de inspección |
fechaDiagnostico | Datetime | Fecha del diagnóstico |
fechaInicioOrdenTrabajo | Datetime | Fecha de inicio orden de trabajo |
fechaTerminoOrdenTrabajo | Datetime | Fecha de fin orden de trabajo |
fechaCierre | Date | Fecha de cierre requerimiento |
fechaCreacion | Datetime | Fecha de creación |
fechaEdicion | Datetime | Fecha de edición |
imagenes | JSON | Imágenes/Fotos del requerimiento |
Ejemplo:
{ "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
Servicio que permite crear un nuevo requerimiento asociado a una solicitud de posventa previamente creada
Datos de entrada:
Atributo | Tipo Dato | Requerido/Opcional | Descripción |
---|---|---|---|
key | String | Requerido | Key única por cliente |
Folio Externo | String | Requerido | Folio o correlativo externo referente al requerimiento |
ID Solicitud | Int | Requerido | Identificador único de la solicitud existente |
ID Recinto | Int | Requerido | Identificador único del recinto |
ID Lugar | Int | Requerido | Identificador único del lugar |
ID Ítem | Int | Requerido | Identificador único del ítem |
ID Problema | Int | Requerido | Identificador único del problema |
Datos de salida:
Atributo | Tipo Dato | Descripción |
---|---|---|
id | Int | Identificador único del requerimiento creado |
folio | String | Folio del requerimiento creado |
fechaCreacion | Datetime | Fecha de creación |
Ejemplo:
"SUCCESS": { "id": "2918", "folio": "PRU-000075/2", "fechaCreacion": "2021-02-01 19:45:47" }
/GET documentos
Servicio que entrega el listado de documentos según filtro enviado
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 |
---|---|---|
idDocumento | Int | Identificador único documento |
idProyecto | Int | Identificador único proyecto |
idEtapa | Int | dentificador único etapa |
idProducto | Int | dentificador único producto/propiedad |
nombre | String | Nombre documento |
url | String | URL descarga documento |
contentType | String | Content type documento |
extension | String | Extensión documento |
Ejemplo:
{ "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" }