Bu servis, Ülke ISO2 kodu ve arama keywordu verilerek bu keywordun ilgili ülke içerisinde Posta Kodu, İl, İlçe, Kasaba gibi kırılımlarda varlığını sorgular. Eğer eşleşme başarılı olur ise, adres bilgisini çeşitli bilgiler ile yanıt olarak verir.
{{APP_URL}}/api/v1/address/searchGETapplication/jsonAPIKEY| Parametre Adı | Parametre Tipi | Zorunluluk | Açıklama |
|---|---|---|---|
countryIso2 |
String (ISO2) | Zorunlu | Arama Ülke Kodu (ISO2 Formatında olmalı) |
keyword |
String | Zorunlu | Arama Kelimesi (Boş olmamalı) |
searchFields[] |
Array | Zorunlu | Aranacak Alanlar (En az 1 alan tanımlanmalı). Bu alan sadece şu tipleri içerebilir: postalCode, city, state, place. Query params array tipinde gönderilmelidir. |
page |
Integer | İsteğe Bağlı | İstenen sayfa numarası. Eğer kayıtlar birden fazla sayfadan oluşuyor ise diğer sayfalara geçmek için bu parametreyi kullanınız. Varsayılan 1 olarak tanımlanmıştır. |
limit |
Integer | İsteğe Bağlı | Bir sayfada olabilecek maksimum kayıt sayısıdır. Bu limit varsayılan 10 olarak tanımlanmıştır. Maksimum 100 olarak tanımlanabilir. |
Aşağıda, API isteği için bir örnek HTTP raw request bulunmaktadır.
GET {{APP_URL}}/api/v1/address/search?searchFields[]=city&searchFields[]=state&searchFields[]=place&countryIso2=TR&keyword=Kzkalesi&page=1&limit=10
Content-Type: application/json
APIKEY: {{APIKEY}}
Başarılı bir istekte, API aşağıdaki gibi bir yanıt döndürecektir:
{
"status": true,
"message": null,
"data": {
"results": [
{
"stateCode": "31",
"countryIso2": "TR",
"city": "Altinözü",
"state": "Hatay",
"postalCode": "31750",
"place": "Kozkalesi"
},
{
"stateCode": "32",
"countryIso2": "TR",
"city": "Erdemli",
"state": "Mersin(İçel)",
"postalCode": "33790",
"place": "Kizkalesi"
}
],
"page": 1,
"lastPage": 1,
"limit": 10,
"total": 2
}
}
API isteği başarısız olursa, API aşağıdaki gibi bir hata yanıtı döndürecektir:
{
"status": false,
"errors": [
{
"message": "Invalid countryIso2 code"
}
]
}
Bu aramada TR iso2 kodlu ülke içerisinde, city, state ve place alanlarında Kzkalesi verisi araması yapılmıştır.
GET {{APP_URL}}/api/v1/address/search?searchFields[]=city&searchFields[]=state&searchFields[]=place&countryIso2=TR&keyword=Kzkalesi&page=1&limit=10
Content-Type: application/json
APIKEY: {{APIKEY}}
Örnek Arama 1 Yanıt Sonucu: Sonuçta görüldüğü gibi; results parametresi altında arama sonuçları, diğer parametrelerde ise sayfalama ile ilgili meta bilgiler sunulmuştur. Yapılan arama Kzkalesi şeklinde yanlış olsa bile arama sistemi gerekly fuzzy ve ngram algoritmaları ile en yakın eşleşmeleri bulup getirmiştir.
{
"status": true,
"message": null,
"data": {
"results": [
{
"stateCode": "31",
"countryIso2": "TR",
"city": "Altinözü",
"state": "Hatay",
"postalCode": "31750",
"place": "Kozkalesi"
},
{
"stateCode": "33",
"countryIso2": "TR",
"city": "Erdemli",
"state": "Mersin(İçel)",
"postalCode": "33790",
"place": "Kizkalesi"
}
],
"page": 1,
"lastPage": 1,
"limit": 10,
"total": 2
}
}
Bu aramada TR iso2 kodlu ülke içerisinde, postalCode alanında 34104 verisi araması yapılmıştır.
GET {{APP_URL}}/api/v1/address/search?searchFields[]=postalCode&limit=100&countryIso2=TR&keyword=34104
Content-Type: application/json
APIKEY: {{APIKEY}}
Örnek Arama 2 Yanıt Sonucu: Bu yapılan posta kodu aramasına göre yanıt aşağıdaki gibidir.
{
"status": true,
"message": null,
"data": {
"results": [
{
"stateCode": "34",
"countryIso2": "TR",
"city": "Fatih",
"state": "İstanbul",
"postalCode": "34104",
"place": "Şehremini"
}
],
"page": 1,
"lastPage": 1,
"limit": 10,
"total": 1
}
}