XML format and structure
Header
<header>
: Represents user and market information. Tags to include:
<owner_email>
: Represents the client's email address on your side. The email is just for tracking purposes. We use an Authorization protocol to connect client credentials on our side and your feed. This means that the client will be notified via email, once we enable your feed and the client needs to allow it.<site_urn>
: Represents our marketplace where your system wants to publish clients properties.
Value | Description |
---|---|
urn:site:imovirtualcom | Publish at Imovirtual |
urn:site:otodompl | Publish at Otodom |
urn:site:storiaro | Publish at Storia |
Header example URL
<header>
<owner_email>
<![CDATA[ ]]>
</owner_email> // optional
<site_urn>urn:site:imovirtualcom</site_urn>
</header>
Advert payload
<adverts>
: Starts the encoding for individual adverts.
<advert>
: Represents a property listing, and all elements and attributes for the advert will be under this tag. Every advert is individually identified by this tag, and there’s no limit on adverts' insertions.
The XML feed follows a specific structure:
Basic Elements
Basic Elements are to be applied to all adverts, and most of these elements are mandatory.
All basic elements must be wrapped in an <element_name>
element and have the following structure:
<adverts>
<advert>
// simple elements
<element_name>
<![CDATA[ ]]>
</element_name>
// elements with child/children
<element_name>
<element_child>
<![CDATA[ ]]>
</element_child>
</element_name>
</advert>
</adverts>
Note: some elements and the values of their children's elements have specific values that must be checked against the basic elements in the XML template file.
Attributes per Categories
All attributes and characteristics must be wrapped in an element under ; you can add as many attributes as necessary for each property advert, based on category available attributes and have the following structure:
<attribute>
<urn>attribute_name</urn>
<value>attribute_value</value>
</attribute>
HTML vs XML tags
HTML tags in the description will not be properly interpreted without adding the <![CDATA[
at the start of the description and ]]>
at the end. Without this, from XML perspective, those HTML tags are treated as XML tags, and since they are empty, they are removed. Update the XML file with the <![CDATA[ ]]>
to the description to send HTML tags if necessary.
XML template file (for Imovirtual)
Here you will find all available attributes per categories and each ones are mandatory and required, as well all the available values.
<?xml version="1.0" encoding="UTF-8"?>
<!-- mandatory | root element -->
<data>
<header>
<!-- mandatory | agency email on your side -->
<owner_email>[email protected]</owner_email>
<!-- mandatory | site target | site where agency manages his inventory -->
<site_urn>urn:site:imovirtualcom</site_urn>
</header>
<!-- mandatory | list of all adverts to be published or updated on agency account -->
<adverts>
<!-- mandatory | repeat element per each advert -->
<advert>
<!-- optional|mandatory | custom fields
to help identify the advert as unique -->
<custom_fields>
<!-- mandatory | alfanumeric | external_id
unique partner advert id used to add or update the advert
-->
<id>ABC0123456789</id>
<!-- optional | alfanumeric | reference_id
agency reference id to show in advert details page
-->
<reference_id>ABC0123456789</reference_id>
</custom_fields>
<!-- mandatory | string | title | less than 70 characters -->
<title>advert title</title>
<!-- mandatory | string | description | less than 4096 characters
use html tags for formating the description -->
<description>Fugiat architecto beatae delectus asperiores et. Repellat harum dolore quia ipsam ullam. Voluptas eius recusandae repellat quis accusantium.</description>
<!-- category & category type - mandatory string
allowed values:
apartamentos para venda urn:concept:apartments-for-sale
apartamentos para renda urn:concept:apartments-for-rent
apartamentos para ferias urn:concept:apartments-for-vacation
moradias para venda urn:concept:houses-for-sale
moradias para renda urn:concept:houses-for-rent
moradias para ferias urn:concept:houses-for-vacation
quartos para renda urn:concept:rooms-for-rent
terrenos para venda urn:concept:lots-for-sale
terrenos para renda urn:concept:lots-for-rent
lojas para venda urn:concept:stores-for-sale
lojas para renda urn:concept:stores-for-rent
armazens para venda urn:concept:warehouses-for-sale
armazens para renda urn:concept:warehouses-for-rent
garagens-e-estacionamento para venda urn:concept:garages-for-sale
garagens-e-estacionamento para renda urn:concept:garages-for-rent
escritorios para venda urn:concept:offices-for-sale
escritorios para renda urn:concept:offices-for-rent
predios para venda urn:concept:buildings-for-sale
predios para renda urn:concept:buildings-for-rent
quintas-e-herdades para venda urn:concept:farms-and-estates-for-sale
quintas-e-herdades para renda urn:concept:farms-and-estates-for-rent
trespasse urn:concept:goodwill
-->
<category_urn>urn:concept:apartments-for-sale</category_urn>
<!-- consultant contact details - optional
it will displayed at advert details page depending on user package
if omitted agency contact details will be displayed
-->
<contact>
<!-- consultant name - mandatory string -->
<name>Consultant Name</name>
<!-- consultant email - mandatory string
unique email for consultant. it will be used to add or update consultant data
-->
<email>consultant.email@domain</email>
<!-- consultant phone - mandatory string
9 digit format
-->
<phone>910000000</phone>
<!-- consultant photo - optional string - url for consultant photo
minimum resolution allowed: 60x60
recommended resolution: 66x66
maximum file size allowed: 5 MB
-->
<photo>http://path.to/consultant/photo.jpg</photo>
</contact>
<!-- mandatory | property rent or sales price -->
<price>
<!-- mandatory | double | price valude
use a dot for decimal
max value for apartments: 5000000
max value for houses: 15000000
max value for lots: 30000000
max value for buildings: 47500000
price 0 is allowed and will be displayed as "on demand" or "sob consulta"
for that on-demand atributte shall be included
-->
<value>123000</value>
<!-- mandatory | string | price currency
Imovirtual uses EUR
-->
<currency>EUR</currency>
</price>
<!-- mandatory | array of images
minimum 1, maximum 60
minimum resolution allowed: 300x300
recommended resolution: 1280x1024
maximum file size allowed: 5 MB
-->
<images>
<!-- repeat element for each image -->
<image>
<!-- image URL | mandatory -->
<url>http://domain/image1.jpg</url>
<!-- image text | optional -->
<text>image A</text>
<!-- image order | optional
if omitted by default will be the order of the images on the array
-->
<order>1</order>
</image>
</images>
<!-- optional | property movie
the url for a Youtube or Vimeo movie to be displayed on the advert detail page
-->
<movie_url>https://www.youtube.com/watch?v=xxxxxxxx</movie_url>
<!-- mandatory | property coordinates -->
<location>
<!-- mandatory | latitude -->
<lat>41.573603</lat>
<!-- mandatory | longitude-->
<lon>-7.214126</lon>
<!-- optional | exact coordinates
by default false
if true will display a pin in the advert details map view -->
<exact>true</exact>
</location>
<!-- mandatory | array of property attributes -->
<attributes>
<!-- repeat element for each attribute/urn -->
<!-- mandatory|optional tipology number
allowed values:
T0 urn:concept:none
T1 urn:concept:1
T2 urn:concept:2
T3 urn:concept:3
T4 urn:concept:4
T5 urn:concept:5
T6 urn:concept:6
T7 urn:concept:7
T8 urn:concept:8
T9 urn:concept:9
T9+ urn:concept:more
mandatory for apartamentos and moradias
optional for quintas-e-herdades
ignored for other categories
-->
<attribute>
<urn>urn:concept:number-of-rooms</urn>
<value>urn:concept:none</value>
</attribute>
<!-- mandatory|optional double area: urn:concept:net-area-m2 , urn:concept:gross-area-m2, urn:concept:terrain-area-m2
use a dot for decimal
allowed values:
for apartamentos, lojas, armazens, escritorios, predios and trespasse:
urn:concept:net-area-m2 - mandatory area element is considered the net area
urn:concept:gross-area-m2 - optional element is considered the gross area
for moradias:
urn:concept:net-area-m2 - mandatory area element is considered the net area
urn:concept:terrain-area-m2 - required element is considered the plot/terrain area
urn:concept:gross-area-m2 - optional element is considered the gross area
for quartos and garagens-e-estacionamento:
urn:concept:net-area-m2 - mandatory area element is considered the net area
for terrenos:
urn:concept:net-area-m2 - mandatory area element is considered the net area
-->
<attribute>
<urn>urn:concept:net-area-m2</urn>
<value>120</value>
</attribute>
<attribute>
<urn>urn:concept:gross-area-m2</urn>
<value>150.6</value>
</attribute>
<attribute>
<urn>urn:concept:terrain-area-m2</urn>
<value>1500</value>
</attribute>
<!-- optional | int | year
property construction year
-->
<attribute>
<urn>urn:concept:construction-year</urn>
<value>2000</value>
</attribute>
<!-- optional | number of bathrooms
available for categories apartments and houses (rent and sales)
allowed values:
1 urn:concept:1
2 urn:concept:2
3 urn:concept:3
4+ urn:concept:4-or-more
-->
<attribute>
<urn>urn:concept:number-of-bathrooms</urn>
<value>urn:concept:2</value>
</attribute>
<!-- mandatory - certificado energetico
except for categories "quartos para renda", "terrenos", "garagens"
energy certificate values:
A+ urn:concept:a-plus
A urn:concept:a
B urn:concept:b
B- urn:concept:b-minus
C urn:concept:c
D urn:concept:d
E urn:concept:e
F urn:concept:f
G urn:concept:g"
Isento urn:concept:exempt
if omitted by default will be urn:concept:exempt, as also refers to "Em Trâmite"
-->
<attribute>
<urn>urn:concept:energy-certificate</urn>
<value>urn:concept:a</value>
</attribute>
<!-- mandatory for apartments and houses for vacations | integer | local accommodation license identifier number
the "/AL" suffix will be added automatically
-->
<attribute>
<urn>urn:concept:number-of-user-license</urn>
<value>1286529</value>
</attribute>
<!-- optional | caracteristicas
allows duplication of name for each caracteristica value
allowed values for apartamentos and moradias:
acessibilidade-a-pessoas-com-mobilidade-condicionada urn:concept:reduced-mobility-accessible
alarme urn:concept:alarm
aquecimento-central urn:concept:central-heating
ar-condicionado urn:concept:air-conditioning
arvores-de-fruto urn:concept:fruit-trees
condominio-fechado urn:concept:gated-community
cozinha-equipada urn:concept:equipped-kitchen
elevador urn:concept:elevator
estacionamento urn:concept:parking
garagem-box urn:concept:garage-box
hidromassagem-jacuzzi urn:concept:whirlpool-jacuzzi
jardim urn:concept:garden
lareira urn:concept:fireplace
mobilado urn:concept:furnished
piscina urn:concept:pool
quintal-horta urn:concept:vegetable-garden
varanda urn:concept:balcony
vigilancia-seguranca urn:concept:security-surveillance
vista-de-campo-serra urn:concept:countryside-mountain-view
vista-de-mar urn:concept:sea-view
vista-de-rio urn:concept:river-view
allowed values for quartos:
acessibilidade-a-pessoas-com-mobilidade-condicionada urn:concept:reduced-mobility-accessible
alarme urn:concept:alarm
ar-condicionado urn:concept:air-conditioning
casa-de-banho-privada urn:concept:private-bathroom
condominio-fechado urn:concept:gated-community
elevador urn:concept:elevator
estacionamento urn:concept:parking
garagem-box urn:concept:garage-box
hidromassagem-jacuzzi urn:concept:whirlpool-jacuzzi
internet urn:concept:internet
jardim urn:concept:garden
piscina urn:concept:pool
quintal-horta urn:concept:vegetable-garden
som-ambiente urn:concept:built-in-speakers
tomada-de-telefone urn:concept:phone-plug
tv urn:concept:tv
varanda-quintal urn:concept:balcony
vigilancia-seguranca urn:concept:security-surveillance
vista-de-campo-serra urn:concept:countryside-mountain-view
vista-de-mar urn:concept:sea-view
vista-de-rio urn:concept:river-view
allowed values for terrenos:
cerca urn:concept:fence
conectado a rede de água urn:concept:connected-to-water-network
localizado numa area protegida urn:concept:located-in-a-protected-environment-area
-->
<attribute>
<urn>urn:concept:characteristics</urn>
<value>urn:concept:central-heating</value>
</attribute>
<attribute>
<urn>urn:concept:characteristics</urn>
<value>urn:concept:alarm</value>
</attribute>
<!-- optional | other caracteristicas
allows duplication of name for each caracteristica value
allowed values for quintas-e-herdades:
piscina urn:concept:pool
lago urn:concept:lake
capela urn:concept:chapel
jardim urn:concept:garden
furo-de-agua urn:concept:water-hole
allowed values for escritorios, lojas and trespasse:
com-wc urn:concept:has-bathroom
com-cozinha urn:concept:has-kitchen
-->
<attribute>
<urn>urn:concept:other-characteristics</urn>
<value>urn:concept:urn:concept:pool</value>
</attribute>
<!-- optional | state
allowed values for apartments, houses, farms
Under Construction urn:concept:under-construction
New urn:concept:new
To Recuperate urn:concept:to-recuperate
Renovated urn:concept:renovated
Ruin urn:concept:ruin
Used urn:concept:used
-->
<attribute>
<urn>urn:concept:state</urn>
<value>urn:concept:to-recuperate</value>
</attribute>
<attribute>
<!-- optional | yes and no elements
for all categories
urn element for "preço negociável" urn:concept:price-negotiable
urn element for "aceita permuta" urn:concept:accepts-exchange
urn element for "preco sob-consulta" urn:concept:on-demand
urn element for "acompanhamento virtual" urn:concept:remote-services
for all sales categories
urn element for "propriedade banco" urn:concept:bank-property
for category urn:concept:rooms-for-rent
urn element for "para estudantes" urn:concept:student-accommodation
for category urn:concept:offices-for-rent
urn element for "para coworking" urn:concept:coworking
allowed values:
urn:concept:no by default if omitted
urn:concept:yes attribute(s) will be marked as yes on the advert details page
-->
<urn>urn:concept:price-negotiable</urn>
<value>urn:concept:yes</value>
</attribute>
<!-- optional | purpose
allowed values for lots
Commerce urn:concept:commerce
Habitation urn:concept:habitation
Agricultural Zone urn:concept:agricultural-zone
Leisure Zone urn:concept:leisure-zone
Green Zone urn:concept:green-zone
-->
<attribute>
<urn>urn:concept:purpose</urn>
<value>urn:concept:commerce</value>
</attribute>
</attributes>
</advert>
</adverts>
</data>
Updated 1 day ago