Carica un logo, una copertina e delle foto

Aggiungi logo, copertina e foto della galleria a una sede via URL, elenca gli allegati, segna con una stella la foto principale e rimuovi quelli obsoleti.

Le foto vengono associate a una sede tramite URL pubblico: tu ospiti l'immagine, l'API la recupera e la memorizza e le piattaforme di pubblicazione la recuperano da lì. Una sede conserva un logo, una copertina e un numero qualsiasi di foto aggiuntive, di cui fino a quattro possono essere contrassegnate con una stella per ottenere un posizionamento prioritario.

1. Carica tramite URL

POST /locations/photos accetta input.locationId e un array input.photos. L'URL di ciascun elemento va inserito in un campo chiamato photo, non url. Imposta esplicitamente type su LOGO, COVER o ADDITIONAL; un elemento senza type viene memorizzato come foto aggiuntiva.

Upload
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" }    ]  }}'
JSON
{  "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    }  }}

Conserva il valore id di ciascuna foto: è quello accettato dagli endpoint per contrassegnare con una stella e rimuovere le foto. Caricare nuovamente un elemento LOGO o COVER sostituisce quello esistente. Un piccolo gruppo di foto viene memorizzato direttamente, come in questo esempio. Un gruppo numeroso viene invece messo in coda: photos viene restituito vuoto e request.requestId viene impostato. Scegli il ramo di esecuzione in base alla presenza di requestId, quindi interroga periodicamente GET /locations/photos/requests/{requestId}.

Poll a queued batch
curl https://listingsapi.com/api/v4/locations/photos/requests/e6c2d9d9-9a18-4015-88cf-9a4e19a6f49a \-H "Authorization: API $LISTINGSAPI_KEY"
status del jobSignificato
PROCESSINGElaborazione ancora in corso. Ripeti l'interrogazione dopo qualche secondo.
SUCCESSElaborazione terminata. L'elaborazione di singole foto potrebbe comunque essere fallita, quindi leggi photos[].status e photos[].errorMessage.
ERRORIl job stesso è fallito. Esamina photos[].errorMessage.

2. Elenca i contenuti associati

GET /locations/{locationId}/photos restituisce tutti i file multimediali della sede sotto forma di un semplice array. Usalo per verificare se manca un logo o una copertina prima di caricare le immagini e per raccogliere gli id necessari per i due passaggi successivi. Il percorso accetta l'id in base64 oppure il numero non codificato.

List photos
curl https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/photos \-H "Authorization: API $LISTINGSAPI_KEY"
JSON
{  "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 o Additional. Per una sede senza contenuti multimediali viene restituito un array vuoto, non un errore.

3. Contrassegna con una stella le foto aggiuntive

POST /locations/photos/star contrassegna le foto aggiuntive affinché abbiano un posizionamento prioritario sulle piattaforme di pubblicazione che supportano le immagini in evidenza. Solo le foto ADDITIONAL possono essere contrassegnate con una stella, fino a un massimo di 4 per sede; una quinta fa fallire l'intera chiamata con SY15012. Puoi anche passare starred: true su un elemento al momento del caricamento.

Star
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  }}'
JSON
{  "data": {    "starUnstarLocationPhotos": {      "success": true,      "photos": [        { "id": "TWVkaWFGaWxlOjU4Nzg5MzI=", "type": "ADDITIONAL", "starred": true }      ],      "error": null    }  }}

La chiave della risposta è starUnstarLocationPhotos e contiene un singolo error, non un array errors. Il flag starred nel corpo controlla l'azione: invia false per rimuovere la stella. I metodi dell'SDK accettano lo stesso valore booleano.

4. Rimuovi una foto

POST /locations/photos/remove scollega le foto aggiuntive tramite id. removedCount indica quante ne sono state scollegate, quindi 0 con errors: null significa che nessuno di quegli id era associato a questa sede.

Remove
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="]  }}'
JSON
{  "data": {    "removeLocationPhotos": {      "removedCount": 1,      "errors": null    }  }}

Qui puoi rimuovere solo le foto ADDITIONAL. Per cambiare il logo o la copertina, carica una nuova immagine con quel valore di type e sostituirà quella precedente. La rimozione scollega il file dalla sede; non lo elimina necessariamente dalla tua libreria multimediale.

5. Come le piattaforme di pubblicazione usano ciascuno slot

SlotQuantitàCome lo usano le piattaforme di pubblicazione
LOGOUno per sedeVisualizzato come immagine del profilo o del marchio. Un nuovo caricamento lo sostituisce. Non può essere contrassegnato con una stella né rimosso tramite l'API.
COVERUna per sedeVisualizzata come immagine di intestazione nelle schede che ne prevedono una. Si applicano le stesse regole del logo: è consentita solo la sostituzione.
ADDITIONALQualsiasi numeroLa galleria. type predefinito quando non ne viene specificato uno. Rimovibile.
ADDITIONAL contrassegnate con una stellaFino a 4Ricevono un posizionamento prioritario sulle piattaforme di pubblicazione che supportano le immagini in evidenza, quindi dai la precedenza alle tue migliori foto degli esterni e degli interni.

Passaggi successivi