voxCRM - dane lokali w XML
(aktualizacja 07.06.2023)
By voxCRM udostępniał dane inwestycj i lokali, z poziomu panelu administracyjnego w voxCRM należy wygenerować klucz dla danego odbiorcy (portalu / strony www / pośrednika itd.). Dla klucza można wtedy udostępnić wybrane inwestycje i inne parametry - np. czy udostępniane są ceny itp.
Listę dostępnych dla danego klucza inwestycji można następnie pobrać za pomocą endpointa:
Dane lokali przekazywane są za pomocą endpointa poniżej, który zwraca lokale dla inwestycji o ID 15:
Dane w XML są automatycznie aktualizowane raz na godzinę, jest to plik statyczny, który aktualizuje się automatycznie.
W razie pytań / uwag - prosimy o mail na adres kontakt@voxcrm.pl
tel. 534 571 638
Opis pól w XML (uwaga nie wszystkie pola są publikowane w XML - np. ceny - w CRM można włączyć / wyłączyć publikację wybranych informacji dla danej inwestycji).
id - id lokalu w CRM
investment_id - id inwestycji w CRM
investment_name - nazwa inwestycji
stage - nazwa etapu inwestycji
building - nazwa budynku
name - numer lokalu wraz z budynkiem w CRM
local_number - numer lokalu w CRM
status_id - id statusu lokalu
status_name - nazwa statusu
area - powierzchnia lokalu
area_usable - powierzchnia użytkowa lokalu
rooms - ilość pokoi
floor - piętro
administrative_number - numer administracyjny
plot_area – powierzchnia działki
completion_date - data pozwolenia na użytkowanie
ask_for_price - zapytaj o cenę wartość “1” lub “0”
city - miasto inwestycji
price - cena całkowita lokalu brutto (jeśli jest publikowana w pliku XML, to się konfiguruje w CRM)
minimal_price_gross – cena minimalna lokalu brutto
promotion - wartość "1" gdy na lokal jest promocja, wartość "0" gdy na lokal nie ma promocji
promotion_price - cena promocyjna brutto
pricemkw - cena lokalu za m2 brutto
price_net - cena lokalu netto
pricemkw_net - cena lokalu za m2 netto
promotion_price_net - cena promocyjna netto
promotion_price - cena promocyjna
promotion_date_from – początek obowiązywania promocji
promotion_date_to – koniec obowiązywania promocji
date_modified - data ostatniej zmiany w lokalu
type_id - id typu lokalu
type - nazwa typu lokalu
staircase - nazwa klatki
description - opis lokalu
direction - kierunek świata
balkon - powierzchnia balkonu
balcony_count – liczba balkonów
taras - powierzchnia tarasu
ogrod - powierzchnia ogrodu
loggia - powierzchnia loggii
antresole_area - powierzchnia antresoli
area_attic – powierzchnia strychu
card_link - link do karty mieszkania
plan_link - link do planu mieszkania
two_levels - zmienna określająca czy lokal jest dwupoziomowy, przekazuje wartości "1" (lokal jest dwupoziomowy) lub "0" (lokal nie jest dwupoziomowy).
virtual_walk - link do wirtualnego spaceru 3D
dont_send_to_www - wartość “1” jeżeli zaznaczona jest opcja “Nie wysyłaj na WWW”
sold_status - zmienna określająca status sprzedaży lokalu; przekazuje wartość “0” (gdy lokal posiada umowę rezerwacyjną w toku lub nie posiada żadnej umowy tzn. jest dostępny) lub “1” (gdy lokal posiada podpisaną umowę rezerwacyjną lub ma inną aktywną umowę np. deweloperską, przedwstępną lub akt notarialny)
turnkey_conditon - wartość "1" gdy lokal jest wykończony pod klucz, wartość "0" gdy lokal nie jest wykończony pod klucz
unit_amount_of_co2_emission - jednostkowa wielkość emisji CO2
energy_class - klasa energetyczna
share_of_renewable_energy_sources - udział odnawialnych źródeł energii w rocznym zapotrzebowaniu na energię końcową
annual_demand_indicator_for_final_energy - wskaźnik rocznego zapotrzebowania na energię końcową
annual_demand_indicator_for_usable_energy – wskaźnik rocznego zapotrzebowania na energię użytkową
annual_demand_indicator_for_non_renewable_primary_energy - wskaźnik rocznego zapotrzebowania na nieodnawialną energię pierwotną
Lista statusów lokali w systemie CRM:
id - Nazwa
1 - Dostępne
2 - Rezerwacja ustna
3 - Umowa rezerwacyjna
4 - Sprzedane
5 - Umowa przedwstępna
6 - Umowa deweloperska
7 - Akt notarialny
8 - Odbiór
9 - Wstrzymany
Lista typów lokali w systemie CRM:
id - Nazwa
1 - Mieszkanie
2 - Garaż
3 - Miejsce postojowe
4 - Komórka lokatorska
5 - Miejsce postojowe zadaszone
6 - Piwnica
7 - Boks rowerowy
8 - Lokal komercyjny
9 - Lokal biurowy
10 - Schowek
11 - Miejsce postojowe naziemne
12 - Miejsce postojowe podziemne
13 - Miejsce postojowe ze schowkiem
14 - Miejsce postojowe zależne podwójne
15 - Miejsce postojowe na jednoślad
16 - Dom
17 - Udział
18 - Hala na platformie
19 - Standard wykończenia
20 - Condohotel
21 - Apartament
23 - Miejsce cumownicze
24 - Działka
26 - Miejsce postojowe inwalidzkie
28 - Schowek na jednoślad
Przykładowy kod w języku PHP pobierający status wskazanego lokalu znajduje się poniżej. Dane powinny być buforowane po stronie www, by nie było konieczności pobierania XML przy każdym odświeżeniu strony.
<?php
function getRealEstateInfo($id){
// Adres URL do pliku XML
$url = 'https://demo1.voxdeveloper.com/webservice/realestatestatuslist/api_key/ab33c2fb8240c8c7ca015d924713b5d234b7778e/investment_id/15';
// Ładowanie pliku XML
$xml = simplexml_load_file($url) or die("Error: Cannot create object");
// Przeszukiwanie XML
foreach($xml->realestate as $realestate){
if($realestate->id == $id){
$result = array(
'id' => (string)$realestate->id,
'status_name' => (string)$realestate->status_name
);
return $result;
}
}
return null;
}
// Przykład użycia
$id = 2041;
$info = getRealEstateInfo($id);
if($info !== null){
echo 'ID: ' . $info['id'] . '<br>';
echo 'Status: ' . $info['status_name'] . '<br>';
} else {
echo 'Nie znaleziono nieruchomości o ID: ' . $id;
}
?>
Przykład kodu wtyczki dla Wordpress z buforowaniem danych
<?php
/*
Plugin Name: XML Real Estate
Description: Plugin to display real estate information from an XML file
Version: 1.0
Author: Your Name
*/
function getRealEstateTable(){
// Sprawdzanie, czy transjent 'realestate_table' istnieje
if (false === ($output = get_transient('realestate_table'))) {
// Adres URL do pliku XML
$url = 'https://demo1.voxdeveloper.com/webservice/realestatestatuslist/api_key/ab33c2fb8240c8c7ca015d924713b5d234b7778e/investment_id/15';
// Ładowanie pliku XML
$xml = simplexml_load_file($url) or die("Error: Cannot create object");
// Tworzenie początku tabeli
$output = '<table>';
$output .= '<tr><th>ID</th><th>Status</th></tr>'; // Dodaj więcej nagłówków kolumn jeśli potrzeba
// Przeszukiwanie XML
foreach($xml->realestate as $realestate){
$output .= '<tr>';
$output .= '<td>' . $realestate->id . '</td>';
$output .= '<td>' . $realestate->status_name . '</td>';
// Dodaj więcej kolumn jeśli potrzeba
$output .= '</tr>';
}
// Zakończenie tabeli
$output .= '</table>';
// Ustawianie transientu 'realestate_table' na 1 godzinę
set_transient('realestate_table', $output, 1 * HOUR_IN_SECONDS);
}
return $output;
}
// Rejestracja krótkiego kodu
add_shortcode('realestate_table', 'getRealEstateTable');
?>
Czy ten artykuł był pomocny?
To wspaniale!
Dziękujemy za opinię
Przepraszamy, że nie udało nam się pomóc!
Dziękujemy za opinię
Wysłano opinię
Doceniamy Twój wysiłek i postaramy się naprawić artykuł