Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

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/

Table of Contents

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


AssinaturaURLDescrição
Id externohttps://<instância do cliente>/services/apexrest/snap_brok/contrato/v1/cancelar
  • Id externo do contrato no sistema que está cancelando na base do SnapProperty.
  • Informado o Id interno Salesforce do contrato no Salesforce, que pode ter sido obtido em uma busca ou inserção.

                <instância do cliente> : nome de instância da org salesforce que o cliente utiliza. 


Exemplo: Método
Post



Exemplo: Requisição Header
Content-Typeapplication/json
AuthorizationOAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5But


Exemplo: Requisição body JSONObservações

{

  "contrato":  {

   "snap_brok__Id_externo__c":"42244000EISSOAI",

   "snap_brok__Motivo_do_cancelamento_op__c": "Outros",

   "snap_brok__Motivo_cancelamento__c": ""

 }


}

  • Opões de "snap_brok__Motivo_do_cancelamento_op__c":
    • Optou por outro imóvel
    • Alteração de contratantes
    • Alteração de garantia
    • Alteração de condições contratuais
    • Cadastro duplicado
    • Outros
  • "snap_brok__Motivo_cancelamento__c" é: observação, de texto livre.


Exemplo: Resposta - Sucesso

Observações

{
"Mensagem": "Sucesso",
"Erro": "Sucesso",
"Errofalse,
"Contrato": {
"attributes": {
"type": "snap_brok__Contrato__c",
"url": "/services/data/v41.0/sobjects/snap_brok__Contrato__c/a3w0b000003DSNFAA4"
},
"snap_brok__Ativo__c": false,
"Contratosnap_brok__Motivo_do_cancelamento_op__c": {
"attributesOutros": {,
"typesnap_brok__Faturar__c": false,
"snap_brok__ContratoData_encerramento__c": "2019-02-27",
"url": "/services/data/v41.0/sobjects/snap_brok__ContratoSituacao__c/a3w0b000003DSNFAA4"
}c": "Cancelado",
"snap_brok__AtivoMotivo_cancelamento__c": false"",
"snap_brok__Motivo_do_cancelamento_opCancelado__c": "Outrostrue,
"Id": "a3w0b000003DSNFAA4",
"snap_brok__FaturarData_cancelamento__c": false,
""2019-02-27"
}
}

  • Retorna campos preenchidos do contrato


Exemplo: Resposta - Falha

Observações

Contrato não localizado.



Processamento SnapProperty

                1. SnapProperty realiza busca em contratos(snap_brok__

Data

Contrato_

encerramento

_

_c": "2019-02-27",
"snap_brok__Situacao__c": "Cancelado",
"

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__

Motivo_cancelamento

Cancelado__c

": "",
"

igual a true.

4. SnapProperty verifica se contrato já consta como assinado: snap_brok__

Cancelado

Assinado__c

": true,
"Id": "a3w0b000003DSNFAA4",
"snap_brok__Data_cancelamento__c": "2019-02-27"
}
}
  • Retorna campos preenchidos do contrato

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.

   

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:

           

2. Caso não encontrado contrato, retorna mensagem de erro informando que "Contrato não foi localizado"

7.1.1 Cancela-la a locação com as mesmas atualizações  de cancelamento do contrato.

           

    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çãoDescriçãohttps://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_rest_code_sample_restrequest.htmCriação de classe customizadas básicas para requisições Resthttps://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_class_System_Json.htm#apex_System_Json_methodsMé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

AssinaturaURLDescriçãoId externohttps://<instância do cliente>

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.


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


AssinaturaURLDescrição
Id externohttps://<instância do cliente>/services/apexrest/snap_brok/contrato/v1/distratarContratoAdministracao
  • Informado o Id externo do contrato de administração no sistema que está distratando o contrato na base do SnapProperty.
  • Informado o Id Salesforce do contrato de administração, que pode ter sido obtido em uma busca ou inserção.

<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/distratarContratoAdministracao

  • Informado o Id externo do contrato de administração no sistema que está distratando o contrato na base do SnapProperty.
  • Informado o Id Salesforce do contrato de administração, que pode ter sido obtido em uma busca ou inserção.

<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/distratarContratoAdministracao

Exemplo: Requisição HeaderContent-Typeapplication/jsonAuthorizationOAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5ButExemplo: Requisição body JSONObservações

{

  "contrato":  {

   "snap_brok__Id_externo__c":"2236262"

 
Exemplo: Requisição Header
Content-Typeapplication/json
AuthorizationOAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5But


Exemplo: Requisição body JSONObservações

{

  "contrato":  {

   "snap_brok__Id_externo__c":"2236262"

  }

}



Exemplo: Resposta - Sucesso

Observações

{
"Mensagem": "Sucesso",
"Erro": false,
"Contrato": {
"attributes": {
"type": "snap_brok__Contrato__c",
"url": "/services/data/v41.0/sobjects/snap_brok__Contrato__c/a0l0B00001L3thaQAB"
},
"snap_brok__Id_externo__c": "TesteDevAdm",
"snap_brok__Ativo__c": false,
"snap_brok__Faturar__c": false,
"snap_brok__Data_encerramento__c": "2019-02-27",
"snap_brok__Situacao__c": "Distratado",
"Id": "a0l0B00001L3thaQAB"
}
}



Exemplo: Resposta -

Sucesso

Falha

Observações
{
"Mensagem": "Sucesso",
"Erro": false,
"Contrato": {
"attributes": {
"type": "

Contrato não encontrado.



Processamento SnapProperty

                1. SnapProperty realiza busca em contratos(snap_brok__Contrato__c

",
"url": "/services/data/v41.0/sobjects/snap_brok__Contrato__c/a0l0B00001L3thaQAB"
},
"

) 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__

Id

Situacao_

externo

_

_

c) do contrato para "

: "TesteDevAdm",
"snap_brok__Ativo__c": false,
"

Distratado".

                 4. Pesquisar todos Imóveis do contrato:

                      4.1 Altera a "Situação" (snap_brok__

Faturar

Situacao__c

": false,
"

) do imóvel para  "Indisponível". 

                      4.2 Altera o campo "Disponível para locação"(snap_brok__

Data

Disponivel_

encerramento

locacao__c

": "2019-02-27",
"snap_brok__Situacao__c": "Distratado",
"Id": "a0l0B00001L3thaQAB"
}
}

Exemplo: Resposta - Falha

Observações

Contrato não encontrado.

Processamento SnapProperty

) para falso(false).


                   

  1. SnapProperty realiza busca em contratos

  

ContratoRest.desocuparImovel

Descrição: Método responsável por desocupação de um imóvel pelo locatário (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çãoDescriçãohttps://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_rest_code_sample_restrequest.htmCriação de classe customizadas básicas para requisições Resthttps://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_class_System_Json.htm#apex_System_Json_methodsMé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

AssinaturaURLDescriçãoId externohttps://<instância do cliente>/services/apexrest/snap_brok/contrato/v1/desocuparImovel
  • Informado o Id externo do contrato de locação, no sistema que está realizando a desocupação.
  • Informado o Id Salesforce do contrato de locação, que pode ter sido obtido em uma busca ou inserção.

<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 HeaderContent-Typeapplication/jsonAuthorizationOAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5ButExemplo: Requisição body JSONObservações

{

  "contrato": 

 {

   

.

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

AssinaturaURLDescrição
Id externohttps://<instância do cliente>/services/apexrest/snap_brok/contrato/v1/desocuparImovel
  • Informado o Id externo do contrato de locação, no sistema que está realizando a desocupação.
  • Informado o Id Salesforce do contrato de locação, que pode ter sido obtido em uma busca ou inserção.

<instância do cliente> : nome de instância da org salesforce que o cliente utiliza. 


Exemplo: Método

Post



Exemplo: Requisição Header
Content-Typeapplication/json
AuthorizationOAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5But


Exemplo: Requisição body JSONObservações

{

  "contrato": 

 {

   "snap_brok__Id_externo__c":"CR123456|CR123456|1",

   "snap_brok__Valor_aluguel_corrigido__c":"350.15"

 }


}

  • Valores monetários devem seguir a seguinte formatação: todo o número junto e o "."(ponto) para separar os centavos. Exemplo: 1200.40(Mil e duzentos reais e quarenta centavos).


Exemplo: Resposta - Sucesso

Obervações

{
"Mensagem": "Sucesso",
"Erro": false,
"Contrato": {
"attributes": {
"type": "snap_brok__Contrato__c",
"url": "/services/data/v41.0/sobjects/snap_brok__Contrato__c/a0l0B00001JoA23QAF"
},
"snap_brok__Id_externo__c": "

CR123456|CR123456|1

TesteDevLoc",

   

"snap_brok__Valor_aluguel_corrigido__c":

"

350.15

"

 }

}

  • Valores monetários devem seguir a seguinte formatação: todo o número junto e o "."(ponto) para separar os centavos. Exemplo: 1200.40(Mil e duzentos reais e quarenta centavos).

Exemplo: Resposta - Sucesso

Obervações

{
"Mensagem": "Sucesso",
"Erro": false,
"Contrato": {
"attributes": {
"type": ",
"snap_brok__Ativo__c": false,
"snap_brok__Faturar__c": false,
"snap_brok__Data_encerramento__c": "2019-02-27",
"snap_brok__ContratoSituacao__c": "Encerrado",
"urlId": "/services/data/v41.0/sobjects/a0l0B00001JoA23QAF"
}
}



Exemplo: Resposta - Falha

Observações

O Contrato deve ser de Locação.


Processamento SnapProperty

                1. SnapProperty realiza busca em contratos(snap_brok__Contrato__c

/a0l0B00001JoA23QAF"
},
"snap_brok__Id_externo__c": "TesteDevLoc",
"snap_brok__Valor_aluguel_corrigido__c": 350.15,
"snap_brok__Ativo__c": false,
"snap_brok__Faturar__c": false,
"

) 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__

Data

Situacao_

encerramento

_

_

c) para "

: "2019-02-27",
"

Encerrado".

       3.2 "Ativo" (snap_brok__

Situacao

Ativo__c

": "Encerrado",
"Id": "a0l0B00001JoA23QAF"
}
}

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 ) 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

"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çãoDescriçãohttps://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_rest_code_sample_restrequest.htmCriação de classe customizadas básicas para requisições Resthttps://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_class_System_Json.htm#apex_System_Json_methodsMé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

AssinaturaURLDescriçãoId externohttps://<instância do cliente>/services/apexrest/snap_brok/contrato/v1/desocuparImovelComDistratoAdm
  • Informado o Id externo do contrato de locação no sistema que está realizando a desocupação.
  • Informado o Id Salesforce do contrato, de locação, que pode ter sido obtido em uma busca ou inserção.

<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 HeaderContent-Typeapplication/jsonAuthorizationOAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5ButExemplo: Requisição body JSONObservações

{

  "contrato": {

   

locação" para verdadeiro (true).               



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

AssinaturaURLDescrição
Id externohttps://<instância do cliente>/services/apexrest/snap_brok/contrato/v1/desocuparImovelComDistratoAdm
  • Informado o Id externo do contrato de locação no sistema que está realizando a desocupação.
  • Informado o Id Salesforce do contrato, de locação, que pode ter sido obtido em uma busca ou inserção.

<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-Typeapplication/json
AuthorizationOAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5But


Exemplo: Requisição body JSONObservações

{

  "contrato": {

   "snap_brok__Id_externo__c":"2236262",

   "snap_brok__Valor_aluguel_corrigido__c":"2500.32"

 }

}

  • Valores monetários devem seguir a seguinte formatação: todo o número junto e o "."(ponto) para separar os centavos. Exemplo: 1200.40(Mil e duzentos reais e quarenta centavos).


Exemplo: Resposta - Sucesso

Obervações

{
"Mensagem": "Sucesso",
"Erro": false,
"Contrato": {
"attributes": {
"type": "snap_brok__Contrato__c",
"url": "/services/data/v41.0/sobjects/snap_brok__Contrato__c/a0l0B00001JoA23QAF"
},
"snap_brok__Id_externo__c": "

2236262

TesteDevLoc",

   

"snap_brok__

Valor_aluguel_corrigido

Ativo__c":

"2500.32"

 }

}

  • Valores monetários devem seguir a seguinte formatação: todo o número junto e o "."(ponto) para separar os centavos. Exemplo: 1200.40(Mil e duzentos reais e quarenta centavos).

Exemplo: Resposta - Sucesso

Obervações

{
"Mensagem": "Sucesso",
"Erro": false,
"Contrato": {
"attributes": {
"type": "snap_brok__Contrato__c",
"url": "/services/data/v41.0/sobjects/snap_brok__Contrato__c/a0l0B00001JoA23QAF"
},
"snap_brok__Id_externo__c": "TesteDevLoc",
"false,
"snap_brok__Faturar__c": false,
"snap_brok__Data_encerramento__c": "2019-03-27",
"snap_brok__Situacao__c": "Encerrado",
"Id": "a0l0B00001JoA23QAF"
}
}



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": false,
"

c) igual a falso(false).

       3.3 "Faturar" (snap_brok__Faturar__c

": false,
"snap_brok__Data_encerramento__c": "2019-03-27",
"

) igual a falso(false).

       3.4 "Data de encerramento" igual a data do sistema(Today).

  4. Pesquisar todos Imóveis do contrato:

Exemplo: Resposta - Falha

Observações

Contrato não localizado.

Processamento SnapProperty

                      4.1 Altera a "Situação" (snap_brok__Situacao__c) do imóvel para  "

: "Encerrado",
"Id": "a0l0B00001JoA23QAF"
}
}

Indisponivel". 

                      4.2 Altera "Disponível para locação" para falso(false).

                  5. Pesquisa os contratos de administração dos Imóveis do contrato:

                        1. SnapProperty realiza busca em contratos5.1 Altera Situação(snap_brok__ContratoSituacao__c) com baseigual "Distratado".

                                          

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çãoDescriçãohttps://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_rest_code_sample_restrequest.htmCriação de classe customizadas básicas para requisições Resthttps://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_class_System_Json.htm#apex_System_Json_methodsMé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

AssinaturaURLDescriçãoId externohttps://<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 HeaderContent-Typeapplication/jsonAuthorizationOAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5ButExemplo: Requisição body JSONObservaçõ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.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

AssinaturaURLDescrição
Id externohttps://<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: Requisição Header
Content-Typeapplication/json
AuthorizationOAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5But


Exemplo: Requisição body JSONObservaçõ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

AssinaturaURLDescrição
Id externohttps://<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-Typeapplication/json
AuthorizationOAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5But


Exemplo: Requisição body JSONObservações

{

  "troca": 

 {

   "gerente_antigo":"3182739",

   "gerente_novo":"174918"

    "id_imovel":"CR01234"

 }

}

  • Se preenchido o Id do imóvel, será realizado a troca de gerência somente para o imóvel informado, em caso do campo estar vazio (""), será considerado a troca para todos imóveis da gerência antiga.


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
}