Integração com Imobiliar
Documentação
Documento que descreve comportamento específico da API SnapProperty, para integração com a Imobiliar.
Documentação Imobiliar
http://imobiliar.inf.br:4001/webservice/Imobiliar
Índice
Métodos de negócio
Métodos de Recebimento
Métodos que tem como objetivo receber requisições da Imobiliar.
ContratoRest.cancelar
Descrição: Método responsável por cancelar um contrato de administração ou locação (snap_brok__Contrato__c).
Neste método será possível o cancelamento de um contrato , antes que tenha sido assinado.
Tipo de parâmetro: Contrato.
Método Rest: Post
Tipo: Síncrono
Máximo de registros por requisição: 1
Assinatura | URL | Descrição |
---|---|---|
Id externo | https://<instância do cliente>/services/apexrest/snap_brok/contrato/v1/cancelar |
|
<instância do cliente> : nome de instância da org salesforce que o cliente utiliza.
Exemplo: Método |
---|
Post |
Exemplo: Requisição Header | |
---|---|
Content-Type | application/json |
Authorization | OAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5But |
Exemplo: Requisição body JSON | Observações |
---|---|
{ "contrato": { "snap_brok__Id_externo__c":"42244000EISSOAI", "snap_brok__Motivo_do_cancelamento_op__c": "Outros", "snap_brok__Motivo_cancelamento__c": "" } } |
|
Exemplo: Resposta - Sucesso | Observações |
---|---|
{ |
|
Exemplo: Resposta - Falha | Observações |
---|---|
Contrato não localizado. |
Processamento SnapProperty
1. SnapProperty realiza busca em contratos(snap_brok__Contrato__c) com base
no Id ou Id externo informado.
2. Caso não encontrado contrato, retorna mensagem de erro informando que "Contrato não foi localizado".
3. SnapProperty verifica se contrato já consta como cancelado: snap_brok__Cancelado__c igual a true.
4. SnapProperty verifica se contrato já consta como assinado: snap_brok__Assinado__c igual a true.
5. Se contrato já estiver cancelado ou assinado retornara erro, não atualizara o contrato.
6. Se não houver impedimento para o cancelamento o SnapProperty atualiza contrato:
6.1 Situação (Situacao__c) do contrato para "Cancelado".
6.2 Cancelado (Cancelado__c) para verdadeiro(true).
6.3 Data do cancelamento (Data_cancelamento__c) para data atual (Today).
6.4 Demais informações como recebido no request.
7. SnapProperty verifica tipo de registro do contrato:
7.1 Se contrato é de Locação:
7.1.1 Cancela-la a locação com as mesmas atualizações de cancelamento do contrato.
7.1.2 . Cancela-la a proposta com as mesmas atualizações de cancelamento do contrato.
7.2 Se contrato é de Administração:
7.2.1 Cancela-la a captação com as mesmas atualizações de cancelamento do contrato.
Referências de implementação | Descrição |
---|---|
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_rest_code_sample_restrequest.htm | Criação de classe customizadas básicas para requisições Rest |
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_class_System_Json.htm#apex_System_Json_methods | Métodos para manipulação JSON no Apex |
ContratoRest.distratarContratoAdministracao
Descrição: Método responsável por distrato de um contrato de administração (snap_brok__Contrato__c).
Neste método será possível encerrar um contrato de administração, sem possuir ainda um contrato de Locação criado.
Deve ser utilizado, por exemplo, quando o cliente quer encerrar o contrato com a administradora, por ter desistido de locar o imóvel.
Método Rest: Post
Tipo de parâmetro: Contrato.
Tipo: Síncrono
Máximo de registros por requisição: 1
Assinatura | URL | Descrição |
---|---|---|
Id externo | https://<instância do cliente>/services/apexrest/snap_brok/contrato/v1/distratarContratoAdministracao |
|
<instância do cliente> : nome de instância da org salesforce que o cliente utiliza.
Exemplo: Método |
---|
Post |
Exemplo: URL |
---|
Exemplo: Requisição Header | |
---|---|
Content-Type | application/json |
Authorization | OAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5But |
Exemplo: Requisição body JSON | Observações |
---|---|
{ "contrato": { "snap_brok__Id_externo__c":"2236262" } } |
Exemplo: Resposta - Sucesso | Observações |
---|---|
{ |
Exemplo: Resposta - Falha | Observações |
---|---|
Contrato não encontrado. |
Processamento SnapProperty
1. SnapProperty realiza busca em contratos(snap_brok__Contrato__c) com base
no Id ou Id externo informado.
2. Caso não encontrado contrato, retorna mensagem de erro informando que contrato não foi localizado.
3. Se não houver impedimento para o distrato o SnapProperty atualiza contrato:
3.1 "Situação" (snap_brok__Situacao__c) do contrato para "Distratado".
4. Pesquisar todos Imóveis do contrato:
4.1 Altera a "Situação" (snap_brok__Situacao__c) do imóvel para "Indisponível".
4.2 Altera o campo "Disponível para locação"(snap_brok__Disponivel_locacao__c) para falso(false).
Referências de implementação | Descrição |
---|---|
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_rest_code_sample_restrequest.htm | Criação de classe customizadas básicas para requisições Rest |
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_class_System_Json.htm#apex_System_Json_methods | Métodos para manipulação JSON no Apex |
ContratoRest.desocuparImovel
Descrição: Método responsável por desocupação de um imóvel pelo locatário (snap_brok__Contrato__c).
Neste método será possível desocupar um imóvel, que ocasionará no distrato do contrato de locação
e disponibilizar um imóvel para uma nova locação.
Método Rest: Post
Tipo de parâmetro: Contrato.
Tipo: Síncrono
Máximo de registros por requisição: 1
Assinatura | URL | Descrição |
---|---|---|
Id externo | https://<instância do cliente>/services/apexrest/snap_brok/contrato/v1/desocuparImovel |
|
<instância do cliente> : nome de instância da org salesforce que o cliente utiliza.
Exemplo: Método |
---|
Post |
Exemplo: URL |
---|
https://snap-property.salesforce.com/services/apexrest/snap_brok/contrato/v1/desocuparImovel |
Exemplo: Requisição Header | |
---|---|
Content-Type | application/json |
Authorization | OAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5But |
Exemplo: Requisição body JSON | Observações |
---|---|
{ "contrato": { "snap_brok__Id_externo__c":"CR123456|CR123456|1", "snap_brok__Valor_aluguel_corrigido__c":"350.15" } } |
|
Exemplo: Resposta - Sucesso | Obervações |
---|---|
{ |
Exemplo: Resposta - Falha | Observações |
---|---|
O Contrato deve ser de Locação. |
Processamento SnapProperty
1. SnapProperty realiza busca em contratos(snap_brok__Contrato__c) com base
no Id ou Id externo informado.
2. Caso não encontrado contrato, retorna mensagem de erro informando que contrato não foi localizado.
3. Se não houver impedimento para a desocupação SnapProperty atualiza contrato de locação:
3.1 "Situação"(snap_brok__Situacao__c) para "Encerrado".
3.2 "Ativo" (snap_brok__Ativo__c) igual a falso(false).
3.3 "Faturar" (snap_brok__Faturar__c) igual a falso(false).
3.4 Atualiza "Valor do aluguel corrigido" (snap_brok__Valor_aluguel_corrigido__c) para o valor recebido no request.
4.3 "Data de encerramento" igual a data do sistema(Today).
4. Pesquisar todos Imóveis do contrato:
4.1 Altera a "Situação" (snap_brok__Situacao__c) do imóvel para "Disponivel".
4.2 Altera "Disponível para locação" para verdadeiro (true).
Referências de implementação | Descrição |
---|---|
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_rest_code_sample_restrequest.htm | Criação de classe customizadas básicas para requisições Rest |
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_class_System_Json.htm#apex_System_Json_methods | Métodos para manipulação JSON no Apex |
ContratoRest.desocuparImovelComDistratoAdm
Descrição: Método responsável por desocupação de um imóvel e término do contrato de administração(snap_brok__Contrato__c).
Neste método será possível desocupar um imóvel, que ocasionará no distrato do contrato de locação
e cancelará também o contrato de administração.
Método Rest: Post
Tipo de parâmetro: Contrato.
Tipo: Síncrono
Máximo de registros por requisição: 1
Assinatura | URL | Descrição |
---|---|---|
Id externo | https://<instância do cliente>/services/apexrest/snap_brok/contrato/v1/desocuparImovelComDistratoAdm |
|
<instância do cliente> : nome de instância da org salesforce que o cliente utiliza.
Exemplo: Método |
---|
Post |
Exemplo: URL |
---|
https://snap-property.salesforce.com/services/apexrest/snap_brok/contrato/v1/desocuparImovelComDistratoAdm |
Exemplo: Requisição Header | |
---|---|
Content-Type | application/json |
Authorization | OAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5But |
Exemplo: Requisição body JSON | Observações |
---|---|
{ "contrato": { "snap_brok__Id_externo__c":"2236262", "snap_brok__Valor_aluguel_corrigido__c":"2500.32" } } |
|
Exemplo: Resposta - Sucesso | Obervações |
---|---|
{ |
Exemplo: Resposta - Falha | Observações |
---|---|
Contrato não localizado. |
Processamento SnapProperty
1. SnapProperty realiza busca em contratos(snap_brok__Contrato__c) com base
no Id ou Id externo informado.
2. Caso não encontrado contrato, retorna mensagem de erro informando que contrato não foi localizado.
3. Se não houver impedimento para a desocupação do imóvel e distrato do contrato de administração
o SnapProperty atualiza contrato de locação:
3.1 "Situação"(snap_brok__Situacao__c) para "Encerrado".
3.2 "Ativo" (snap_brok__Ativo__c) igual a falso(false).
3.3 "Faturar" (snap_brok__Faturar__c) igual a falso(false).
3.4 "Data de encerramento" igual a data do sistema(Today).
4. Pesquisar todos Imóveis do contrato:
4.1 Altera a "Situação" (snap_brok__Situacao__c) do imóvel para "Indisponivel".
4.2 Altera "Disponível para locação" para falso(false).
5. Pesquisa os contratos de administração dos Imóveis do contrato:
5.1 Altera Situação(snap_brok__Situacao__c) igual "Distratado".
Referências de implementação | Descrição |
---|---|
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_rest_code_sample_restrequest.htm | Criação de classe customizadas básicas para requisições Rest |
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_class_System_Json.htm#apex_System_Json_methods | Métodos para manipulação JSON no Apex |
ContratoRest.desocuparImovelIDExterno
Descrição: Método responsável por desocupação de um imóvel pelo locatário (snap_brok__Contrato__c).
Neste método será possível desocupar um imóvel, que ocasionará no distrato do contrato de locação
e disponibilizar um imóvel para uma nova locação, utilizando-se do id do imó´vel para essa desocuapação.
Método Rest: Post
Tipo de parâmetro: Contrato.
Tipo: Síncrono
Máximo de registros por requisição: 1
Assinatura | URL | Descrição |
---|---|---|
Id externo | https://<instância do cliente>/services/apexrest/snap_brok/contrato/v1/desocuparImovelIDExterno |
<instância do cliente> : nome de instância da org salesforce que o cliente utiliza.
Exemplo: Método |
---|
Post |
Exemplo: URL |
---|
https://snap-property.salesforce.com/services/apexrest/snap_brok/imovel/v2/desocuparImovelIDExterno |
Exemplo: Requisição Header | |
---|---|
Content-Type | application/json |
Authorization | OAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5But |
Exemplo: Requisição body JSON | Observações |
---|---|
{ "imovel": { "snap_brok__ID_externo__c":"CR12345" } } | Id externo do imóvel para desocupação como prefixo a base. |
Exemplo: Resposta - Sucesso | Obervações |
---|---|
{ "Mensagem": "Sucesso", "Imovel": { "attributes": { "type": "snap_brok__Imovel__c", "url": "/services/data/v50.0/sobjects/snap_brok__Imovel__c/a054P000010zB5JQAU" }, "snap_brok__Administrador_outro_sistema__c": true, "snap_brok__ID_externo__c": "CRDesocupa1", "snap_brok__Vistoria__c": false, "snap_brok__Situacao__c": "Aguardando aprovação", "Id": "a054P000010zB5JQAU", "snap_brok__Disponivel_locacao__c": false }, "Erro": false } |
Exemplo: Resposta - Falha | Observações |
---|---|
{ "Mensagem": "O Imóvel não possui contrato de Locação.", "Imovel": null, "Erro": true } |
Processamento SnapProperty
1. SnapProperty realiza busca em imóveis(snap_brok__Imovel__c) com base no Id externo informado
2. Caso não encontrado imóvel, retorna mensagem de erro informando que imóvel não foi localizado
3. Localizando o imóvel
3.1 Altera a "Situação" (snap_brok__Situacao__c) do imóvel para "Aguardando aprovação"
3.2 Pesquisa os contratos de locação do imóvel:
3.2.1 Se não houver impedimento para a desocupação SnapProperty atualiza contrato de locação:
3.2.1.1 "Situação"(snap_brok__Situacao__c) para "Encerrado".
3.2.1.2 "Ativo" (snap_brok__Ativo__c) igual a falso(false).
3.2.1.3 "Faturar" (snap_brok__Faturar__c) igual a falso(false).
3.2.1.4 "Data de encerramento" igual a data do sistema(Today)
ContratoRest.trocarGerente
Descrição: Método responsável por trocar a gerência do imóvel em um contrato de administração, contrato de locação e no imóvel.
Método Rest: Post
Tipo de parâmetro: Contrato.
Tipo: Síncrono
Máximo de registros por requisição: 1
Assinatura | URL | Descrição |
---|---|---|
Id externo | https://<instância do cliente>/services/apexrest/snap_brok/contrato/v1/trocarGerente |
<instância do cliente> : nome de instância da org salesforce que o cliente utiliza.
Exemplo: Método |
---|
Post |
Exemplo: Requisição Header | |
---|---|
Content-Type | application/json |
Authorization | OAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5But |
Exemplo: Requisição body JSON | Observações |
---|---|
{ "troca": { "gerente_antigo":"3182739", "gerente_novo":"174918" "id_imovel":"CR01234" "id_proprietario":"321654" } } |
|
Exemplo: Resposta - Sucesso | Obervações |
---|---|
{ "Mensagem": "Troca de gerência realizada com sucesso", "Erro": false } |
Exemplo: Resposta - Falha | Observações |
---|---|
{ "Mensagem": "Não encontrado Id do novo gerente", "Imovel": null, "Erro": true } |