Dörd qiymətləndirmə aləti. Mənzillər, evlər və torpaq sahələri dəstəklənir; ekspres qiymətləndirmə və hesabat kommersiya daşınmaz əmlakından və yaşayış komplekslərindən 422 business_rule ilə imtina edir; icarə qiymətləndirməsi kommersiya əmlakı üçün də işləyir.
Ekspres qiymətləndirmə
POST /valuation/express - scope tools:valuation, dərhal. Bir API çağırışı üstəgəl ekspres qiymətləndirmənin qiyməti.
| Sahə | Tip | Mütləqdir | Təsvir |
|---|---|---|---|
propertyCategory | string | xeyr | apartment (standart), house, land; commercial 422 ilə, hər hansı başqa dəyər (complex yoxdur) 400 ilə rədd edilir |
totalArea | number | üçündən biri | sahə, m² |
areaM2 | number | üçündən biri | totalArea ilə eynidir |
landPlotArea | number | üçündən biri | torpaq sahəsinin ölçüsü, m²; yalnız land üçün sahə kimi sayılır |
addressText | string | tövsiyə olunur | bir sətirlik ünvan |
country, city, postalCode | string | xeyr | hissələrə bölünmüş ünvan |
lat, lon | number | xeyr | koordinatlar |
rooms | number | xeyr | otaqlar |
yearBuilt | number | xeyr | tikinti ili |
floor, floorsTotal | number | xeyr | mərtəbə və mərtəbələrin sayı |
houseLevels | number | xeyr | evdəki səviyyələr |
heatingType | string | xeyr | istilik |
price | number | xeyr | sizin qiymətiniz - qiymətləndirmə ilə müqayisə edilir |
currency | string | xeyr | nəticənin valyutası |
language | string | xeyr | istifadə olunmur: ekspres cavabda izah mətni yoxdur |
targetId | string | xeyr | elanınızın id-si: eyni elanın təkrar qiymətləndirmələri 7 gün ərzində keşdən verilir |
curl -X POST https://developers.grem.capital/api/v1/valuation/express \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 5b8c3f7e-2a71-4c55-8d0e-9f1a6b2c4d10" \
-d '{"propertyCategory":"apartment","addressText":"Torstraße 12, Berlin","totalArea":64,"rooms":2,"currency":"EUR"}'
Cavab:
| Sahə | Təsvir |
|---|---|
estimate.pricePoint | qiymətləndirilmiş dəyər |
estimate.rangeLow, estimate.rangeHigh | diapazon |
estimate.confidence | etibarlılıq səviyyəsi: low, medium və ya high |
estimate.confidenceScore | 0-dan 1-ə qədər rəqəm kimi etibarlılıq |
estimate.currency | valyuta |
estimate.analogs | qiymətləndirmə üçün tapılmış analoq elanlar: title, address, area, rooms, pricePerM2, originalPrice, adjustedPrice, adjustments, weight, provenance, source, sourceUrl |
degraded | bazar məlumatları olmadan təxmini qiymətləndirmə üçün true; belə qiymətləndirmə üçün ödəniş tutulmur |
Sahə göstərilməyibsə və ya propertyCategory naməlumdursa - 400 validation; kommersiya əmlakı - 422 business_rule və code: commercial_unsupported.
Qiymətləndirmə 30-150 saniyə çəkir, API-nin qarşısındakı şəbəkə isə ~100 saniyə ərzində başlamayan cavabı 524 ilə kəsir. Buna görə Idempotency-Key və Prefer: respond-async başlığını göndərin: 202 dərhal { "jobId", "status", "state", "links": { "self" } } ilə və Location, Retry-After başlıqları ilə gəlir. GET /valuation/express/jobs/{id} ünvanını (pulsuz) state dəyəri completed (result sinxron 200 ilə eyni gövdəni ehtiva edir) və ya failed (error eyni problemi ehtiva edir) olana qədər sorğulayın. Sorğulama əvəzinə express.completed / express.failed hadisələrinə abunə ola bilərsiniz (Vebhuklar). Ödəniş sinxron çağırışda olduğu kimi bir dəfə tutulur; tapşırıq 7 gün saxlanılır. Başlıq olmadan cavab sinxron qalır.
Tam qiymətləndirmə hesabatı
POST /valuation/report - scope tools:valuation, tapşırıq. Bazar təhlili və PDF ilə hesabat. Mütləq sahələr propertyCategory dəyərindən asılıdır. Yalnız öz kateqoriyanızın sahələrini göndərin: başqa kateqoriyanın sahəsi (məsələn, mənzil üçün houseLevels, ev üçün parking) 400 ilə rədd edilir. Yalnız mənzil: livingArea, kitchenArea, bathrooms, ceilingHeight, floor, storeys, balcony, elevator, parking, houseType, apartmentType. Yalnız ev: houseLevels. Yalnız torpaq: zoning. Ev və torpaq: utilities.
| Sahə | Tip | Təsvir |
|---|---|---|
propertyCategory | string | apartment, house və ya land - mütləqdir |
address | object | mütləqdir: country, city, street (boş ola bilər), streetNumber, location (lat, lng) |
totalArea | number | m²; mənzillər və evlər üçün mütləqdir |
landPlotArea | number | m²; evlər üçün mütləqdir; torpaq üçün bu və ya totalArea lazımdır |
condition | string | vəziyyət; mənzillər və evlər üçün mütləqdir |
apartmentType | string | mənzil: Residential, Commercial, Industrial, Land plot və ya Complex - mütləqdir |
houseType | string | mənzil: binanın tipi - mütləqdir |
floor, storeys | number | mənzil: mərtəbə və binadakı mərtəbələrin sayı - mütləqdir |
balcony, elevator | bəli/xeyr | mənzil: mütləqdir |
houseLevels | number | ev: səviyyələr, 1-dən 10-a qədər - mütləqdir |
rooms | number | mənzil, ev: otaqlar |
livingArea, kitchenArea, bathrooms, ceilingHeight | number | yalnız mənzil: istəyə bağlı təfərrüatlar |
yearConstruction | number | mənzil, ev: tikinti ili |
wallMaterial, heatingType | string | mənzil, ev: divar materialı, istilik; ev üçün heatingType bunlardan biridir: central, autonomous, boiler, fireplace, mixed, gas, electric, heat_pump, solid_fuel, underfloor, none |
furnished | bəli/xeyr | mənzil, ev: mebel |
parking | bəli/xeyr | yalnız mənzil: parkinq |
zoning | string | yalnız torpaq: zonalaşdırma |
utilities | object | ev və torpaq: gas, water, sewage, electricity (bəli/xeyr) |
price | number | sizin qiymətiniz - qiymətləndirmə ilə müqayisə edilir |
currency | string | UAH, USD, EUR, AZN, GBP, AED, CNY, TRY, GEL |
language | string | hesabatın dili: eng, rus, ukr, deu, spa, aze, arb, fra, zho, tur |
objectId | string | qiymətləndirdiyiniz elanın id-si, əgər elanı qiymətləndirirsinizsə |
comments | string | qiymətləndirməyə şərh |
curl -X POST https://developers.grem.capital/api/v1/valuation/report \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"propertyCategory": "apartment",
"address": { "country": "Germany", "city": "Berlin", "street": "Torstraße", "streetNumber": "12" },
"currency": "EUR", "language": "eng",
"apartmentType": "Residential", "houseType": "panel",
"totalArea": 64, "rooms": 2, "floor": 3, "storeys": 5,
"balcony": true, "elevator": false, "condition": "good"
}'
202 cavabı: { "jobId": "...", "status": "processing", "state": "running" }. Tamamlanmış tapşırıq (GET /valuation/report/jobs/{id}) bunları ehtiva edir:
| Sahə | Təsvir |
|---|---|
metrics | göstəricilər: potPrice, priceRangeLow, priceRangeHigh, avgPrice, analogCount, growth - bazar dəyəri, onun diapazonu, m² üçün qiymət, analoqların sayı, artım % |
confidence, priceMethod, estimateType | dəyərin nə dərəcədə etibarlı olduğu (high…very_low), necə hesablandığı, nöqtə və ya diapazon |
currency | bütün göstəricilərin valyutası |
justification | dəyərin niyə belə olduğu |
recommendations | qiymət qoyma və satış üzrə tövsiyələr |
pdfMeta | PDF hesabatın məlumatları |
analogs | dəyərin əsaslandığı analoq elanlar (PDF-dəki cədvəlin eynisi): title, address, area, rooms, pricePerM2, originalPrice, adjustedPrice, adjustments, weight, provenance, source, sourceUrl. provenance: model_estimate - arxasında elan olmayan etalon göstərici |
Kommersiya əmlakı (o cümlədən apartmentType Commercial və ya Industrial) 422 business_rule və code: commercial_unsupported ilə rədd edilir - onun icarəsini POST /valuation/rent ilə qiymətləndirin. Yaşayış kompleksi (apartmentType: Complex) - 422 və code: complex_unsupported: kompleksdəki bir mənzili və ya evi qiymətləndirin.
PDF: GET /artifacts/v1/ai/appraisal/reports/{id}/pdf. Hadisələr - valuation.completed / valuation.failed.
İcarə qiymətləndirməsi
POST /valuation/rent - scope tools:rent, dərhal. Əmlakı sahələrlə təsvir edin və ya öz elanınızın, yaxud ictimai elanın objectId dəyərini ötürün.
| Sahə | Tip | Təsvir |
|---|---|---|
objectId | string | təsvir əvəzinə elan |
city | string | objectId olmadan mütləqdir |
totalArea | number | m²; objectId olmadan mütləqdir |
country, district, street | string | ünvan |
propertyCategory | string | əmlakın tipi |
rooms, floor | number | otaqlar, mərtəbə |
furnished | bəli/xeyr | mebelli |
condition | string | vəziyyət |
rentTerm | string | long - aylıq icarə (standart), short - günlük icarə. İki fərqli bazar |
occupancyPct | number | günlük icarə: gözlənilən doluluq, 10-dan 100 %-ə qədər |
monthRentalRate | number | sizin aylıq tarifiniz - cavab onun bazarla necə müqayisə olunduğunu göstərir |
declaredDayRate | number | sizin gecəlik tarifiniz |
currency | string | nəticənin valyutası |
curl -X POST https://developers.grem.capital/api/v1/valuation/rent \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-d '{"propertyCategory":"apartment","country":"Germany","city":"Berlin","totalArea":50,"rooms":2,"currency":"EUR"}'
Cavab:
| Sahə | Təsvir |
|---|---|
id | qiymətləndirmənin id-si; PDF - GET /artifacts/v1/ai/appraisal/rent/{id}/pdf |
currency | valyuta |
rent.monthlyRent | aylıq bazar icarə haqqı |
rent.low, rent.high | diapazon |
rent.annualRent | illik |
rent.pricePerM2 | aylıq m² üçün |
rent.grossYieldPct | əmlakın qiymətinə nisbətən ümumi gəlirlilik, %, qiymət məlum olduqda |
rent.confidence | etibarlılıq |
rent.basedOn | qiymətləndirmənin neçə analoq elana əsaslandığı |
rent.termBasis | long və ya short |
comps | nəzərə alınan bütün elanlar və onların qiymətləndirmədəki taleyi: address, area, rooms, monthlyRent/dayRent, effectiveMonthly, term, status, usedInEstimate, source, url |
Sahə və ya şəhər olmadan - 400 və "Missing or invalid: totalArea" kimi detail.
İcarə qiymətləndirməsi də bir dəqiqədən çox çəkə bilər. Prefer: respond-async ilə dərhal tapşırıqla 202 cavabı verir; status: GET /valuation/rent/jobs/{id} (pulsuz), hadisələr: rent.completed / rent.failed. Qalan hər şey yuxarıdakı ekspres qiymətləndirmədə olduğu kimi işləyir.
Hesabatın yoxlanması
POST /valuation/review - scope tools:review. Qiymətləndirmə hesabatını yükləyin (PDF, DOCX, DOC, RTF; 40 MB-a qədər) - GREM onu oxuyur və dəyəri bazar məlumatları ilə yoxlayır.
Gövdə - multipart/form-data:
| Hissə | Təsvir |
|---|---|
file | hesabat sənədi (və ya document hissəsi) |
language | nəticənin dili, standart olaraq rus |
currency | valyuta, standart olaraq USD |
curl -X POST https://developers.grem.capital/api/v1/valuation/review \
-H "Authorization: Bearer gsk_live_xxx" \
-F "file=@report.pdf" \
-F "language=eng" -F "currency=EUR"
Sənəd dərhal oxunur. 202 cavabı jobId, status və state sahələrini ehtiva edir:
action_required(status: need_confirm) -extractedsənəddən oxunmuş məlumatları ehtiva edir. Onları yoxlayın və təsdiqləyin:POST /valuation/review/jobs/{id}/confirm(Tapşırıqlar və nəticələr). Təsdiqdən sonra tapşırıqrunningvəziyyətinə keçir.failed(status: rejected) - sənəd daşınmaz əmlakın qiymətləndirmə hesabatı deyil.
Hazır nəticə - GET /valuation/review/jobs/{id}; yoxlama hesabatı - GET /artifacts/v1/ai/appraisal/reviews/{id}/report.pdf və ya report.docx. Hadisələr - review.completed / review.failed; vebhuk izləməsi təsdiqdən sonra başlayır. Sənəd oxunub və təsdiq lazımdırsa, yoxlamanın id-si ilə review.action_required hadisəsi gəlir.
Böyük sənədin oxunması dəqiqələr çəkə bilər, ~100 saniyə ərzində başlamayan cavab isə 524 ilə kəsilir. Idempotency-Key və Prefer: respond-async başlığı ilə 202 fayl yüklənən kimi sorğu tapşırığı ilə gəlir (areq_… kimi jobId, Preference-Applied: respond-async, Location, Retry-After). Bu id ilə GET /valuation/review/jobs/{id} ünvanını (pulsuz) state dəyəri completed olana qədər sorğulayın: result yuxarıda təsvir edilən 202 cavabını olduğu kimi ehtiva edir - yoxlamanı almaq və təsdiqləmək üçün onun result.jobId dəyərindən istifadə edin (POST /valuation/review/jobs/{id}/confirm). Sorğu tapşırığı üçün review.completed sənədin oxunduğunu və təsdiq gözlədiyini bildirir. code: interrupted ilə uğursuz olan tapşırıq üçün ödəniş tutulmur və açar azad edilir: eyni sorğunu eyni açarla yenidən göndərin. Başlıq olmadan cavab əvvəlki kimidir.