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 (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
Registros por requisição: 1
- 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.
{
"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
{
"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
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 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
Registros por requisição: 1
- 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
{
"contrato": {
"snap_brok__Id_externo__c":"2236262"
}
}
Exemplo: Resposta - Sucesso
"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
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 (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
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 |
---|---|
{ |
Cancelado__c": |
true, |
Id": |
"a3w0b000003DSNFAA4", |
cancelamento__c": "2019-02-27 |
"
" |
|
Exemplo: Resposta - Falha | Observações |
---|---|
Contrato não localizado. |
Processamento SnapProperty
1. SnapProperty realiza busca em contratos(snap_brok__
SituacaoContrato__c
": "Distratado","Id": "a0l0B00001L3thaQAB"
}
}
Exemplo: Resposta - Falha
Contrato não encontrado.
Processamento SnapProperty
) 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".
1
3. SnapProperty
realiza busca em contratos(verifica se contrato já consta como cancelado: snap_brok__
ContratoCancelado__c
) com baseno Id ou Id externo informado.
2. Caso não encontrado contrato, retorna mensagem de erro informando que contrato não foi localizado.
3. Seigual 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
distratocancelamento o SnapProperty atualiza contrato:
3.1 "Situação" (snap_brok__Situacao__c) do contrato para "Distratado". 4. Pesquisar todos Imóveis do 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.
4
7.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).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.
desocuparImoveldistratarContratoAdministracao()
Descrição: Método responsável por desocupação distrato de um imóvel pelo locatário 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.
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
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 Contrato.
Tipo: Síncrono
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 |
---|
https://snap-property.salesforce.com/services/apexrest/snap_brok/contrato/v1/ |
Exemplo: Requisição Header | |
---|---|
Content-Type | application/json |
Authorization | OAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5But |
Exemplo: Requisição body JSON | Observações |
---|---|
{ "contrato": |
{
"ID":"01I0B000000p5w5",{ "snap_brok__ |
Id_ |
externo_ |
_ |
c":" |
2236262" } } |
Exemplo: |
---|
Resposta - Sucesso |
---|
Observações |
{ |
a0l0B00001L3thaQAB" |
Id_ |
externo_ |
_ |
c": |
"TesteDevAdm", |
Exemplo: Resposta - Falha
O Contrato deve ser de Locação.
Processamento SnapProperty
1. SnapProperty realiza busca em contratos(snap_brok__ |
Situacao__c |
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"": "Distratado", |
Exemplo: Resposta - Falha | Observações |
---|---|
Contrato não encontrado. |
Processamento SnapProperty
1. SnapProperty realiza busca em contratos(snap_brok__
SituacaoContrato__c)
para "Encerrado"com base
no Id ou Id externo informado.
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 corrigido2. 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__
Valor_aluguel_corrigidoSituacao__c)
para o valor recebido no request.do contrato para "Distratado".
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 "DisponivelIndisponível".
4.2 Altera o campo "Disponível para locação" para verdadeiro (true). (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.
desocuparImovelComDistratoAdmdesocuparImovel()
Descrição: Método responsável por desocupação de um imóvel e término do contrato de administraçãopelo 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 cancelará também o contrato de administraçãodisponibilizar um imóvel para uma nova locação.
Método Rest: Post
Tipo de parâmetro: Contrato Contrato.
Tipo: Síncrono
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/ |
Exemplo: Requisição Header | |
---|---|
Content-Type | application/json |
Authorization | OAuth 00Do0000000Kygx!ARUAQNIkRvLZ.uTwqA._wGu.5But |
Exemplo: Requisição body JSON | Observações |
---|---|
{ "contrato": { " |
ID":" |
01I0B000000p5w5", "snap_brok__Valor_aluguel_corrigido__c":" |
350. |
15" } } |
|
Exemplo: Resposta - Sucesso | Obervações |
---|---|
{ | |
350.15, | |
02-27", |
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
3. Se não houver impedimento para a desocupação
do imóvel e distrato do contrato de administração oSnapProperty 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
3.4 Atualiza "Valor do aluguel corrigido" (snap_brok__
SituacaoValor_aluguel_corrigido__c)
do imóvel para "Indisponivel"para o valor recebido no request.
4.2 Altera "Disponível para locação" para falso(false
4.3 "Data de encerramento" igual a data do sistema(Today).
5. Pesquisa os contratos de administração dos
4. Pesquisar todos Imóveis do contrato:
54.1 Altera a "Situação" (snap_brok__Situacao__c) igual do imóvel para "DistratadoDisponivel".
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 |
ImovelRest.atualizarValoresImovel()
Descrição: Método responsável por atualizar valores de IPTU e Condomínio recebidos do ImobiliarContratoRest.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: Imóveis Contrato.
Tipo: Síncrono
Registros por requisição: 200 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
{ "sucess" : true, "id" : "a4G0q000000VFSiEAO", "errors" : [ ] }
|
Exemplo: Resposta - | |
---|---|
Sucesso | Obervações |
{ | |
Mensagem": | |
"Sucesso", | |
Erro": | |
false, | |
Contrato": |
|
Métodos de Envio
Métodos que tem como objetivo enviar requisições para a Imobiliar.
EnviarContratoAdministracao()
Descrição: Método responsável por enviar, após o término da captação,
o contrato de Administração criado para a Imobiliar.
O contrato de Administração deve ser enviado após ser atualizado para "Arquivado", pois sinaliza que está em vigor.
Método Rest: Post
Tipo: Síncrono
Registros por requisição: 1
{ |
Exemplo: Resposta - Falha | Observações |
---|---|
Contrato não localizado. |
Processamento SnapProperty
1.
A trigger (after update) de Contrato seleciona o contrato que foi atualizado para "Arquivado".2. Trigger invoca método API_Imobiliar_Envio.enviarConta() informando o contrato selecionado.
3. O método enviarContas() deve realizar os seguintes processamentos:SnapProperty realiza busca em contratos(snap_brok__Contrato__c) com base
3.1 Realiza busca nos Participantes do contrato para obter todos os Participantes daquele contrato
no Id ou Id externo informado.
2. Caso não encontrado contrato, retorna mensagem de erro informando que contrato não foi localizado.
3.2 Realiza busca nos Depositários do contrato para obter todos os Depositários daquele contrato. 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.
3 Remove possíveis duplicatas de contas entre depositários e participantes1 "Situação"(snap_brok__Situacao__c) para "Encerrado".
3.4 Com os dados das contas selecionados, realiza composição de payload JSON, para requisição a Imobiliar.
Mapeamento de campos: Inserção de Conta/Pessoa
Se tipo de registro diferente de "Cliente pessoa física".
Se tipo de registro "Cliente pessoa física".
Se tipo de registro igual "Cliente pessoa física" enviar "F".
Se tipo de registro diferente de "Cliente pessoa física" enviar "J".
Se "Masculino" enviar "M".
Se "Feminino" enviar "F".
Se "Outros" não enviar.
Se tipo de registro igual "Cliente pessoa física".
Se tipo de registro diferente "Cliente pessoa física".
Se tipo "snap_finan__Tipo_documento__c" igual "RG".
Se tipo "snap_finan__Tipo_documento__c" igual "Passaporte".
Se tipo "snap_finan__Tipo_documento__c" igual "PIS".
Enviar o Id salesforce da conta que foi inserida.
Contato (?)
Enviar "S".
Enviar "O"
Se tipo de registro igual "Cliente pessoa física" enviar "R".
Se tipo de registro diferente de "Cliente pessoa física" enviar "C"
PersonOtherPostalCode,
snap_finan__Logradouro_cobranca__c
PersonOtherPostalCode,
snap_finan__Cep_cobranca__c
Enviar vazio
snap_finan__Complemento_residencial__pc,
snap_finan__Complemento__c
snap_finan__Bairro_residencial__pc,
snap_finan__Bairro_cobranca__c
PersonOtherCity,
snap_finan__Cidade_cobranca__c
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 |
ImovelRest.atualizarValoresImovel()
Descrição: Método responsável por atualizar valores de IPTU e Condomínio recebidos do Imobiliar.
Método Rest: Post
Tipo de parâmetro: Imóveis.
Tipo: Síncrono
Registros por requisição: 200
Assinatura | URL | Descrição |
---|---|---|
Id externo | https://<instância do cliente>/services/apexrest/v1/sobjects/snap_brok__imovel__c/atualizarValoresImovel |
|
<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 |
---|---|
{ "imoveis": |
|
Exemplo: Resposta - Sucesso | Obervações |
---|---|
{ "sucess" : true, "id" : "a4G0q000000VFSiEAO", "errors" : [ ] } |
|
Exemplo: Resposta - Erro | Obervaçõ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" ] } |
|