API Rest PVI
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 inmobiliaria |
Datos de salida
Atributo | Tipo Dato | Descripción |
---|---|---|
hash | String | Key única inmobiliaria |
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": "1.2.3"
}
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 inmobiliaria |
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 inmobiliaria |
idProyecto | Int | Requerido | Identificados único proyecto |
Datos de salida:
Atributo | Tipo Dato | Descripción |
---|---|---|
id | Int | Identificador único etapa |
nombre | String | Nombre etapa |
cantidadPropiedades | Int | Número de productos/propiedades etapa |
fechaCreacion | Datetime | Fecha creación etapa |
fechaEdicion | Datetime | Fecha modificación etapa |
fechaRecepcionMunicipal | Date | Fecha recepción municipal etapa |
Ejemplo:
/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 inmobiliaria |
idProyecto |
| Opcional | Identificador único proyecto |
idEtapa |
| Opcional | Identificador único etapa |
idPropiedad |
| Opcional | Identificador único producto/propiedad |
idPropietario |
| Opcional | Identificador único propietario |
estado |
| Opcional | Estado entrega (Entregada, NoEntregada) |
Datos de salida:
Atributo | Tipo Dato | Descripción |
---|---|---|
id | Int | Identificador único producto/propiedad |
idPropietario | Int | Identificador único propietario |
nombre | String | Nombre producto/propiedad |
tipoVivienda | String | Tipo de producto/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 producto/propiedad (Sólo si está habilitada configuración) |
documentoActaEntrega | String | URL documento acta de entrega |
Ejemplo:
/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 inmobiliaria |
idProyecto | Int | Opcional | Identificador único proyecto |
idPropietario | Int | Opcional | Identificador único propietario |
idEtapa | Int | Opcional | Identificador único etapa |
idPropiedad | Int | Opcional | Identificador único producto/propiedad |
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:
/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 inmobiliaria |
idSoliciud |
| Opcional | Identificador único solicitud |
idPropietario |
| Opcional | Identificador único propietario |
idEtapa |
| Opcional | Identificador único etapa |
idPropiedad |
| Opcional | Identificador único producto/propiedad |
folio |
| Opcional | Folio solicitud |
fechaEdicionInicio |
| Opcional | Fecha inicio de edición |
fechaEdicionFin |
| Opcional | Fecha fin de edición |
estado |
| Opcional | Estado solicitud (Abierto, Cerrado o En Curso) |
Datos de salida:
Atributo | Tipo Dato | Descripción |
---|---|---|
id | Id | Identificador único solicitud |
folio | String | Folio solicitud |
idProducto | Id | Identificador único de producto/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:
/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 inmobiliaria |
folioExterno | String | Requerido | Folio o correlativo externo referente a la solicitud |
idProducto | Int | Requerido | Identificador único del producto/propiedad |
medioIngreso | String | Requerido | Identificador único del Medio Ingreso |
fechaSolicitud | 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:
/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 inmobiliaria |
idSolicitud | Int | Opcional | Identificador único solicitud |
idRequerimiento | Int | Opcional | Identificador único requerimiento |
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:
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 inmobiliaria |
folioExterno | String | Requerido | Folio o correlativo externo referente al requerimiento |
idSolicitud | Int | Requerido | Identificador único de la solicitud existente |
idRecinto | Int | Requerido | Identificador único del recinto |
idLugar | Int | Requerido | Identificador único del lugar |
idÍtem | Int | Requerido | Identificador único del ítem |
idProblema | Int | Requerido | Identificador único del problema |
urgencia | Boolean | Opcional | Urgencia de requerimiento (True,False) |
descripcion | String | Opcional | Descripcion del requerimiento |
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:
/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 inmobiliaria |
idProyecto | Int | Opcional | Identificador único proyecto |
idEtapa | Int | Opcional | Identificador único etapa |
idProducto | Int | Opcional | Identificador único producto/propiedad |
Datos de salida:
Atributo | Tipo Dato | Descripción |
---|---|---|
idDocumento | Int | Identificador único documento |
idProyecto | Int | Identificador único proyecto |
idEtapa | Int | Identificador único etapa |
idProducto | Int | Identificador único producto/propiedad |
nombre | String | Nombre documento |
url | String | URL descarga documento |
contentType | String | Content type documento |
extension | String | Extensión documento |
Ejemplo: