Ülkeleri, eyaletleri ve kategorileri sorgulayın
Konum oluşturmadan önce desteklenen ülkeleri, eyalet kodlarını, işletme kategorisinin sayısal ID’sini ve planınızdaki yayın platformlarını öğrenin.
Bir konum oluşturmak için API'den alınması gereken üç değer gerekir: API'nin kabul ettiği bir countryIso ve stateIso, sayısal bir subCategoryId ve yayın platformlarını sınırlamak istiyorsanız planınızdaki sitelerin id değerleri. Bu değerleri üç katalog uç noktası sağlar. Üçü de sayfalama olmadan düz bir dizi döndürür.
1. Ülkeleri ve eyalet kodlarını listeleyin
GET /countries, desteklenen her ülkeyi ISO kodu, bir hasCity bayrağı ve bir states dizisiyle birlikte döndürür. iso değerleri, oluşturma ve güncelleme işlemlerinde countryIso ve stateIso alanlarına aktarılır. Python SDK bu işlemi client.countries(), Node SDK ise client.fetchCountries() olarak sunar.
curl https://listingsapi.com/api/v4/countries \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "supportedCountries": [ { "databaseId": 13, "iso": "AU", "name": "Australia", "hasCity": true, "states": [ { "id": "139", "iso": "VIC", "name": "Victoria" }, { "id": "142", "iso": "NSW", "name": "New South Wales" } ] }, { "databaseId": 17, "iso": "BE", "name": "Belgium", "hasCity": true, "states": [] } ] }}hasCity: true, oluşturma sırasında city alanının zorunlu olduğu anlamına gelir; false olduğunda gönderdiğiniz şehir değeri yok sayılır. stateRequired: true, stateIso alanının zorunlu olduğu ve ülkenin states değerlerinden biri olması gerektiği anlamına gelir; false olduğunda bu alanı dahil etmeyin. hasPostalCode: true, ülkenin posta kodu kullandığı anlamına gelir; bu nedenle adresle birlikte postalCode gönderin. Ülkeler uç noktası her bayrağı açıklar.
2. Bir kategori id değeri bulun
GET /sub-categories, kategori kataloğunun tamamını döndürür. subCategoryId olarak göndereceğiniz değer, base64 id değil, tam sayı olan databaseId değeridir. Örneğin restoranlar için bu değer 1432 olur. Listeyi kendi kodunuzda ada göre filtreleyin; sunucu tarafında bir arama parametresi yoktur.
curl https://listingsapi.com/api/v4/sub-categories \-H "Authorization: API $LISTINGSAPI_KEY" \| jq '.data.subcategories[] | select(.name | test("restaurant"; "i")) | {databaseId, name, primary}'{ "data": { "subcategories": [ { "databaseId": 1432, "id": "U3ViQ2F0ZWdvcnk6MTQzMg==", "key": "restaurants", "name": "Restaurants", "primary": true } ] }}3. Planınızın hangi yayın platformlarını kapsadığını görün
GET /plan-sites, planınızdaki her yayın platformunu sayısal bir id, bir url, kabul ettiği ülkeler ve hideAddress değerini dikkate aldığı ülkelerle birlikte listeler. Bu id değerleri, oluşturma sırasında enabledSiteIds ve güncelleme sırasında submissionDisabledSiteIds için geçerli olan tek değerlerdir. Yalnızca konumu kabul edecek yayın platformlarını sunmak için konumun ülkesine göre filtreleyin.
curl https://listingsapi.com/api/v4/plan-sites \-H "Authorization: API $LISTINGSAPI_KEY" \| jq '.data.planSites[] | select(.supportedCountries | index("US")) | {id, name, url}'{ "data": { "planSites": [ { "id": 1, "name": "Google Maps", "url": "maps.google.com", "supportedCountries": ["US", "CA", "IN", "GB", "DE"], "hideAddressSupportedCountries": ["US", "CA", "AU", "IN", "GB"] }, { "id": 2, "name": "Yelp", "url": "yelp.com", "supportedCountries": ["US", "CA", "GB", "DE", "FR"], "hideAddressSupportedCountries": ["US", "CA", "AU", "GB"] } ] }}Burada her iki ülke dizisi de kısaltılmıştır; canlı yanıt, site başına 50 veya daha fazla kod listeleyebilir. Hizmet bölgesi olan bir işletme için hideAddressSupportedCountries alanını da kontrol edin; çünkü ülkeyi kabul eden bir yayın platformu, açık adresi olmayan bir işletme kaydını yine de reddedebilir.
4. Bu sorguların sonuçlarını önbelleğe alın
Üç katalog da nadiren değişir ve hiçbirinde sayfalama yoktur; bu nedenle başlangıçta her birini bir kez alın, bellekte veya küçük bir tabloda saklayın ve belirli aralıklarla yenileyin. Her oluşturma işlemi sırasında bunları çağırmak, yeni veri döndürmeden istek hızı limitini tüketir; Launch planında bu, dakikada kullanabileceğiniz 10 isteğin 3'ünü tüketir.
Alt kategoriler için küçük harfli name değerlerini databaseId değerleriyle, ülkeler içinse countryIso değerlerini states değerleriyle eşleştiren birer eşleme oluşturun. Oluşturma çağrısını yapmadan önce adresi önbellekteki verilere göre doğrulayın; böylece desteklenmeyen bir countryIso (SY10036) veya eksik bir city (SY10126), istek gönderilmeden önce uygulamanızda tespit edilir.
Sonraki adımlar
- Konum ekleyin: az önce sorguladığınız
subCategoryId,countryIsove site kimliklerini kullanın. - Konumu güncelleyin:
submissionDisabledSiteIdsile kategorileri değiştirin veya yayın platformlarını hariç tutun. - Desteklenen ülkeleri ve eyaletleri listeleyin, Alt kategorileri listeleyin ve Plan sitelerini listeleyin: başvuru sayfaları.