openapi: 3.0.0
info:
description: |
Esta é a documentação oficial da API pública da Rede Vistorias.
Além do ambiente de produção, oferecemos um ambiente de testes (sandbox):
- Produção: https://api.redevistorias.com.br/erp
- Sandbox: https://api.sandbox.redevistorias.com.br/erp
As rotas de autenticação, por sua vez, possuem sua própria URL, também possuindo ambientes de produção e sandbox:
- Produção: https://auth.redevistorias.com.br
- Sandbox: https://auth.sandbox.redevistorias.com.br
version: '1.5'
title: Rede Vistorias ERP API
contact:
email: ti@redevistorias.com.br
license:
name: Apache 2.0
url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
servers:
- url: https://api.sandbox.redevistorias.com.br/erp
- url: https://api.redevistorias.com.br/erp
tags:
- name: Autenticação
description: >-
Para a integração de um serviço externo com a API da Rede Vistorias é
necessária a utilização de uma API Key fornecida pelo usuário (ou
adquirida no cadastro do cliente). Possuindo uma API Key é possível gerar
um 'Bearer token' com validade de 1 dia. Este token é obrigatório em todos
os requests na API da Rede Vistorias.
- name: Clientes
description: Integração de novos clientes à API da Rede Vistorias.
#- name: Integrações
# description: |
# 
# Caso o cliente a ser cadastrado já exista no nosso banco de dados, um aviso
# será retornado, informando que o cliente já existe em nossa base de dados (1.1).
# Assim, será necessário acessar a página de login (2), e, após fazer o login,
# conceder as permissões necessárias (2.1). Feito isso, será retornado um código de
# autorização (2.2). Com este código deverá ser feita uma requisição (3), em nosso
# servidor de autenticação, que retornará o token de autenticação do usuário (3.1).
# Com este token, é possível fazer uma requisição à API da Rede Vistorias, para fazer
# a integração ([4](#operation/addIntegration)), recebendo na resposta a API key, utilizada na geração do token
# de autenticação requerido pelos demais endpoints da API (4.1).
- name: Pedidos
description: >-
A API da Rede Vistorias provê uma forma de serviços externos realizarem
pedidos de vistorias. Todas alterações no pedido que sejam relevantes para
o cliente serão notificadas por um webhook no endpoint informado no
momento da geração da API Key. Cada webhook possui um formato específico
para a ação que ele representa.
- name: Orçamento
description: >-
A API da Rede Vistorias provê uma rota para simular o preço de uma
vistoria.
- name: Recursos
description: >-
Algumas vistorias possuem recursos extras que podem ser acessado pelo integrador,
essa rota possibilita esse acesso.
- name: Webhook
description: >-
O serviço do Rede Vistorias utiliza webhooks para notificar a ferramenta de integração utilizada pelo cliente sobre
mudanças do estado do pedido realizado. Esse webhook deve ter caráter público e é informado pelo
usuário do sistema no momento de criação da integração. Os eventos
existentes são emitidos sempre para a mesma URL seguindo o fluxo do pedido quando é aprovado, rejeitado, atribuído ou
finalizado.
- name: Upload URL
description: >-
A API do Rede Vistorias provê uma rota para upload de arquivos em nossa plataforma,
utilizado quando uma vistoria requer uma anterior (caso das vistorias de saída e conferência),
podendo ser feito esse upload.
- name: Unidades
description: >-
A API da Rede Vistorias provê uma rota para recuperar as unidades com as quais o cliente possui vínculo.
Esta informação (valor inteiro e que, na listagem, se chama "id") deverá ser utilizada na geração de pedido, caso queira identificar
a qual unidade aquele pedido pertencerá (franchisee_id).
paths:
/token:
post:
tags:
- Autenticação
summary: Gera o token de acesso
description: |

Esta requisição aceita três tipos de "grant_type":
- **api_key**: O token gerado neste tipo de requisição é utilizado para
fazer novos pedidos na API (utilizado nas requisições de Pedidos ou
Price Preview)
- **client_credentials**: Utilizado para cadastrar novos clientes e
integrações em nossa API.
operationId: generateToken
servers:
- url: https://auth.sandbox.redevistorias.com.br/
- url: https://auth.redevistorias.com.br/
requestBody:
content:
application/x-www-form-urlencoded:
schema:
oneOf:
- $ref: '#/components/schemas/APIKeyGrant'
- $ref: '#/components/schemas/ClientCredentialsGrant'
description: Dados do cliente que deverá ser adicionado
required: true
responses:
'200':
description: OK
content:
application/x-www-form-urlencoded:
schema:
oneOf:
- $ref: '#/components/schemas/APIKeyResponse'
- $ref: '#/components/schemas/ClientCredentialsResponse'
'401':
description: Unauthorized
/orders/upload_url:
get:
tags:
- Upload URL
summary: Gera uma URL assinada no S3
description: >-
Utilizando esta rota, é possível conseguir a URL para upload de um arquivo
na nossa plataforma, associando este arquivo a um remote-name, utilizado por outras
rotas. Assim, é possível fazer upload na plataforma da S3, fazendo uma requisição do tipo
PUT na URL gerada, e passando o arquivo na requisição. Maiores informações podem ser obtidas
na documentação da Amazon.
operationId: uploadURL
parameters:
- in: header
name: Authorization
required: true
example: Bearer eyJ0eXAiOiJKV1QiL...
schema:
type: string
responses:
'200':
description: Generated
content:
application/json:
schema:
type: object
properties:
remote_name:
type: string
example: 75300A80-2E79-492F-8B3F-4B6239D1319F\/ABD57818-40FE-11E9-A15D-02420A00001D
url:
type: string
example: https:\/\/s3.amazonaws.com\/upload.dev.redevistorias.com.br\/75300A80-2E79-492F-8B3F-4B6239D1319F\/ABD57818-40FE-11E9-A15D-02420A00001D?...
'500':
description: Internal error
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: "Error trying to generate the signed URL. If this problem persists, please inform the administrator"
/clients:
post:
tags:
- Clientes
summary: Cadastra um novo cliente na API do Rede Vistorias
description: >-
Novos clientes podem ser cadastrados diretamente pela API disponibilizada
pela Rede Vistorias, passando os dados informados abaixo.

Todavia, caso o cliente já exista em nosso banco de dados, um erro de conflito será gerado.
operationId: addNaturalPerson
parameters:
- in: header
name: Authorization
required: true
example: Bearer eyJ0eXAiOiJKV1QiL...
schema:
type: string
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
api_key:
type: string
'400':
description: Bad Request
'401':
description: Unauthorized
'409':
description: Already existing client
content:
application/json:
schema:
type: object
properties:
auth_domain:
type: string
example: 'https://auth.redevistorias.com.br/token'
description: >-
Pagina do servidor de autorização onde o usuário irá
permitir o acesso aos seus dados.
auth_scopes:
type: string
example: 'order:* financial:view'
description: >-
Lista de escopos que deve ser enviado para o servidor de
autorização.
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/ClientPessoaFisica'
- $ref: '#/components/schemas/ClientPessoaJuridica'
description: >-
A API da Rede Vistorias provê uma forma de serviços externos adicionar
novos clientes no sistema. Este cliente pode ser tanto uma pessoa
física quanto uma pessoa jurídica. No caso do cliente ser pessoa
jurídica, é necessário também informar os dados do responsável na
empresa - seu documento, nome, contato e endereço.
required: true
#/integrations:
# post:
# tags:
# - Integrações
# summary: Cadastra uma nova integração de cliente na API do Rede Vistorias
# description: ''
# operationId: addIntegration
# parameters:
# - in: header
# name: Authorization
# required: true
# example: Bearer eyJ0eXAiOiJKV1QiL...
# schema:
# type: string
# responses:
# '201':
# description: Created
# content:
# application/json:
# schema:
# type: object
# properties:
# api_key:
# type: string
# example: edyhudas876...
# description: API KEY used to get the bearer token
# '400':
# description: Bad request.
# '401':
# description: Unauthorized
# '404':
# description: Client not found
# requestBody:
# content:
# application/json:
# schema:
# $ref: '#/components/schemas/Integration'
# required: true
/orders:
post:
tags:
- Pedidos
summary: Cadastra um novo pedido de vistoria na API do Rede Vistorias.
description: O retorno é o código cadastrado da vistoria, e o preço que será consumido do pacote contratado pelo cliente, em metros quadrados.
No caso do pedido de saída ou de conferência, deve ser informada a inspeção anterior. Isto pode ser feito de duas formas, fazendo o upload
de um arquivo (ver Upload URL) ou informando um link já existente, que será processado por nossa plataforma.
operationId: addPedido
parameters:
- in: header
name: Authorization
required: true
example: Bearer eyJ0eXAiOiJKV1QiL...
schema:
type: string
responses:
'201':
description: OK
content:
application/json:
schema:
type: object
properties:
code:
type: string
example: VLE.987.00125
description: Código de identificação da vistoria.
price:
type: string
example: '85.50'
description: Preço a pagar pela vistoria.
'400':
description: Bad request.
'401':
description: Unauthorized
requestBody:
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/PedidoEntrada'
- $ref: '#/components/schemas/PedidoSaida'
- $ref: '#/components/schemas/PedidoConferencia'
- $ref: '#/components/schemas/PedidoTransferencia'
required: true
/price_preview:
post:
tags:
- Orçamento
summary: Permite verificar o preço da vistoria.
description: Este preço é o crédito que será consumido do pacote contratado pelo cliente, em metros quadrados.
operationId: addPricePreview
parameters:
- in: header
name: Authorization
required: true
example: Bearer eyJ0eXAiOiJKV1QiL...
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
price:
type: string
example: '85.50'
description: O preço da vistoria.
'400':
description: Bad request.
'401':
description: Unauthorized
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PricePreview'
required: true
/resources:
post:
tags:
- Recursos
summary: Acessa recursos fornecidos pela vistoria.
operationId: accessOrderResource
parameters:
- name: Authorization
in: header
required: true
example: Bearer eyJ0eXAiOiJKV1QiL...
schema:
type: string
- name: infos
in: query
description: Identificação do recurso que deseja acessar
example: 'last_report'
required: false
style: form
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
report:
type: string
example: 'https://relatorio.redevistorias.com.br/.../.pdf'
description: Link para acessar o relatorio
'400':
description: Bad request.
'401':
description: Unauthorized
/acceptedWebhook:
post:
tags:
- Webhook
summary: Accepted Webhook
description: Este webhook é executado quando o pedido foi aceito.
operationId: acceptedWebhook
responses:
'200':
description: OK
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AcceptedWebhook'
required: true
/finishedWebhook:
post:
tags:
- Webhook
summary: Finished Webhook
description: Este webhook é executado quando a vistoria é executada e finalizada.
operationId: finishedWebhook
responses:
'200':
description: OK
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FinishedWebhook'
required: true
/rejectedWebhook:
post:
tags:
- Webhook
summary: Rejected Webhook
description: >-
Este webhook é executado quando, por razões diversas, o pedido foi
rejeitado.
operationId: rejectedWebhook
responses:
'200':
description: OK
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RejectedWebhook'
required: true
/cancelledWebhook:
post:
tags:
- Webhook
summary: Cancelled Webhook
description: >-
Este webhook é executado quando, por razões diversas, o pedido foi cancelado
após ter sido aceito.
operationId: cancelledWebhook
responses:
'200':
description: OK
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CancelledWebhook'
required: true
/divergenceWebhook:
post:
tags:
- Webhook
summary: Divergence Webhook
description: >-
Este webhook é executado quando, após a vistoria ter sido entregue ao inquilino,
este contesta alguma das informações presentes.
operationId: divergenceWebhook
responses:
'200':
description: OK
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DivergenceWebhook'
required: true
/assignedWebhook:
post:
tags:
- Webhook
summary: Assigned Webhook
description: >-
Este webhook é executado quando se atribui um vistoriador ao pedido de vistoria, somente após o pedido ter sido aceito.
operationId: assignedWebhook
responses:
'200':
description: OK
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AssignedWebhook'
required: true
/franchisees:
get:
tags:
- Unidades
summary: Recebe uma lista das unidades com as quais o cliente possui vínculo
description: >-
O retorno é uma lista de unidades, contendo os params "id" e "name", de forma a facilitar a identificação
de qual unidade se deseja inserir no pedido.
operationId: getFranchisees
parameters:
- in: header
name: Authorization
required: true
example: Bearer eyJ0eXAiOiJKV1QiL...
schema:
type: string
responses:
'200':
description: Generated
content:
application/json:
schema:
type: object
properties:
id:
type: integer
example: 12
name:
type: string
example: Unidade Rede Vistorias
'400':
description: Bad Request
'404':
description: Not Found
content:
application/json:
schema:
type: object
properties:
error:
type: string
example: "Couldn't find franchisees"
components:
schemas:
AcceptedWebhook:
type: object
properties:
code:
type: string
example: VLE.987.00125
description: Código do pedido
status:
type: string
example: ACCEPTED
description: Estado do pedido
building_id:
type: string
example: Apt 203 - Ed Atol das Rocas
description: Identificação do imóvel.
price:
type: string
example: '75.00'
description: Preço temporário
observation:
type: string
example: As chaves serão retiradas na imobiliária às 14h do dia 22.
description: Observações sobre o pedido
trace_data:
$ref: '#/components/schemas/TraceData'
Address:
type: object
required:
- street
- number
- zipcode
- neighborhood
- city
- state
properties:
street:
type: string
example: R. Pastor William Richard Schisler Filho
number:
type: string
example: 452
complement:
type: string
example: Sala 3
zipcode:
type: string
example: 88034-100
neighborhood:
type: string
example: Itacorubi
city:
type: string
example: Florianópolis
state:
type: string
example: SC
enum:
- AC
- AL
- AP
- AM
- BA
- CE
- DF
- ES
- GO
- MA
- MT
- MS
- MG
- PA
- PB
- PR
- PE
- PI
- RJ
- RN
- RS
- RO
- RR
- SC
- SP
- SE
- TO
ApiResponse:
type: object
properties:
code:
type: integer
format: int32
type:
type: string
message:
type: string
ClientPessoaFisica:
title: Pessoa Física
type: object
required:
- client_type
- document
- name
- email
- phone
- address
- hooks
properties:
client_type:
type: string
example: pf
description: pf para Pessoa Física
document:
type: string
example: 000.000.999-99
description: 'Identificador do cliente, CPF para pessoas físicas.'
name:
type: string
example: Novo Usuário
description: 'Nome completo do usuário, em caso de pessoa física.'
cellphone:
type: string
example: (48) 99999-9999
description: 'Telefone celular do usuário, se houver.'
phone:
type: string
example: (48) 3000-0000
description: Telefone do usuário.
email:
type: string
example: ti@redevistorias.com.br
description: Email do usuário.
website:
type: string
example: 'http://redevistorias.com.br'
description: 'Site do cliente, se houver.'
address:
$ref: '#/components/schemas/Address'
hooks:
type: array
items:
$ref: '#/components/schemas/Hook'
ClientPessoaJuridica:
title: Pessoa Jurídica
type: object
required:
- client_type
- document
- name
- email
- phone
- address
- responsible
properties:
client_type:
type: string
example: pj
description: pj para Pessoa Jurídica
document:
type: string
example: 00.111.333/1000-98
description: 'Identificador do cliente: CNPJ, para pessoas jurídicas.'
name:
type: string
example: Novo Usuário
description: 'Razão social, no caso de pessoa jurídica.'
cellphone:
type: string
example: (48) 99999-9999
description: 'Telefone celular do usuário, se houver.'
phone:
type: string
example: (48) 3000-0000
description: Telefone do usuário.
email:
type: string
example: ti@redevistorias.com.br
description: Email do usuário.
website:
type: string
example: 'http://redevistorias.com.br'
description: 'Site do cliente, se houver.'
address:
$ref: '#/components/schemas/Address'
responsible:
$ref: '#/components/schemas/Responsible'
hooks:
type: array
items:
$ref: '#/components/schemas/Hook'
Cost:
type: object
properties:
condominium:
type: number
example: 330
description: Valor do condomínio.
iptu:
type: number
example: 267.9
description: Valor do IPTU.
rent:
type: number
example: 1400
description: Valor do aluguel.
Detail:
type: object
required:
- building_id
- building_type
- area
- inspection_type
- furnished
- modality
- express
properties:
building_id:
type: string
maxLength: 30
example: Ed. Itacoru II - Bl 8 Apt 301
description: Identificação do imóvel.
building_type:
type: string
example: Casa
enum:
- Apartamento
- Casa
- Galpão
- Garagem
- Kitinete
- Loft
- Loja
- Prédio
- Sala
- Duplex
- Terreno
area:
type: float
example: 345
description: Área total do imóvel.
inspection_type:
type: string
example: entrada
enum:
- entrada
- saida
- transferencia
- conferencia
purpose:
type: string
example: Residencial
enum:
- Residencial
- Comercial
- Galpão
furnished:
type: string
example: unfurnished
enum:
- furnished
- semi-furnished
- unfurnished
modality:
type: string
example: premium
description: Modalidade do pedido.
enum:
- standard
- premium
express:
type: boolean
example: true
description: Opção por vistoria express.
details:
type: string
example: 'Retirar as chaves às 14:00.'
description: >-
Informações adicionais importantes ao pedido, por exemplo, local das
chaves, horário de retirada, etc.
franchisee_id:
type: integer
example: 12
description: >-
Código da unidade que está gerando o pedido. (Valor obtido na listagem de unidades)
Essa key não deve ser informada caso não haja uma unidade (franchisee_id)
Notes:
type: string
example: Notas que irão aparecer no relatório
description: Observações que irão aparecer no relatório final da vistoria.
FinishedWebhook:
type: object
properties:
code:
type: string
example: VLE.987.00125
description: Código do pedido
status:
type: string
example: FINISHED
description: Estado do pedido
building_id:
type: string
example: Apt 203 - Ed Atol das Rocas
description: Identificação do imóvel.
price:
type: string
example: '75.00'
description: Preço final.
page_url:
type: string
example: 'https://vistori.as/VLE98700125'
description: >-
URL do hotiste onde o cliente poderá executar ações sobre este
pedido.
reports:
type: array
items:
$ref: '#/components/schemas/Report'
trace_data:
$ref: '#/components/schemas/TraceData'
Integration:
type: object
required:
- client
- hooks
properties:
client:
type: string
example: Teste
description: Username do cliente
hooks:
type: array
items:
$ref: '#/components/schemas/Hook'
Hook:
type: object
properties:
type:
type: string
example: webhook
enum:
- webhook
url:
type: string
example: 'https://seu.erp.com.br/hook'
description: URL do endpoint que receberá o webhook com as atualizações do pedido.
Key:
type: object
properties:
simple:
type: integer
example: 2
description: Quantidade de chaves simples existentes para esse imóvel.
foursided:
type: integer
example: 4
description: Quantidade de chaves "tetra" existentes para esse imóvel.
others:
type: string
example: 1 controle remoto
description: Quantidade de outros tipos de chaves existentes para esse imóvel.
PedidoEntrada:
title: Entrada
type: object
required:
- details
- address
properties:
details:
$ref: '#/components/schemas/Detail'
address:
$ref: '#/components/schemas/Address'
keys:
$ref: '#/components/schemas/Key'
cost:
$ref: '#/components/schemas/Cost'
people:
$ref: '#/components/schemas/PessoaEntrada'
notes:
$ref: '#/components/schemas/Notes'
trace_data:
$ref: '#/components/schemas/TraceData'
PedidoSaida:
title: Saída
type: object
required:
- details
- address
- previous_inspection
properties:
details:
$ref: '#/components/schemas/Detail'
address:
$ref: '#/components/schemas/Address'
keys:
$ref: '#/components/schemas/Key'
cost:
$ref: '#/components/schemas/Cost'
people:
$ref: '#/components/schemas/PessoaSaida'
previous_inspection:
$ref: '#/components/schemas/PreviousInspection'
notes:
$ref: '#/components/schemas/Notes'
trace_data:
$ref: '#/components/schemas/TraceData'
PedidoConferencia:
title: Conferência
type: object
required:
- details
- address
- previous_inspection
properties:
details:
$ref: '#/components/schemas/Detail'
address:
$ref: '#/components/schemas/Address'
keys:
$ref: '#/components/schemas/Key'
cost:
$ref: '#/components/schemas/Cost'
people:
$ref: '#/components/schemas/PessoaConferencia'
previous_inspection:
$ref: '#/components/schemas/PreviousInspection'
notes:
$ref: '#/components/schemas/Notes'
trace_data:
$ref: '#/components/schemas/TraceData'
PedidoTransferencia:
title: Transferência
type: object
required:
- details
- address
properties:
details:
$ref: '#/components/schemas/Detail'
address:
$ref: '#/components/schemas/Address'
keys:
$ref: '#/components/schemas/Key'
cost:
$ref: '#/components/schemas/Cost'
people:
$ref: '#/components/schemas/PessoaTransferencia'
notes:
$ref: '#/components/schemas/Notes'
trace_data:
$ref: '#/components/schemas/TraceData'
Person:
type: object
required:
- name
properties:
name:
type: string
example: Maísa Senna
description: Nome da pessoa
signature:
type: boolean
example: true
description: Campo que indica se a assinatura é requerida
HouseHunter:
type: object
properties:
id:
type: string
example: houseHunter
title:
type: string
example: Captador
content:
type: array
items:
$ref: '#/components/schemas/Person'
PropertyManager:
type: object
properties:
id:
type: string
example: propertyManager
title:
type: string
example: Administradora
content:
type: array
items:
$ref: '#/components/schemas/Person'
Owner:
type: object
properties:
id:
type: string
example: owner
title:
type: string
example: Locador
content:
type: array
items:
$ref: '#/components/schemas/Person'
Tenant:
type: object
properties:
id:
type: string
example: tenant
title:
type: string
example: Locatário
content:
type: array
items:
$ref: '#/components/schemas/Person'
Guarantor:
type: object
properties:
id:
type: string
example: guarantor
title:
type: string
example: Fiador
content:
type: array
items:
$ref: '#/components/schemas/Person'
Witness:
type: object
properties:
id:
type: string
example: witness
title:
type: string
example: Testemunha
content:
type: array
items:
$ref: '#/components/schemas/Person'
RealEstateAgency:
type: object
properties:
id:
type: string
example: realEstateAgency
title:
type: string
example: Imobiliária
content:
type: array
items:
$ref: '#/components/schemas/Person'
RealEstateBroker:
type: object
properties:
id:
type: string
example: realEstateBroker
title:
type: string
example: Corretor
content:
type: array
items:
$ref: '#/components/schemas/Person'
Seller:
type: object
properties:
id:
type: string
example: seller
title:
type: string
example: Vendedor
content:
type: array
items:
$ref: '#/components/schemas/Person'
Buyer:
type: object
properties:
id:
type: string
example: buyer
title:
type: string
example: Comprador
content:
type: array
items:
$ref: '#/components/schemas/Person'
PessoaEntrada:
title: Pessoa
type: array
items:
- $ref: '#/components/schemas/HouseHunter'
- $ref: '#/components/schemas/PropertyManager'
- $ref: '#/components/schemas/Owner'
- $ref: '#/components/schemas/Tenant'
- $ref: '#/components/schemas/Guarantor'
- $ref: '#/components/schemas/Witness'
PessoaSaida:
title: Pessoa
type: array
items:
- $ref: '#/components/schemas/HouseHunter'
- $ref: '#/components/schemas/PropertyManager'
- $ref: '#/components/schemas/Owner'
- $ref: '#/components/schemas/Tenant'
- $ref: '#/components/schemas/Guarantor'
- $ref: '#/components/schemas/Witness'
PessoaConferencia:
title: Pessoa
type: array
items:
- $ref: '#/components/schemas/HouseHunter'
- $ref: '#/components/schemas/PropertyManager'
- $ref: '#/components/schemas/Owner'
- $ref: '#/components/schemas/Tenant'
- $ref: '#/components/schemas/Guarantor'
- $ref: '#/components/schemas/Witness'
PessoaTransferencia:
title: Pessoa
type: array
items:
- $ref: '#/components/schemas/HouseHunter'
- $ref: '#/components/schemas/RealEstateAgency'
- $ref: '#/components/schemas/RealEstateBroker'
- $ref: '#/components/schemas/Seller'
- $ref: '#/components/schemas/Buyer'
- $ref: '#/components/schemas/Witness'
PricePreview:
type: object
required:
- inspection_type
- building_type
- area
- furnished
- modality
- express
properties:
inspection_type:
type: string
example: entrada
description: Tipo de vistoria que deve ser executada
enum:
- entrada
- saida
- transferencia
- conferencia
building_type:
type: string
example: Casa
description: Tipo de imóvel
enum:
- Apartamento
- Casa
- Galpão
- Garagem
- Kitinete
- Loft
- Loja
- Prédio
- Sala
- Duplex
- Terreno
area:
type: float
example: 76
description: Área total do imóvel.
furnished:
type: string
example: furnished
description: Estado do imóvel
enum:
- furnished
- semi-furnished
- unfurnished
modality:
type: string
example: premium
description: Modalidade do pedido
enum:
- standard
- premium
express:
type: boolean
example: true
description: Opção por vistoria express
RejectedWebhook:
type: object
properties:
code:
type: string
example: VLE.987.00125
description: Código do pedido
status:
type: string
example: REJECTED
description: Estado do pedido
building_id:
type: string
example: Apt 203 - Ed Atol das Rocas
description: Identificação do imóvel.
observation:
type: string
example: Endereço não tem cobertura do serviço
description: Razão da recusa
trace_data:
$ref: '#/components/schemas/TraceData'
Report:
type: object
properties:
type:
type: string
example: inspection
description: Tipo de relatório
label:
type: string
example: Relatório de vistoria
description: Nome do relatório
withPictures:
type: boolean
example: true
description: Informa se o relatório possui imagens.
file_url:
type: string
example: 'https://relatorio.redevistorias.com.br/7f4c77a...'
description: URL onde o relatório pode ser obtido
Responsible:
type: object
description: Dados referentes à pessoa física responsável pela empresa.
required:
- name
- document
properties:
document:
type: string
example: 000.000.999-99
description: CPF do responsável da empresa.
name:
type: string
example: Novo Usuário
description: Nome completo do responsável da empresa.
cellphone:
type: string
example: (48) 99999-9999
description: 'Telefone celular do responsável da empresa, se houver.'
phone:
type: string
example: (48) 3000-0000
description: Telefone do responsável da empresa.
email:
type: string
example: ti@redevistorias.com.br
description: Email do responsável da empresa.
address:
$ref: '#/components/schemas/Address'
APIKeyGrant:
type: object
title: API Key
required:
- grant_type
- client_id
- client_secret
- api_key
properties:
grant_type:
type: string
enum:
- api_key
client_id:
type: string
example: erpfoo
description: >-
Identificação do ERP na API da Rede Vistorias, essa informação é
fornecida pela equipe da Rede Vistorias no momento da habilitação do
ERP.
client_secret:
type: string
example: B8WbfvPVX1ic
description: Senha do ERP na API da Rede Vistorias
api_key:
type: string
example: >-
ZAltqyeoXLlZLR6N9QP0QfyE7asIz65wZ8eBfBDr8o7W4dk9W93beJy0rZleOgQmmkm4jkkW54kv7dxh
ClientCredentialsGrant:
type: object
title: Client Credentials
required:
- grant_type
- client_id
- client_secret
- scope
properties:
grant_type:
type: string
example: client_credentials
enum:
- client_credentials
client_id:
type: string
example: erpfoo
description: Identificação do cliente na API do Rede Vistorias.
client_secret:
type: string
example: B8WbfvPVX1ic
description: Senha do cliente na API da Rede Vistorias
scope:
type: string
example: 'client:create'
description: 'Lista de escopos, separados por um espaço em branco.'
enum:
- 'client:create'
AuthorizationCodeRequest:
type: object
title: Request Authorization
required:
- response_type
- client_id
- redirect_uri
- scope
properties:
response_type:
type: string
example: code
enum:
- code
client_id:
type: string
example: erpfoo
description: Identificação do cliente na API do Rede Vistorias.
redirect_uri:
type: string
example: http://meu.erp.com.br/processar_integracao
description: URL que o usuário será redirecionado após realizar a autorizarização.
scope:
type: string
example: 'order:* financial:view'
description: 'Lista de escopos, separados por um espaço em branco.'
state:
type: string
example: 1f3870be274f6c49b3e31a0c6728957f
description: CSRF token
AuthorizationCodeGrant:
type: object
title: Authorization Code Grant
required:
- grant_type
- client_id
- client_secret
- redirect_uri
- scope
- code
properties:
grant_type:
type: string
example: authorization_code
enum:
- authorization_code
client_id:
type: string
example: erpfoo
description: Identificação do cliente na API do Rede Vistorias.
client_secret:
type: string
example: B8WbfvPVX1ic
description: Senha do cliente na API da Rede Vistorias
redirect_uri:
type: string
example: http://meu.erp.com.br/processar_integracao
description: URL que receberá o `Bearer token`
scope:
type: string
example: 'order:* financial:view'
description: 'Lista de escopos, separados por um espaço em branco.'
code:
type: string
example: tyqwu16573753...
description: Codigo de autorização
APIKeyResponse:
type: object
title: API Key response
properties:
token_type:
type: string
enum:
- Bearer
expires_in:
type: integer
example: 86400
access_token:
type: string
example: eyJ0eXAiO...
refresh_token:
type: string
example: def50200f44a3a36...
ClientCredentialsResponse:
type: object
title: Client credentials response
properties:
token_type:
type: string
enum:
- Bearer
expires_in:
type: integer
example: 86400
access_token:
type: string
example: eyJ0eXAiO...
CodeResponse:
type: object
title: Request authorization response
properties:
code:
type: string
example: tyqwu16573753...
description: Codigo de autorização
state:
type: string
example: 1f3870be274f6c49b3e31a0c6728957f
description: CSRF token
AuthorizationCodeResponse:
type: object
title: Authorization code response
properties:
token_type:
type: string
enum:
- Bearer
expires_in:
type: integer
example: 86400
access_token:
type: string
example: eyJ0eXAiO...
refresh_token:
type: string
example: def50200f44a3a36...
PreviousInspection:
type: object
title: PreviousInspection
properties:
file:
$ref: '#/components/schemas/File'
url:
$ref: '#/components/schemas/Url'
code:
type: string
example: PVLE.012.01710
description: Código do pedido de entrada (deve estar finalizado) que será base para o pedido de saída
Obs. Esta informação deve ser fornecida caso não se utilize o arquivo para criação do pedido
File:
type: object
title: File
properties:
remote_name:
type: string
example: 75300A80-2E79-492F-8B3F-4B6239D1319F\/ABD57818-40FE-11E9-A15D-02420A00001D
description: Nome obtido utilizando a rota upload de arquivos
original_name:
type: string
example: arquivo-original
description: Nome original do arquivo
extension:
type: string
example: pdf
description: Formato pdf
Url:
type: string
title: Url
example: "http://example.com?upload=File.pdf"
TraceData:
type: object
title: TraceData
Divergence:
type: object
title: Divergence
properties:
created_at:
type: string
example: '2020-03-03 11:45:00'
description: Data e hora em que a divergência foi registrada
file_url:
type: string
example: 'http://relatorio.sandbox.redevistorias.com.br/75300A80-2E79-492F-8B3F-4B6239D1319F/1C856200-4689-11E9-B1D9-0242AC120003_0_1E3965C3FC2FAF9BCDD35A4F878D8AF7.docx'
description: URL para fazer o download do arquivo (docx) contendo as divergências registradas.
responsible:
type: object
properties:
cpf:
type: string
example: '000.111.222-33'
description: CPF do responsável que cadastrou as divergências.
email:
type: string
example: 'divergencia@redevistorias.com.br'
description: E-mail do responsável que cadastrou as divergências.
phone:
type: string
example: '(48) 3364-6808'
description: Telefone do responsável que cadastrou as divergências.
name:
type: string
example: 'José da Silva'
description: Nome do responsável que cadastrou as divergências.
CancelledWebhook:
type: object
properties:
code:
type: string
example: VLE.987.00125
description: Código do pedido
status:
type: string
example: CANCELLED
description: Estado do pedido
building_id:
type: string
example: Apt 203 - Ed Atol das Rocas
description: Identificação do imóvel.
observation:
type: string
example: O responsável pelo acompanhamento da vistoria não foi encontrado ou não pôde comparecer
description: Razão do cancelamento
trace_data:
$ref: '#/components/schemas/TraceData'
DivergenceWebhook:
type: object
properties:
code:
type: string
example: VLE.987.00125
description: Código do pedido
status:
type: string
example: DIVERGENCE
description: Estado do pedido
building_id:
type: string
example: Apt 203 - Ed Atol das Rocas
description: Identificação do imóvel.
trace_data:
$ref: '#/components/schemas/TraceData'
divergence:
$ref: '#/components/schemas/Divergence'
AssignedWebhook:
type: object
properties:
code:
type: string
example: VLE.987.00125
description: Código do pedido
status:
type: string
example: ASSIGNED
description: Estado do pedido
building_id:
type: string
example: Apt 203 - Ed Atol das Rocas
description: Identificação do imóvel.
inspector:
$ref: '#/components/schemas/Inspector'
trace_data:
$ref: '#/components/schemas/TraceData'
Inspector:
type: object
properties:
rg:
type: string
example: 1234567 SSP SC
description: Número de registro e órgão emissor
cpf:
type: string
example: 111.111.111-00
description: Número do Cadastro de Pessoa Física
name:
type: string
example: José da Silva
description: Nome do vistoriador