Ana içeriğe geç

Konumlar

Musterinin birden fazla konum kaydini yonettigi tenant endpointleri.

Base URL: /api/tenant/locations
Yetkilendirme: Bearer Token + X-Api-Key
Modul: Locations modulu musteriye atanmis olmalidir.

Headers:

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
X-Api-Key: customer-api-key

Veri Modeli

Country, City, District alanlari tenant veritabaninda tutulmaz; admin katmaninda sistem-geneli referans tablolardan secilir.

AlanTipAciklama
countryIdGuidBase DB GeoCountry kaydi
cityIdGuidBase DB GeoCity kaydi
districtIdGuidBase DB GeoDistrict kaydi
addressstringAcik adres
groupNamestring?Konum gruplama metni
latitudedecimal-90..90
longitudedecimal-180..180
emailstring?Iletisim e-postasi
phonestring?Iletisim telefonu
googleMapsLinkstring?Harita linki
isActiveboolPublic'te gorunurluk
translations[].titlestringDil bazli baslik
translations[].namestringDil bazli ad

POST /

Yeni konum olusturur.

Request Body:

{
"countryId": "0f6e2b90-...",
"cityId": "bfa37741-...",
"districtId": "e0f2a1c6-...",
"address": "Bagdat Caddesi No:120 Kadikoy / Istanbul",
"groupName": "Magazalar",
"latitude": 40.9739,
"longitude": 29.0906,
"email": "kadikoy@example.com",
"phone": "+90 216 000 00 00",
"googleMapsLink": "https://maps.google.com/?q=40.9739,29.0906",
"isActive": true,
"translations": [
{
"languageId": "9cd14a82-...",
"title": "Kadikoy Subesi",
"name": "Kadikoy Magaza"
}
]
}

Response — 201 Created: LocationResponse


GET /

Konumlari filtreli ve sayfalanmis listeler.

Query Parametreleri:

ParametreTipVarsayilanAciklama
pageint1Sayfa numarasi
pageSizeint10Sayfa basina kayit
searchstringaddress, groupName, title, name alanlarinda arama
groupNamestringGrup filtresi
countryIdGuidUlke filtresi
cityIdGuidIl filtresi
districtIdGuidIlce filtresi
isActiveboolAktiflik filtresi
langstringvarsayilan dilListe cevabinda secili dilde title/name

Response — 200 OK: PaginatedResult<LocationListResponse>


GET /{id}

Belirli bir konumun detayini getirir.

Response — 200 OK: LocationResponse


PUT /{id}

Mevcut konumu gunceller.

Request Body: POST / ile ayni yapi.

Response — 200 OK: LocationResponse


DELETE /{id}

Konumu soft delete ile siler.

Response — 204 No Content


Olasi Hatalar

KodDurum
400Latitude/Longitude, URL veya body validasyon hatasi
404Konum bulunamadi
403locations modulu tenant'a atanmamis

Public Geo Notu

Ulke/il/ilce secim listeleri frontend tarafinda su public endpointlerden alinabilir:

  • GET /api/public/locations/geo/countries
  • GET /api/public/locations/geo/cities?countryId=...
  • GET /api/public/locations/geo/districts?cityId=...