fact_check Lista de tags do arquivo XML
(os campos em azul têm restrições relacionadas)
| Campo | Tamanho | Obrigatório? | Tag Xml |
|---|---|---|---|
| Código do Imóvel | 15 | Sim | CodigoImovel |
| Tipo do Imóvel | 15 | Sim | TipoImovel |
| SubTipo Imóvel | 15 | Não | SubTipoImovel |
| Categoria do Imóvel | 15 | Não | CategoriaImovel |
| Estado | 2 | Não | Estado |
| Cidade | 20 | Sim | Cidade |
| Bairro | 20 | Sim | Bairro |
| Endereço | 100 | Não | Endereco |
| Número | 20 | Não | Numero |
| Complemento | 50 | Não | Complemento |
| CEP (Número) | 8 | Não | CEP |
| Preço de Venda (Número) | 15 | Sim | PrecoVenda |
| Preço Locação (Número) | 10 | Sim | PrecoLocacao |
| Preço Condomínio (Número) | 15 | Não | PrecoCondominio |
| Área Útil (Número) | 10 | Não | AreaUtil |
| Qtd Dormitórios (Número) | 2 | Sim | QtdDormitorios |
| Qtd Suítes (Número) | 2 | Não | QtdSuites |
| Qtd Banheiros (Número) | 2 | Não | QtdBanheiros |
| Qtd Vagas (Número) | 2 | Sim | QtdVagas |
| Sala Ginástica (0/1) | 1 | Não | SalaGinastica |
| Observação | 5000 | Não | Observacao |
| Salão de Festas (0/1) | 1 | Não | SalaoFestas |
| Salão de Jogos (0/1) | 1 | Não | SalaoJogos |
| Piscina (0/1) | 1 | Não | Piscina |
| Churrasqueira (0/1) | 1 | Não | Churrasqueira |
| Nome Arquivo | 60 | Não | NomeArquivo |
| URL Arquivo | 240 | Não | URLArquivo |
| Vídeo no anúncio? | 1 | Não | TemVideo |
| Vídeo | 512 | Não | Video |
| Tipo de Destaque | 1 | Não | DestaqueTipo |
| Tour Virtual | 250 | Não | TourVirtual |
| Lançamento (0/1) | 1 | Não | Lancamento |
| Empreendimento | 250 | Não | Empreendimento |
| Descrição Empreendimento | 1200 | Não | DescricaoEmpreendimento |
| Apartamento sem Condomínio (0/1) | 1 | Não | SemCondominio |
| Valor IPTU | 9 | Não | ValorIptu |
key Código do Imóvel
O código do imóvel é o identificador único do imóvel.
- Só são permitidos até 15 caracteres.
<CodigoImovel>12345</CodigoImovel>
attach_money Preço de Venda
Preço de venda do imóvel, só deve ser preenchido quando for venda.
- Campo numérico;
- Só são permitidos até 15 caracteres.
<PrecoVenda>450000</PrecoVenda>
attach_money Preço Locação
Preço de locação do imóvel, só deve ser preenchido quando for locação.
- Campo numérico;
- Só são permitidos até 10 caracteres.
<PrecoLocacao>500</PrecoLocacao>
house Tipo de Imóveis
Regras de quando for enviar somente o campo <TipoImovel>:
ATENÇÃO: Se não for enviado <SubTipoImovel> e <CategoriaImovel>, o campo tipo do imóvel deverá ser um dos seguintes:
- Apartamento
- Apartamento Duplex
- Casa Comercial
- Casa Térrea
- Chácara
- Cobertura
- Cobertura Duplex
- Condomínio Fechado
- Flat
- Galpão / Salão
- Imóvel para Renda
- Kitchenette
- Loft
- Ponto Comercial
- Prédio Comercial
- Sala Comercial
- Sobrado
- Terreno
- Sítio
OBS: Se for utilizado a regra acima, por favor desconsiderar as regras abaixo de <CategoriaImovel>, <SubTipoImovel> e <TipoImovel>
house Categoria Imóvel
-
A categoria do imóvel deverá ser:
- Cobertura
- Duplex
- Triplex
- Sobrado
- Térrea
- Padrão
- Outros.
-
Se o imóvel for de categoria Padrão, este não poderá fazer parte de nenhum dos subtipos abaixo:
- Kitchenette/Conjugados
- Terreno Padrão
- Loteamento/Condomínio
- Chácara
- Sítio
- Fazenda
- Haras
- Box/Garagem
- Prédio Inteiro
- Conjunto Comercial/Sala
- Casa Comercial
- Loja de Shopping/Centro Comercial
- Loja/Salão
- Galpão/Depósito/Armazém
- Studio
- Hotel
- Motel
- Pousada/Chalé
- Indústria
-
Se o imóvel pertencer às categorias Sobrado/Duplex e Térrea, os subtipos deverão ser um dos seguintes:
- Casa de Condomínio
- Casa de Vila
- Casa Padrão
house SubTipo Imóvel
-
O Subtipo do imóvel deverá ser:
- Loft
- Apartamento Padrão
- Kitchenette/Conjugados
- Casa de Condomínio
- Casa de Vila
- Casa Padrão
- Outros.
Os subtipos específicos para cada categoria de imóvel estão listados na tabela abaixo. Escolha o subtipo apropriado conforme as opções disponíveis:
| Cobertura | Apartamento Padrão | Flat Padrão |
|---|---|---|
| Duplex | Cobertura | Sem Decoração |
| Triplex | Duplex | Decoração não Padronizada |
| Padrão | Triplex | Decoração Padrão |
| - | Cobertura Duplex | Dentro do Pool |
| - | Cobertura Triplex | Padrão |
| - | Padrão | - |
house Tipo Imóvel
-
O campo tipo do imóvel deverá ser:
- Apartamento
- Casa
- Terreno Comercial/Industrial
- Outros.
Se o tipo imóvel for um dos citados abaixo, o subtipo do imóvel deverá ser correspondete a lista:
| Apartamento | Casa | Terreno | Rural | Flat/ApartHotel |
|---|---|---|---|---|
| Loft | Casa de Condomínio | Terreno Padrão | Chácara | Flat Padrão |
| Apartamento Padrão | Casa de Vila | Loteamento/Condomínio | Sítio | - |
| Kitchenette/Conjugados | Casa Padrão | - | Fazenda | - |
| - | - | - | Haras | - |
-
Comercial/Industrial - Abaixo está a lista de subtipos para imóveis comerciais e industriais:
- Box/Garagem
- Prédio Inteiro
- Conjunto Comercial/sala
- Casa Comercial
- Loja de Shopping/Centro Comercial
- Loja/Salão
- Galpão/Depósito/Armazém
- Studio
- Hotel
- Motel
- Pousada/Chalé
- Indústria
Se o tipo de imóvel for Apartamento ou Casa e o subtipo do imóvel for diferente de Kitchenette/Conjugados, o número de dormitórios deve ser informado e o número de suítes não poderá ser maior que o número de dormitórios.
square_foot Área Útil
-
Este campo deve ser preenchido quando for:
- Apartamento
- Casa
- Flat/ApartHotel
Regras para o preenchimento da <AreaUtil>:
-
Apartamento ou Casa:
- A área útil não poderá ser 0, menor que 20 ou maior que 9999.
-
Flat/ApartHotel:
- A área útil não poderá ser 0, menor que 10 ou maior que 1999.
-
Comercial/Industrial:
-
A área útil não poderá ser menor que 4 e maior que 999999:
- Box/Garagem
- Conjunto Comercial/sala
- Casa Comercial
- Loja de Shopping/Centro Comercial
- Loja/Salão
- Galpão/Depósito/Armazém
-
A área útil não poderá ser menor que 4 e maior que 99999:
- Box/Garagem
-
A área útil não poderá ser menor que 4 e maior que 9999999:
- Galpão/Depósito/Armazém
-
A área útil não poderá ser menor que 19 ou maior que 9999:
- Prédio Inteiro
-
-
Terreno ou Rural:
- A área útil não poderá ser menor que 2
<AreaUtil>167</AreaUtil>
hotel Quantidade de Dormitórios
Este campo deve ser preenchido de acordo com o tipo de imóvel.
<QtdDormitorios>2</QtdDormitorios>
Importante:
Todos os campos com tamanho igual a 1 (um) caractere, devem respeitar a seguinte condição:
- 0 – se desejar que a opção não apareça
- 1 – se desejar que a opção apareça
place Bairro
Nome de bairros sem abreviações, ex: Jardim Anália Franco.
Para cadastrar o endereço do anúncio, utilize as tags <Endereco> e <Numero>.
<Bairro>Centro</Bairro>
<Endereco>Rua das Flores</Endereco>
<Numero>123</Numero>
star Destaque Tipo
Informa se o anúncio é um destaque e qual o tipo dele conforme o valor:
- 1 – Destaque Premium
- 3 – Super Destaque
<DestaqueTipo>1</DestaqueTipo>
business Empreendimento
Informar nome e descrição do Edifício do imóvel.
<Empreendimento>Residencial Alpha</Empreendimento>
<DescricaoEmpreendimento>Condomínio de alto padrão</DescricaoEmpreendimento>
new_releases Lançamento
Imóveis em lançamento fazem parte do Plano Light, exclusivo para imóveis novos. Eles são destacados em nosso portal como excelentes oportunidades para quem procura as mais recentes ofertas e tendências do mercado imobiliário.
<Lancamento>1</Lancamento>
photo Fotos
Os Portais do Grupo SP Imóvel permitem no máximo 24 fotos para cada imóvel.
<Fotos>
<Foto>
<NomeArquivo>Casa.jpg</NomeArquivo>
<URLArquivo>http://www.minhaurl.com.br/mediaFolder/fotos/07/Casa01.jpg</URLArquivo>
<Principal>0</Principal>
</Foto>
</Fotos>
Confira a seguir a lista detalhada de tipos de imóveis, incluindo suas subcategorias e categorias, conforme organizado no XML:
home_pin Tipo Imóvel
- Apartamento
- Casa
- Terreno
- Rural
- Flat
- Comercial
home_pin SubTipo Imóvel
- Kitchenette/Studio
- Casa de Condomínio
- Casa de Vila
- Casa Padrão
- Terreno Padrão
- Loteamento/Condomínio
- Chácara
- Sítio
- Fazenda
- Haras
- Flat Padrão
- Box/Garagem
- Prédio Inteiro
- Conjunto Comercial/sala
- Casa Comercial
- Loja de Shopping/Centro Comercial
- Loja/Salão
- Galpão/Depósito/Armazém
- Studio
- Hotel
- Motel
- Pousada/Chalé
- Indústria
home_pin Categoria Imóvel
- Cobertura
- Duplex
- Triplex
- Sem Decoração
- Decoração não Padronizada
- Decoração Padrão
- Dentro do Pool
- Sobrado
- Térrea
- Cobertura Duplex
- Cobertura Triplex
- Padrão
home_pin Tipo Imóvel (sem SubTipoImovel e CategoriaImovel)
- Apartamento
- Apartamento Duplex
- Casa Comercial
- Casa Térrea
- Chácara
- Cobertura
- Cobertura Duplex
- Condomínio Fechado
- Flat
- Galpão / Salão
- Imóvel para Renda
- Kitchenette
- Loft
- Ponto Comercial
- Prédio Comercial
- Sala Comercial
- Sobrado
- Terreno
- Sítio
home_pin Condomínio
Divulgue o Condomínio e Aumente a Visibilidade dos Imóveis:
Para oferecer a melhor experiência para quem está à procura de um imóvel, é essencial falar não apenas sobre as características dele, mas também sobre o condomínio onde ele está localizado. Nome, localização, infraestrutura e outros diferenciais fazem a diferença na decisão de compra. Um anúncio completo chama mais atenção e aumenta as chances de conversão!
<Empreendimento>Residencial Alpha</Empreendimento>
<DescricaoEmpreendimento>Condomínio de alto padrão</DescricaoEmpreendimento>
<Endereco>Rua das Flores</Endereco>
<Numero>123</Numero>
Observações sobre os campos:
| Tag | Descrição | Tamanho | Obrigatório |
|---|---|---|---|
| Empreendimento | Nome do edifício ou condomínio | 250 | Não |
| DescricaoEmpreendimento | Descrição do condomínio (o que o torna único) | 1200 | Não |
| Endereco | Localização exata do imóvel | 100 | Não |
| Numero | Número do endereço do imóvel | 20 | Não |
description Exemplo de Arquivo XML
Este arquivo XML serve como exemplo de como os dados dos imóveis são estruturados e enviados para o sistema. Ele contém informações detalhadas sobre propriedades, como o código do imóvel, tipo, endereço, preços, e mais.
Para visualizar o arquivo XML completo, clique no link abaixo:
Clique aqui para abrir o exemplo completo touch_appAbaixo está uma breve visualização de como os dados são organizados dentro do arquivo XML:
<?xml version="1.0" encoding="utf-8"?>
<Carga xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Imoveis>
<Imovel>
<CodigoImovel>07</CodigoImovel>
<TipoImovel>Apartamento</TipoImovel>
<Endereco>R. Luís Pinto Fláquer</Endereco>
<PrecoVenda>450000</PrecoVenda>
<QtdDormitorios>5</QtdDormitorios>
<Fotos>
<Foto>
<NomeArquivo>living.JPG</NomeArquivo>
<URLArquivo>http://www.example.com/living.JPG</URLArquivo>
</Foto>
</Fotos>
</Imovel>
</Imoveis>
</Carga>
sync_alt Padrão VRSync
Além do padrão de arquivo do Grupo SP Imóvel, também aceitamos cargas no padrão VRSync, o formato XML utilizado por outros portais.
O envio do arquivo é feito da mesma forma descrita na seção Envio de cargas (via Web Service ou através de uma URL fixa).
Correspondência das principais tags:
| Tag VRSync | Equivalente SP Imóvel |
|---|---|
| Listings / Listing | Imoveis / Imovel |
| ListingID | CodigoImovel |
| TransactionType | Define a finalidade (venda, locação ou ambas) |
| PublicationType | DestaqueTipo (STANDARD = 0, PREMIUM = 1 e SUPER_DESTAQUE = 3) |
| Details / PropertyType | TipoImovel |
| Details / ListPrice | PrecoVenda |
| Details / RentalPrice | PrecoLocacao (valor mensal) |
| Details / PropertyAdministrationFee | PrecoCondominio |
| Details / YearlyTax (ou Iptu) | ValorIptu (valor mensal do IPTU) |
| Details / Description | Observacao |
| Details / Bedrooms | QtdDormitorios |
| Details / Suites | QtdSuites |
| Details / Garage | QtdVagas |
| Details / LivingArea | AreaUtil |
| Details / Features / Feature | Características do imóvel (piscina, churrasqueira, playground, etc.) |
| Location / Address e StreetNumber | Endereco e Numero |
| Location / Neighborhood | Bairro |
| Location / City | Cidade |
| Location / PostalCode | CEP |
| Location / Latitude e Longitude | Latitude e Longitude do anúncio |
| VirtualTourLink | TourVirtual |
| Media / Item medium="image" | Fotos do anúncio (primary="true" define a foto principal) |
| Media / Item medium="video" | Video |
Venda e locação (TransactionType):
- For Sale: o anúncio é publicado como venda, com o valor da tag ListPrice.
- For Rent: o anúncio é publicado como locação, com o valor da tag RentalPrice.
- Sale/Rent: quando os dois valores são informados e a opção "Duplicar Venda e Locação" está habilitada no cadastro da imobiliária, são publicados dois anúncios: o de venda com o código original e o de locação com o sufixo "_2" no código.
Observações:
- Tipos de imóvel em inglês são convertidos automaticamente (Apartment = Apartamento, Home = Casa, Land Lot = Terreno, Penthouse = Cobertura, etc.). Tipos já em português são aceitos normalmente.
- O valor da tag RentalPrice deve ser sempre o valor mensal da locação.
- A tag PublicationType define o destaque do anúncio, como a tag DestaqueTipo do padrão SP Imóvel: STANDARD (ou ausente) = sem destaque, PREMIUM ou 1 = Destaque, SUPER_DESTAQUE ou 3 = Super Destaque. Os destaques ficam sujeitos à quantidade contratada pela imobiliária.
- Tags sem equivalente no padrão SP Imóvel são ignoradas no processamento (ex: Title, Bathrooms, YearBuilt, UsageType, DetailViewUrl, Warranties, ContactInfo e o atributo displayAddress). Elas podem permanecer no arquivo sem problema.
Para visualizar um arquivo VRSync completo, clique no link abaixo:
Clique aqui para abrir o exemplo completo touch_appAbaixo está uma breve visualização de como os dados são organizados dentro do arquivo VRSync:
<?xml version="1.0" encoding="UTF-8"?>
<ListingDataFeed>
<Listings>
<Listing>
<ListingID>0001</ListingID>
<TransactionType>For Sale</TransactionType>
<PublicationType>STANDARD</PublicationType>
<Details>
<PropertyType>Residential / Apartamento</PropertyType>
<ListPrice currency="BRL">450000</ListPrice>
<Bedrooms>3</Bedrooms>
<Description>Apartamento com 3 dormitórios...</Description>
</Details>
<Location>
<City>São Paulo</City>
<Neighborhood>Moema</Neighborhood>
</Location>
<Media>
<Item medium="image" primary="true">http://www.example.com/fachada.jpg</Item>
</Media>
</Listing>
</Listings>
</ListingDataFeed>
cloud_upload Processo para envio de cargas em XML
Para efetuar o envio de cargas de dados para o Grupo SP Imóvel, é necessário enviar os dados através de um Web Service. O Web Service prevê o envio de arquivos de dados (xml) e fotos (jpg, bmp, gif, png, etc.).
O Web Service está disponível na url abaixo:
Clique aqui para abrir o Web Service touch_appUsuário para teste:
- Usuário: rdogf1
- Senha: rdogfteste3
Ao fazer um teste de integração, enviar um e-mail para leonardo@spimovel.com.br notificando que foi feito uma integração teste, sendo assim podemos dar um retorno mais detalhado de sua integração.
Para Integração real é necessário o usuário e senha da imobiliária nos portais.
As operações (métodos) destinados ao envio dos dados são:
update Atualiza Arquivo
Método responsável pelo processamento de arquivos de dados.
Parâmetros de entrada:
| Nome | Tipo | Descrição |
|---|---|---|
| pUsuario | Alfanumérico | Código do cliente (fornecido pelo Grupo SP Imóvel) |
| pSenha | Alfanumérico | Senha do cliente (fornecida pelo Grupo SP Imóvel) |
| bytArquivo | Array de Bytes | Representação do arquivo de dados em forma de array de bytes |
Obs: Todos os parâmetros são obrigatórios
Retorno:
Caso a operação tenha ocorrido com sucesso, retorna uma string com dois itens separados por " | ":
- 1° - OK
- 2° - Link XML de Retorno
Ex: “OK | http://www.grupo.spimovel.com.br/XmlRetorno/01/01.xml”.
Caso contrário retorna a mensagem de erro correspondente.
Atenção: XML de Retorno só será gerado após o processamento do arquivo entre 01:00 e 06:00 da manhã.
O Web service aceita somente um arquivo de dados por dia. Sempre que for enviado um novo arquivo de dados, esse irá sobrescrever o arquivo de dados enviado no mesmo dia.
update Atualiza Arquivo String
Método responsável pelo processamento de arquivos de dados. Essa é uma versão alternativa ao método AtualizaArquivo, para uso nos casos onde não é possível ou tecnicamente viável a geração do array de bytes.
Parâmetros de entrada:
| Nome | Tipo | Descrição |
|---|---|---|
| pUsuario | Alfanumérico | Código do cliente (fornecido pelo Grupo SP Imóvel) |
| pSenha | Alfanumérico | Senha do cliente (fornecida pelo Grupo SP Imóvel) |
| pConteudo | Alfanumérico | Conteúdo do arquivo Xml de carga |
Obs: Todos os parâmetros são obrigatórios
Retorno:
Caso a operação tenha ocorrido com sucesso, retorna uma string com dois itens separados por " | ":
- 1° - OK
- 2° - Link XML de Retorno
Ex: “OK | http://www.grupo.spimovel.com.br/XmlRetorno/01/01.xml”.
Caso contrário retorna a mensagem de erro correspondente.
Atenção: XML de Retorno só será gerado após o processamento do arquivo entre 01:00 e 06:00 da manhã.
O Web Service aceita somente um arquivo de dados por dia. Sempre que for enviado um novo arquivo de dados, esse irá sobrescrever o arquivo de dados enviado no mesmo dia.
library_books Apêndice
Mais informações sobre array de bytes (Byte Arrays):
Os Byte Arrays são representações hexadecimais de uma forma binária de dados (como um arquivo), muito úteis para serem utilizadas para transporte de informação binária entre métodos de uma aplicação, ou entre serviços web. Para criar um array de bytes é necessário converter todos os bytes de um arquivo em uma representação hexadecimal e criar um array.
Alguns exemplos de como gerar um array de bytes:
Em VB:
Private Function ByteArrayArquivo(ByVal caminho As String) As Byte()
Dim bytes As Byte() = Nothing
Dim reader As New System.IO.FileStream("" & caminho, System.IO.FileMode.Open)
bytes = New Byte(reader.Length - 1) {}
reader.Read(bytes, 0, CInt(reader.Length))
Return bytes
End Function
Em C#:
private byte[] ByteArrayArquivo(string caminho)
{
byte[] bytes = null;
System.IO.FileStream reader = new System.IO.FileStream(@"" + caminho, System.IO.FileMode.Open);
bytes = new byte[reader.Length];
reader.Read(bytes, 0, (int)reader.Length);
return bytes;
}
integration_instructions Código Form em C#
Exemplo de código em C# para enviar um arquivo XML ou foto utilizando um serviço web:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using TestWebService.WSSPImovel;
using System.IO;
namespace TestWebService
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnEnviarXml_Click(object sender, EventArgs e)
{
IntegracaoAnuncioSoapClient ws = new IntegracaoAnuncioSoapClient();
string sRetorno = "N/A";
string Extensao = Path.GetExtension(txtbArquivo.Text);
switch (Extensao)
{
case ".xml":
if (ckXmlString.Checked)
sRetorno = ws.AtualizaArquivoString(txtbUsuario.Text, txtbSenha.Text, File.ReadAllText(txtbArquivo.Text, Encoding.GetEncoding("ISO-8859-1")));
else
sRetorno = ws.AtualizaArquivo(txtbUsuario.Text, txtbSenha.Text, ByteArrayArquivo(txtbArquivo.Text));
break;
default:
sRetorno = ws.AtualizaFoto(txtbUsuario.Text, txtbSenha.Text, txtbCodImovel.Text, ByteArrayArquivo(txtbArquivo.Text), Path.GetFileName(txtbArquivo.Text));
break;
}
MessageBox.Show(sRetorno, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private byte[] ByteArrayArquivo(string caminho)
{
byte[] bytes = null;
System.IO.FileStream reader = new System.IO.FileStream(@"" + caminho, System.IO.FileMode.Open);
bytes = new byte[reader.Length];
reader.Read(bytes, 0, (int)reader.Length);
return bytes;
}
private void btnProcurarArquivo_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
txtbArquivo.Text = openFileDialog1.FileName;
}
}
}
autorenew Retorno do Processamento do Arquivo de Anúncios
No retorno será gerado um arquivo XML que informará todo o processamento do arquivo enviado via Web Service. O Link é gerado logo após o sucesso do envio do arquivo via Web Service.
Atenção: XML de Retorno só será gerado após o processamento do arquivo entre 01:00 e 06:00 da manhã.
Url de exemplo abaixo:
Clique aqui para abrir o exemplo touch_appEstrutura do arquivo retorno no formato XML:
<?xml version="1.0" encoding="utf-8"?>
<anuncios>
<resumo>
<anuncios_no_arquivo>100</anuncios_no_arquivo>
<anuncios_rejeitados>1</anuncios_rejeitados>
<anuncios_no_portal>99</anuncios_no_portal>
<anuncios_no_portal_com_fotos>80</anuncios_no_portal_com_fotos>
</resumo>
<anuncios_incluidos>
<imovel>
<codigo>1</codigo>
<url_no_portal>http://www.portal.com/id/12</url_no_portal>
</imovel>
<imovel>
<codigo>2</codigo>
<url_no_portal>http://www.portal.com/id/13</url_no_portal>
</imovel>
</anuncios_incluidos>
<anuncios_rejeitados>
<imovel>
<codigo>3</codigo>
<mensagem>Bairro inexistente</mensagem>
</imovel>
<imovel>
<codigo>4</codigo>
<mensagem>Area total obrigatorio</mensagem>
</imovel>
</anuncios_rejeitados>
</anuncios>
hub Integração de Leads
Enviamos os leads gerados no portal para o CRM do cliente via HTTP POST com payload JSON, utilizando o endpoint e padrão de estrutura definidos pelo próprio CRM.
Fluxo de envio dos leads
Após a configuração, os leads gerados no portal (E-mail, WhatsApp e/ou Telefone) são enviados automaticamente ao endpoint informado. Antes do envio, o sistema pode normalizar e ajustar os dados (ex.: mensagem padrão conforme o tipo do lead, telefone com/sem DDD) e montar o payload de acordo com o padrão exigido pela API do cliente.
Requisitos técnicos da requisição:
- Método: POST
- Content-Type: application/json
- Protocolo: HTTPS recomendado
- Resposta esperada: HTTP 200 ou 201 para confirmação de recebimento
Para configurar a integração, precisamos de:
- URL do endpoint (preferencialmente HTTPS).
- Modelo do JSON esperado (estrutura, nomes de campos e obrigatoriedades).
- Headers e autenticação (Token, Basic, Bearer, API Key etc.).
- Regras de validação específicas do CRM (ex: e-mail obrigatório, telefone com DDD, campos fixos).
- Ambiente de homologação (quando disponível) para testes de integração.
Boas práticas recomendadas:
- Retornar HTTP 200 ou 201 em caso de sucesso.
- Retornar mensagem de confirmação no corpo da resposta.
- Registrar logs para auditoria e rastreabilidade.
Exemplo ilustrativo de envio (cURL)
O exemplo abaixo representa um modelo genérico de envio. O endpoint, headers e estrutura final serão definidos conforme o padrão do CRM integrado.
curl -X POST "https://api.exemplo.com.br/leads" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer SEU_TOKEN_AQUI" \
-d '{
"nome": "João da Silva",
"email": "joao@email.com",
"telefone": "+55 11 91234-5678",
"mensagem": "Olá, tenho interesse.",
"codigoAnuncio": "1234",
"origem": "SPImovel"
}'
Resposta esperada
{
"status": 200,
"message": "Lead recebido com sucesso"
}