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:4002/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

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": false,
"Contrato": {
"attributes": {
"type": "snap_brok__Contrato__c",
"url": "/services/data/v41.0/sobjects/snap_brok__Contrato__c/a3w0b000003DSNFAA4"
},
"snap_brok__Ativo__c": false,
"snap_brok__Motivo_do_cancelamento_op__c": "Outros",
"snap_brok__Faturar__c": false,
"snap_brok__Data_encerramento__c": "2019-02-27",
"snap_brok__Situacao__c": "Cancelado",
"snap_brok__Motivo_cancelamento__c": "",
"snap_brok__Cancelado__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.

                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.


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 o cancelamento de um contrato , antes que tenha sido assinado. 

).

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.

Método Rest: Post

Tipo: Síncrono

Registros

Máximo de registros por requisição:

1

 1


AssinaturaURLDescrição
Id externohttps://<instância do cliente>/services/apexrest/snap_brok/contrato/v1/
cancelar
distratarContratoAdministracao
  • Informado o Id externo do contrato de administração no sistema que está
cancelando
  • distratando o contrato na base do SnapProperty.
  • Informado o Id
interno
  • Salesforce do contrato
no Salesforce
  • 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étodoPostExemplo: URLhttps://snap-property.salesforce.com/services/apexrest/snap_brok/contrato/v1/cancelarExemplo: Requisição HeaderContent-Typeapplication/jsonAuthorizationOAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5ButExemplo: 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

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

    Motivo

    Id_

    cancelamento

    externo__c"

    é: observação, de texto livre.

    :"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/a3w0b000003DSNFAA4"
    },
    "snap_brok__Ativo__c": false,
    "snap_brok__Motivo_do_cancelamento_op__c": "Outros",
    "

    /sobjects/snap_brok__

    Faturar

    Contrato__c/a0l0B00001L3thaQAB"

    : false


    },
    "snap_brok__

    Data

    Id_

    encerramento

    externo__c": "

    2019-02-27

    TesteDevAdm",
    "snap_brok__

    Situacao

    Ativo__c":

    "Cancelado"

    false,
    "snap_brok__

    Motivo

    Faturar_

    cancelamento

    _

    _

    c":

    ""

    false,
    "snap_brok__

    Cancelado

    Data_encerramento__c":

    true,
    "Id": "a3w0b000003DSNFAA4"

    "2019-02-27",
    "snap_brok__

    Data

    Situacao_

    cancelamento

    _

    _

    c": "

    2019-02-27

    Distratado",
    "Id": "a0l0B00001L3thaQAB"
    }
    }

    Retorna campos preenchidos do contrato



    Exemplo: Resposta - Falha

    Observações

    Contrato não

    localizado

    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

      1. SnapProperty

    verifica se contrato já consta como cancelado: 

    realiza busca em contratos(snap_brok__

    Cancelado

    Contrato__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

    ) 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

    cancelamento

    distrato 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

                          3.1 "Situação" (snap_brok__Situacao__c)

    para data atual (Today)

    do contrato para "Distratado".

         6.4 Demais informações como recebido no request.  

    7. SnapProperty verifica tipo de registro do contrato:

         7.1 Se contrato é de Locação

                     4. Pesquisar todos Imóveis do contrato:

         

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

                   

    7

    4.1

    .2 . Cancela-la a proposta com as mesmas atualizações  de cancelamento do contrato.

        7.2 Se contrato é de Administração: 

    Altera a "Situação" (snap_brok__Situacao__c) do imóvel para  "Indisponível". 

                         

       7.2.1 Cancela-la a captação com as mesmas atualizações de cancelamento do contrato

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


                          

    ContratoRest.

    distratarContratoAdministracao

    desocuparImovel

    Descrição: Método responsável por distrato desocupação de um contrato de administração imóvel pelo locatário (snap_brok__Contrato__c).

    Neste método será possível encerrar desocupar 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óvelimó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 Contrato.

    Tipo: Síncrono

    Registros Máximo de registros por requisição: 1 1

    AssinaturaURLDescrição
    Id externohttps://<instância do cliente>/services/apexrest/snap_brok/contrato/v1/
    distratarContratoAdministracao
    desocuparImovel
    • Informado o Id externo do contrato de
    administração
    • locação, no sistema que está
    distratando o contrato na base do SnapProperty
    • realizando a desocupação.
    • Informado o Id Salesforce do contrato de
    administração
    • 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":"

    2236262

    CR123456|CR123456|1"

      }

    }

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


    Dataencerramento_: "2019-02-27",
    "Situacao": "Distratado",
    "Id": "a0l0B00001L3thaQAB"
    }
    }

    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

    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" (

    /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,
    "snap_brok__Data_encerramento__c": "2019-02-27",
    "snap_brok__Situacao__c

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

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



    Exemplo: Resposta - Falha

    Observações

    O Contrato deve ser de Locação.


    Processamento SnapProperty

                    4.2 Altera o campo "Disponível para locação"  1. SnapProperty realiza busca em contratos(snap_brok__Disponivel_locacaoContrato__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

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

     {

       "ID":"01I0B000000p5w5",

       "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"
    },

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



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

    TesteDevLoc

    2236262",

       "snap_brok__Valor_aluguel_corrigido__c":

    350.15,
    "snap_brok__Ativo__c": false,
    "snap_brok__Faturar__c": false,
    "snap_brok__Data_encerramento__c": "2019-02-27",
    "snap_brok__Situacao__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 "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:

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

                          4.1 Altera a "Situação"   1. SnapProperty realiza busca em contratos(snap_brok__SituacaoContrato__c) do imóvel para  "Disponivel". 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.

           

    4.2 Altera "Disponível para locação" para verdadeiro (true).

     3. Se não houver impedimento para a desocupação do imóvel e distrato do contrato de administração

                 

     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

    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__

    Contrato

    Situacao__c) do imóvel para  "Indisponivel".

    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

    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": {

       "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": "TesteDevLoc",
    "snap_brok__Ativo__c": 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) 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.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".

                                                          




    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

                         

    4

    3.

    1 Altera

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

    Indisponivel

    Aguardando aprovação"

                         

    4

    3.2

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

    Pesquisa os contratos de locação do imóvel:

                   

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

     3.2.1 Se não houver impedimento para a desocupação SnapProperty atualiza contrato de locação:

             

                5

     3.2.1.1

    Altera

    "Situação"(snap_brok__Situacao__c)

    igual

    para "

    Distratado

    Encerrado".

             

                                                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

               

    ImovelRest.atualizarValoresImovel

     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

    atualizar valores de IPTU e Condomínio recebidos do Imobiliar

    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:

    Imóveis

     Contrato.

    Tipo: Síncrono

    Registros

    Máximo de registros por requisição:

     200

     1

    v1/sobjects/snap_brok__imovel__c/atualizarValoresImovelInformando o ID externo do imóvel e os valores serão possíveis atualizar esses valores no imóveis.
    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: URL

    https://snap-property.salesforce.com/services/apexrest/contrato/v1/

    sobjects/snap_brok__imovel__c/atualizarValoresImovel

    trocarGerente


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


    Exemplo: Requisição body JSONObservações

    {

     

     

    "

    imoveis

    troca": 

     

     

      [

    {

       

     

    "gerente_antigo":"3182739",

       "

    snap_brok__ID_externo__c

    gerente_novo":"

    CR00000

    174918"

    ,

       

         

    "

    snap_brok__Valor_IPTU__c

    id_imovel":"

    150.54

    CR01234"

    ,

       

         

    "

    snap_brok__Valor_Condominio__c

    id_proprietario":"

    230.00

    321654"

     

       

    }

    ]

    }

    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)
    • O parâmetro de gerente novo sempre será obrigatório e deve ser acompanhado de ao menos um parâmetro adicional.
    • Exemplo 1: Se for 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 2: Ao enviar vazio ("") no campo gerente_antigo e um id de proprietario, a gerência será alterada em todos os locais onde o proprietario for igual ao id enviado sem levar em consideração a gerência anterior.


    sucess true, "id" : "a4G0q000000VFSiEAO", "errors" : [ ] }

    Exemplo: Resposta - Sucesso

    Obervações
    {
        "
    Mensagem":
    • É retornado o(s) Id(s) interno(s)
     "Troca de gerência realizada com sucesso",
        "Erro"false
    }


    Exemplo: Resposta -

    Erro

    Falha

    Obervações
    Observações
    {
    "sucess" : false, "id" : null, "errors" : [ "MISSING_ARGUMENT : Id not specified in an update call\nCampo(s) com valor(es) inválido(s): ()", "Imovel não encontrado - ID:XPTO" ] }
    • Quando houver erros e os valores não forem atualizados, retornara uma lista com os IDs que não foram encontrados.
        "Mensagem""Não encontrado Id do novo gerente",
        "Imovel"null,
        "Erro"true
    }