Utvecklardokumentation · JSON REST API v1
För fastighetsbyråer och privatkunder: skapa en nyckel i ditt konto och anslut ditt CRM eller din webbplats. API:et tar emot och возвращar JSON. Nya objekt skapas som utkast; foton och publicering har separata endpoints.
Bas-URL: https://doomio.cz/api/v1. Skicka endast din nyckel från din server via HTTPS, i Authorization: Bearer <key>-headern. Nycklar fungerar oberoende av webbläsarsessioner. Välj endast läsbehörighet eller läs-/skrivbehörighet; återkalla nycklar i ditt konto. En nyckel kan endast komma åt dina personliga objekt eller din nuvarande byrås objekt. Om du lämnar byrån, om kontot avaktiveras, går ut eller återkallas, inaktiveras nyckeln.
1. Skapa ett utkast
Varje nytt objekt behöver ett stabilt externalId från ditt CRM, unikt inom ditt personliga konto eller din byrå. En dubblett returnerar 409; hämta det befintliga objektet och PATCH det. ID:n förblir reserverade när ett objekt dras tillbaka.
curl https://doomio.cz/api/v1/properties \
-H "Authorization: Bearer $DOOMIO_API_KEY" \
-H 'Content-Type: application/json' \
--data '{
"externalId": "CRM-12345",
"title": "Apartment in Valencia",
"description": "A bright two-bedroom apartment near the park.",
"sourceLocale": "en",
"country": "es", "city": "Valencia",
"address": "Valencia, Spain",
"type": "apartment", "transactionType": "sale",
"price": "245000.00", "currency": "EUR",
"bedrooms": 2, "usableArea": 78.5
}'
Svaret är 201 Created, {"data": {...}}, med objekt-ID:t, en Location-header och en ETag. Text tillhandahålls i sourceLocale; det befintliga översättningsflödet förbereder de andra webbplats språken.
2. Ladda upp foton och publicera
curl https://doomio.cz/api/v1/properties/123/images \
-H "Authorization: Bearer $DOOMIO_API_KEY" -F 'file=@living-room.jpg'
curl -X POST https://doomio.cz/api/v1/properties/123/publish \
-H "Authorization: Bearer $DOOMIO_API_KEY"
Ladda upp JPEG, PNG eller WebP, högst 8 MiB och 40 megapixlar per bild, högst 30 bilder. Foton går igenom samma granskning som webbladdningar. Publicering kräver titel, adress, land, fastighetstyp, minst ett godkänt foto och en publiceringsrättighet. Byråobjekt följer befintliga regler för byråsynlighet; personliga objekt behöver en aktiv publicering som köpts i Doomio-kontot. Kampanjerbjudanden behåller sina befintliga begränsningar och bekräftelser av rättigheter. API-nycklar köper inte abonnemang eller social marknadsföring.
Kontrollera publiclyVisible, status och photoReviewError i svaret. Ett utgånget objekt eller en misslyckad fotogranskning är inte offentligt synligt. DELETE drar tillbaka ett objekt till ett utkast; det behåller sitt ID och sin historik. Om du tar bort det sista fotot dras objektet också tillbaka.
Endpoints
| Metod och sökväg | Beteende |
|---|---|
GET /properties | Dina objekt, inklusive utkast. Valfritt limit (1–100, standard 50), after (ID-markör), externalId, status (utkast/publicerat). |
POST /properties | Skapa ett utkast. Krävs: externalId, titel, sourceLocale, land, typ, transactionType, pris, valuta. |
GET /properties/{id} | Ett objekt och dess ETag. |
PATCH /properties/{id} | Uppdatera angivna fält; utelämnade fält förblir oförändrade. externalId är oföränderligt. Ägarskap, fakturering, social marknadsföring och giltighet kan inte ändras via denna endpoint. |
DELETE /properties/{id} | Dra tillbaka objektet; upprepade anrop är säkra. |
POST /properties/{id}/publish | Validera och publicera; befintliga publiceringsregler gäller. |
POST /properties/{id}/images | Multipart-uppladdning, fält file. Returnerar objektet med bild-ID:t. |
DELETE /properties/{id}/images/{imageId} | Ta bort en av detta objekts bilder. |
Fält och svar
Skrivbara fält: title, description, sourceLocale, type, transactionType, price, currency, country, address, city, postalCode, latitude, longitude, rooms, bedrooms, bathrooms, usableArea, landArea, contactEmail, contactPhone. externalId tilldelas vid skapande. Okända fält returnerar 422. Se OpenAPI för exakta gränser och stödda länder/språk. Priser är decimalsträngar, ytor anges i kvadratmeter, koordinater är numeriska WGS84. Valutor: CZK, EUR, USD, GBP, PLN. Typer: apartment, house, land, commercial, other, development. Transaktioner: sale, rent.
Listor returnerar {"data": [...], "pagination": {"limit": 50, "nextAfter": 123}}. Upprepa med ?after=123; nextAfter: null betyder slutet. Du kan hämta ett CRM-objekt med ?externalId=CRM-12345.
curl -X PATCH https://doomio.cz/api/v1/properties/123 \
-H "Authorization: Bearer $DOOMIO_API_KEY" \
-H 'Content-Type: application/json' \
-H 'If-Match: "ETAG-FROM-LAST-GET"' \
--data '{"price":"239000.00"}'
Valfri If-Match på PATCH, publicera, dra tillbaka och bildåtgärder förhindrar att ett objekt ersätts om det har ändrats sedan din senaste GET. En avvikelse returnerar 412; hämta objektet och lös konflikten. Maximal JSON-begäran: 128 KiB. Gräns: 120 autentiserade begäranden per minut per konto/byrå för alla dess nycklar; överskjutande begäranden returnerar 429 och Retry-After: 60. Granska X-RateLimit-Remaining. Ingen webbläsaråtkomst över ursprung krävs: integrationer ska ligga på din server.
Fel använder {"error":{"code":"validation_failed","message":"..."}}. Statuskoder: 400 felaktig begäran, 401 saknad/ogiltig/utgången nyckel, 403 skrivskyddad nyckel eller publiceringsrättighet saknas, 404 objekt/bild utanför ditt område eller saknas, 405 metod, 409 dubblett externalId, 412 föråldrad ETag, 413 för stor uppladdning/begäran, 415 Content-Type, 422 ogiltiga fält/foto/publiceringsvalidering, 429 hastighetsgräns, 500 tillfälligt serverfel. Varje svar innehåller en X-Request-ID; ange den när du rapporterar ett fel, aldrig din hemliga nyckel.
Installera klienten
Kräver Python 3.10 eller senare, utan tredjepartspaket. Ladda ner klienten och .env-nyckelfilen, förvara båda utanför en publik webbplatskatalog och kör sedan:
chmod 600 doomio-api-key.env
python3 doomio_client.py --env doomio-api-key.env list
python3 doomio_client.py --env doomio-api-key.env sync listings.json
python3 doomio_client.py --env doomio-api-key.env upload 123 living-room.jpg
python3 doomio_client.py --env doomio-api-key.env publish 123
python3 doomio_client.py --env doomio-api-key.env withdraw 123
listings.json är en array med objekt i skapa-format. sync slår upp externa ID:n, skapar saknade utkast och uppdaterar befintliga objekt. Den tar inte bort objekt som saknas i filen, laddar inte upp foton automatiskt och publicerar dem inte. Uppladdning/publicering/återkallande är explicita kommandon. Detta är en generell JSON-integrationsklient; befintliga CRM-produkter behöver fortfarande egen fältmappning eller en connector.