Logo, kapak görseli ve fotoğraf yükleme
Konuma URL ile logo, kapak görseli ve galeri fotoğrafları ekleyin; eklenenleri listeleyin, ana görseli yıldızlayın, güncel olmayanları kaldırın.
Fotoğraflar bir konuma herkese açık URL aracılığıyla eklenir: görseli siz barındırırsınız, API görseli alıp depolar ve yayın platformları da görseli buradan alır. Bir konumda bir logo, bir kapak görseli ve istenilen sayıda ek fotoğraf tutulur; ek fotoğraflardan en fazla 4 tanesi öncelikli yerleşim için yıldızlanabilir.
1. URL aracılığıyla yükleme
POST /locations/photos, input.locationId ve bir input.photos dizisi alır. Her öğenin URL'si, url değil, photo adlı alana yazılır. type değerini açıkça LOGO, COVER veya ADDITIONAL olarak ayarlayın; type içermeyen bir öğe ek fotoğraf olarak depolanır.
curl -X POST https://listingsapi.com/api/v4/locations/photos \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "photos": [ { "photo": "https://cdn.example.com/jenny-home/logo.png", "type": "LOGO" }, { "photo": "https://cdn.example.com/jenny-home/cover.jpg", "type": "COVER" }, { "photo": "https://cdn.example.com/jenny-home/storefront.jpg", "type": "ADDITIONAL" } ] }}'{ "data": { "addLocationPhotos": { "success": true, "request": {}, "photos": [ { "id": "TWVkaWFGaWxlOjU4Nzg5MzE=", "databaseId": 5878931, "type": "LOGO", "starred": false, "url": "https://sy-media-store.s3-us-west-2.amazonaws.com/f868bb3f/59c670a3/f47d62a6.png" }, { "id": "TWVkaWFGaWxlOjU4Nzg5MzI=", "databaseId": 5878932, "type": "ADDITIONAL", "starred": false } ], "errors": null } }}Her fotoğrafın id değerini saklayın: yıldızlama ve kaldırma uç noktaları bu değeri alır. Bir LOGO veya COVER yeniden yüklendiğinde mevcut olanın yerini alır. Küçük bir toplu yükleme bu şekilde doğrudan depolanır. Büyük bir toplu yükleme ise kuyruğa alınır: photos boş döner ve request.requestId ayarlanır. requestId bulunup bulunmadığına göre dallanma yapın, ardından GET /locations/photos/requests/{requestId} uç noktasını düzenli aralıklarla sorgulayın.
curl https://listingsapi.com/api/v4/locations/photos/requests/e6c2d9d9-9a18-4015-88cf-9a4e19a6f49a \-H "Authorization: API $LISTINGSAPI_KEY"2. Ekli olanları listeleme
GET /locations/{locationId}/photos, konumdaki tüm medya dosyalarını düz bir dizi olarak döndürür. Yüklemeden önce logo veya kapak görselinin eksik olup olmadığını kontrol etmek ve sonraki iki adım için id değerlerini toplamak amacıyla bunu kullanın. Yol, base64 biçimindeki id değerini veya ham sayıyı kabul eder.
curl https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/photos \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "mediaFilesOfLocation": [ { "id": "TWVkaWFGaWxlOjU4Nzg5MzE=", "categoryName": "Logo", "categoryId": "4", "starred": false, "viewsCount": 0 }, { "id": "TWVkaWFGaWxlOjU4Nzg5MzI=", "categoryName": "Additional", "categoryId": "12", "starred": true, "viewsCount": 143 } ] }}categoryName, Logo, Cover veya Additional değerini alır. Medya içermeyen bir konum için hata değil, boş bir dizi döndürülür.
3. Ek fotoğrafları yıldızlama
POST /locations/photos/star, öne çıkan görselleri destekleyen yayın platformlarında öncelikli yerleşim için ek fotoğrafları işaretler. Yalnızca ADDITIONAL fotoğrafları yıldızlanabilir ve konum başına en fazla 4 fotoğraf yıldızlanabilir; beşinci fotoğraf, çağrının tamamının SY15012 ile başarısız olmasına neden olur. Yükleme sırasında bir öğede starred: true değerini de iletebilirsiniz.
curl -X POST https://listingsapi.com/api/v4/locations/photos/star \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "photoIds": ["TWVkaWFGaWxlOjU4Nzg5MzI="], "starred": true }}'{ "data": { "starUnstarLocationPhotos": { "success": true, "photos": [ { "id": "TWVkaWFGaWxlOjU4Nzg5MzI=", "type": "ADDITIONAL", "starred": true } ], "error": null } }}Yanıt anahtarı starUnstarLocationPhotos şeklindedir ve bir errors dizisi değil, tek bir error içerir. Gövdedeki starred bayrağı eylemi kontrol eder: yıldızı kaldırmak için false gönderin. SDK metotları aynı boolean değerini alır.
4. Fotoğraf kaldırma
POST /locations/photos/remove, ek fotoğrafların konumla bağlantısını id değerlerine göre kaldırır. removedCount, kaç fotoğrafın bağlantısının kaldırıldığını bildirir; dolayısıyla 0 ile birlikte errors: null alınması, bu id değerlerinden hiçbirinin bu konuma bağlı olmadığı anlamına gelir.
curl -X POST https://listingsapi.com/api/v4/locations/photos/remove \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "photoIds": ["TWVkaWFGaWxlOjU4Nzg5MzI="] }}'{ "data": { "removeLocationPhotos": { "removedCount": 1, "errors": null } }}Burada yalnızca ADDITIONAL fotoğrafları kaldırılabilir. Logoyu veya kapak görselini değiştirmek için ilgili type değeriyle yeni bir görsel yükleyin; bu görsel eskisinin yerini alır. Kaldırma işlemi dosyanın konumla bağlantısını kaldırır; dosyayı medya kitaplığınızdan tamamen silmesi gerekmez.
5. Yayın platformlarının her görsel alanını nasıl kullandığı
Sonraki adımlar
- Bir konumu güncelleyin: aynı kayıttaki çalışma saatleri, kapalı olunan dönemler ve Google kategorileri.
- İşletme kaydı durumunu ve yayındaki bağlantıları kontrol edin: yayın platformlarının yeni görselleri ne zaman yayınladığını görün.
- Fotoğraf yükleme, Fotoğrafları alma, Fotoğraflara yıldız ekleme, Fotoğrafları kaldırma ve Toplu yükleme durumu: başvuru sayfaları.
- SDK başvuru kaynakları: Python fotoğrafları ve Node fotoğrafları.