Шахматка для професіоналів
5. Для розробників. Програмний доступ до шахматки
Даний API надає можливість зовнішнім системам та розробникам інтегрувати дані шахматки (про доступні паркінги, квартири, юніти) їх характеристики, ціни, зображення та іншу пов’язану інформацію.
API дозволяє отримувати детальні дані про юніти, такі як:
- Ідентифікатор юніту та об’єкта – для однозначної ідентифікації кожного елемента.
- Назва черги будівництва – назва групи юнітів (наприклад, “Черга 1”).
- Поверх – інформація про рівень юніту (наприклад, “Паркінг”).
- Розташування та розмір – номер місця, площа (в квадратних метрах).
- Ціна – як базова (в місцевій валюті), так і конвертована у кілька інших валют (USD, EUR, UAH тощо).
- Зображення – URL для перегляду візуальних матеріалів, таких як плани або фотографії.
- Статус доступності – доступність конкретного паркінгу (наприклад, “вільно”).
- Додаткові атрибути – особливості місця (наприклад, “Дворівнева”).
Ключові можливості API:
- Гнучка фільтрація: Можливість отримувати дані про певні поверхи, секції чи статуси.
- Мультивалютна підтримка: Ціни автоматично конвертуються в популярні валюти.
- Актуальний статус: Інформація про доступність юніту та заброньовані позиції.
- Інтеграція з зображеннями: Підтримка візуалізації завдяки посиланням на зображення паркінгів.
- Масштабованість: Підходить для програмної інтеграції.
Як почати:
Щоб використовувати API, вам потрібно:
- Отримати ключ доступу до API (зверніться до адміністратора).
- Використовувати стандартні HTTP-запити (GET) для отримання даних.
- Ознайомитися з форматом відповіді у JSON та використовувати його у своїх системах.
Інструкція: Опис параметрів і отримання даних через API
1. Основні параметри:
- block_id: Унікальний ідентифікатор блоку (наприклад, секції будівлі або черги).
- block_title: Назва блоку (наприклад, “Черга 1”).
- data:
- floors: Массив даних, де кожен елемент відповідає певному об’єкту (наприклад, паркінгу або квартирі).
2. Параметри всередині кожного елемента floors:
- id: Унікальний ідентифікатор об’єкта (наприклад, місце паркінгу).
- pos: Позиція об’єкта (порядковий номер).
- view: Массив варіантів перегляду (наприклад, “any”).
- floor: Поверх або тип об’єкта (наприклад, “Паркінг”).
- price: Ціна за квадратний метр у валюті, визначеній за замовчуванням.
- rooms: Кількість кімнат (порожньо для паркінгів).
- images: Массив об’єктів із зображеннями. Кожне зображення має:
- tag: Тип зображення (наприклад, “2d”).
- url: URL до зображення.
- number: Номер об’єкта (наприклад, “-1A”).
- square: Площа об’єкта (м²).
- status: Статус об’єкта (“free” — вільно).
- section: Тип секції (наприклад, “parking”).
- entrance: Вхід (для паркінгів залишено порожнім).
- contact_id: Ідентифікатор контакту (null, якщо не вказано).
- full_price: Загальна вартість об’єкта (в базовій валюті).
- converted_price: Массив конвертованих цін у різні валюти, наприклад:
- usd: Ціна в доларах США.
- eur: Ціна в євро.
- … (інші валюти).
- converted_full_price: Загальна вартість у конвертованих валютах.
- apartment_feature: Характеристики об’єкта (наприклад, “Дворівнева”).
3. Як отримувати дані через API:
- HTTP-метод: Для отримання даних використовуйте метод
GET. - Приклад API-запиту:
GET https://api.example.com/v1/blocks/383
Де 383 — це block_id блоку, який потрібно отримати.
Очікуваний формат відповіді: Відповідь API буде містити JSON у тому ж форматі, що й наданий приклад.
Фільтрація даних:
GET https://api.example.com/v1/blocks/383?status=free
Для фільтрації по площі:
GET https://api.example.com/v1/blocks/383?min_square=15&max_square=17
Обробка зображень:
- Для відображення зображення об’єкта використовуйте URL, наведений у параметрі
images.url.
Використання даних:
- Щоб вивести список доступних об’єктів:
- Пройдіться по масиву
floors. - Перевірте поле
status(має бути “free”). - Зберіть дані про:
- Номер (
number). - Поверх (
floor). - Площа (
square). - Ціна (
price). - URL зображення (
images.url).
- Номер (
- Пройдіться по масиву
Приклад на псевдокоді:
const freeObjects = data.floors.filter(floor => floor.status === "free");
freeObjects.forEach(floor => {
console.log(Номер: ${floor.number}, Площа: ${floor.square} м², Ціна: ${floor.price} USD);
console.log(Зображення: ${floor.images[0].url});
});

