विवरण
UQBITZ Hub de Integração Imobiliária is a WordPress plugin that automatically generates an XML feed in the OpenNavent format to synchronize property listings with major Brazilian real estate portals.
Supported portals:
- ImovelWeb
- Wimoveis
- Casa Mineira
Key features:
- Automatic XML feed at
/wp-json/uqbhi/v1/feed - Custom Post Type “Imóvel” with full ACF (Advanced Custom Fields) support
- Taxonomies: Property Type, Purpose, City & Neighborhood
- Required field validation — incomplete listings are excluded from the feed
- Admin dashboard with feed status, instructions, and technical field mapping
- Automatic amenity and infrastructure mapping to Navent IDs
- YouTube video support (automatic code extraction)
- Floor plan gallery with custom titles
- Auto-fill address from ZIP code (via ViaCEP API)
- Complete property type/subtype mapping to the Navent API
Validated required fields:
- Title (min. 5 characters)
- Description (min. 50 characters)
- Price (sale or rental)
- Photo gallery (min. 5 images)
- Type and Purpose
- Full address (ZIP, street, neighborhood, city, state)
- Private area (m²)
- Property tax (IPTU)
- Property age
- Condo fee (required for apartments and gated communities)
स्क्रिनसटहरू



स्थापना
- Upload the
uqbitz-hub-imoveisfolder to/wp-content/plugins/ - Activate the plugin in the WordPress dashboard
- Go to Hub Imóveis Settings and fill in:
- Real estate agency code (provided by the portal)
- Contact email, name, and phone
- Add property listings with all required fields filled in
- Go to Hub Imóveis Overview to check feed status
- Copy the feed URL and register it in the desired portal
Portal setup (ImovelWeb):
- Log in to the ImovelWeb dashboard
- Go to Ad Integration XML
- Paste the feed URL
- In “Integrator Name”, enter UQBITZ
- Save
प्रश्नोत्तर
-
What are the requirements?
-
- WordPress 6.0 or higher
- PHP 8.0 or higher
- Advanced Custom Fields (free or Pro) installed and active
-
Where do I find the feed URL?
-
Go to Hub Imóveis Overview in the WordPress dashboard. The URL is displayed at the top, in the format:
https://yoursite.com/wp-json/uqbhi/v1/feed -
Why is a property not showing in the feed?
-
Properties with incomplete required fields are automatically excluded. Go to Hub Imóveis Overview to see the list of issues for each property.
-
Can I use this on multiple sites?
-
Yes. Each plugin installation generates its own independent feed. Just install, configure the agency code, and add properties.
-
How does the ZIP code auto-fill work?
-
When you enter a ZIP code while editing a property, the plugin queries the ViaCEP API and automatically fills in street, neighborhood, city, and state.
-
Do I need an API key from the portal?
-
No. The XML feed is a public URL consumed by the portal. You only need the agency code provided by the portal.
समीक्षाहरू
यस प्लगिनको लागि कुनै समीक्षाहरू छैनन्।
योगदानकर्ता र डेभलपरहरू
“UQBITZ Hub de Integracao Imobiliaria” खुला स्रोत सफ्टवेयर हो। निम्न व्यक्तिहरूले यो प्लगिनमा योगदान गरेका छन्।
योगदानकर्ताहरू“UQBITZ Hub de Integracao Imobiliaria” 1 लोकेलमा अनुवाद गरिएको छ। योगदानको लागि अनुवादकहरूलाई धन्यवाद।
“UQBITZ Hub de Integracao Imobiliaria” लाई आफ्नो भाषामा अनुवाद गर्नुहोस्
विकासमा रुचि छ?
आरएसएस द्वारा कोड ब्राउज गर्नुहोस्, एसभीएन रिपजिटरी हेर्नुहोस्, वा विकास लग को सदस्यता लिनुहोस्।
चेन्जलग
3.4.7
- Changed: declared WordPress compatibility bumped to 7.0.2 (Tested up to). No functional changes
3.4.6
- Fixed: portal error “o imóvel não tem uma cidade válida / localização válida” — the state was hardcoded to
São Pauloin<localidade>, ignoring the ACFestadofield. The real state is now used, with UF (PR) normalized to the full name (Paraná) - Fixed:
<precos>now respectsuqbhi_finalidade— a sale-only property with a leftoverrent_priceno longer publishes an unintended rental ad - Fixed: masked prices (
4.350.000,00) collapsed to4throughintval(), advertising a multi-million property for a few reais. They now fail validation with a message explaining the expected format - Fixed:
uqbhi_get_tipo()fell back to a hardcoded Apartamento (2/1) without logging when the first term (alphabetical) carried no OpenNavent mapping, exporting the property under the wrong category. It now scans every assigned term and uses the first that resolves - Fixed: the mandatory-condo rule never fired for Casa de Condomínio — validation looked for the slug
casa-de-condominio, the seed createscasa-condominio - Hardened
dataModificacaoagainst the portal error “a data do XML é anterior à mudança”. The root cause is not confirmed — it depends on data only the portal support and the client server hold — so this release closes every path by which the plugin could contribute: the feed was cacheable (Cache-Control: public, max-age=3600) and now sendsno-cache/no-store, setsDONOTCACHEPAGEbefore discarding output buffers and fireslitespeed_control_set_nocache; the timestamp is formatted withsprintf('%.0f')instead ofround(), immune to a lowprecisionini and to 32-bit int overflow; the emitted value is monotonic and never moves backwards; and a canary logs any non-numeric value - Fixed:
<localidade>is no longer assembled witharray_filter, which shifted theBairro,Cidade,Estado,Paíspositions when a part was empty; commas inside a part are stripped for the same reason - Fixed: zero prices are no longer sent — OpenNavent does not accept
<quantidade>0</quantidade>in Brazil. Zero remains valid for parking, bathrooms, IPTU, age and condo fee - Fixed:
<titulo>ran throughesc_html()inside CDATA, publishing escaped entities (&) on the portal - Added: “Forçar atualização” setting — makes the feed win over edits made directly in the portal panel. Tunable via the
uqbhi_data_modificacao_margemfilter - Added: validation for invalid state and for titles shorter than 10 characters (the OpenNavent minimum; the plugin previously accepted 5)
3.4.5
- Added: Elementor Dynamic Tags integration — exposes the imóvel image gallery and floor plans as a “Hub Imóveis” group inside the Elementor variable picker, so editors can bind galleries on widgets without ACF Pro
- Added: ACF-style format value filters in the gallery fallback (
acf/format_value/name=galeria_de_imagensand…/plantas) — third-party integrations that read these fields via ACF now receive the same array-of-attachment-objects shape that ACF Pro emits
3.4.4
- Fixed: zero values (e.g. 0 parking spaces, 0 years old) were being treated as empty by the feed and validation. New
uqbhi_has_value()helper distinguishes meaningful zero from empty/null/blank string
3.4.3
- Fixed: image and floor plan galleries did not render in the editor when only ACF free was installed (the
galleryfield type is Pro-only). The plugin now auto-detects the absence of ACF Pro and registers native WordPress metaboxes withwp.mediaand drag-to-reorder as a fallback - Changed: seed
uqbhi_finalidadenow aligns with the OpenNavent operation enum — onlyVenda(VENTA) andAluguel(ALQUILER);TemporadaandRepasseremoved - Changed:
uqbhi_get_tipoanduqbhi_get_operacaonow read OpenNavent IDs from term meta with ancestor inheritance fallback for user-created custom terms - Changed: removed the ~200-line hardcoded slugID map in
helpers.php; single source of truth is now the term meta - Added: term meta on seeded
uqbhi_tipoterms —uqbhi_id_tipoanduqbhi_id_subtipoembed the OpenNavent numeric IDs directly on each term - Added: term meta on seeded
uqbhi_finalidadeterms —uqbhi_opennaventcarries the API operation code (VENTA/ALQUILER) - Added: Spanish (
uqbhi_name_es) and English (uqbhi_name_en) translations on every seeded term - Added: one-time legacy migration backfills OpenNavent meta on pre-3.4.3 custom terms using the old slug substring match — existing installs keep emitting the same IDs
3.4.2
- Added: automatic seeding of the official
uqbhi_tipoanduqbhi_finalidadeterms on activation and versionedadmin_init
3.4.1
- Changed: WordPress Coding Standards compliance — tabs, docblocks, brace style across all files
3.4.0
- Refactor: Split single-file plugin (1881 lines) into 6 modular files under
includes/(SOLID/KISS) - Added: ACF field
complementonow registered via code - Fixed: Infrastructure field name casing (
Infraestruturainfraestrutura) — items were not loading in XML feed - Changed: Admin code only loads on dashboard (
is_admin())
3.3.0
- Changed: Uniform prefix
uqbhi_for all functions, constants, options, CPT, and taxonomies - Changed: CPT slug
imoveluqbhi_imovel; taxonomiestipouqbhi_tipo,finalidadeuqbhi_finalidade,cidade-e-bairrouqbhi_cidadebairro - Changed: REST namespace
portalimoveis/v1uqbhi/v1 - Fixed: Feed URL uses
rest_url()instead of hardcodedhome_url('/wp-json/...') - Fixed: All admin page slugs prefixed (
uqbhi-portal,uqbhi-settings,uqbhi-mapping)
3.2.0
- Fixed: HTML output escaping on all admin pages (esc_html, esc_attr, esc_url)
- Fixed: Input sanitization via register_setting() callback
- Fixed: readme.txt included in plugin folder
- Updated: WordPress Plugin Check compliant
3.1.0
- Added: Expanded validation — IPTU, property age, condo fee (conditional), full address required
- Changed: Optimized layout — infrastructure, gallery, floor plans, video at full width
- Changed: Infrastructure checkbox layout set to horizontal
- Changed: “Hub Imóveis” menu repositioned below the Imóveis CPT
3.0.0
- Added: Admin dashboard with 3 pages: Overview, Settings, Field Mapping
- Added: Required field validation in XML feed
- Changed: Plugin rebranded from client-specific to generic “UQBITZ Hub de Integração Imobiliária”
- Changed: REST API namespace changed to
portalimoveis/v1
2.8.0
- Added: YouTube video field with automatic code extraction
- Added: Floor plan gallery with custom titles
2.7.0
- Added: IPTU, condo fee, and property age in XML characteristics
- Added: Amenity mapping to Navent AREA_PRIVATIVA IDs
- Added: Infrastructure mapping to Navent AREAS_COMUNS IDs
2.5.0
- Added: 82 Navent characteristic mappings (numeric IDs to Portuguese labels)
2.4.0
- Added: CPT and taxonomies registered via plugin code
- Added: Complete type hierarchy (5 types, 40 subtypes)
2.0.0
- Initial release: single-file plugin rewrite with REST API XML feed
