GET/api/v4/social/brands

Elenca i brand

Restituisce un elenco paginato dei brand social del tuo account, con il profilo, il fuso orario e il numero di canali connessi di ciascun brand.

Richiede una chiave API. Consulta Autenticazione per il formato dell’header e la rotazione delle chiavi.

Parametri

Query

NomeTipoObbligatorioDescrizionePredefinito
filtersstringfacoltativoJSON-encoded filter object with two fields. `statuses` (array of strings, **required inside the object**) selects which brand states to return: `ACTIVE` or `ARCHIVED`. `profileName` (string, optional) is a case-insensitive substring match on the brand name. Omit the parameter entirely to return active brands.—
pageintegerfacoltativo1-based page number. Defaults to 1.—
sizeintegerfacoltativoRows per page. Defaults to 20.—

Risposte

200A page of brands plus `pageInfo` for paging.
Response
{  "data": {    "listSocialProfiles": {      "profiles": [        {          "id": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902",          "profileName": "Jenny Home",          "archived": false,          "logo": null,          "profileLogo": null,          "siteUrl": "https://jennyhome.example",          "countryIso": "US",          "bio": "Handmade furniture for real homes.",          "businessIntent": "A family-run home furnishings store selling handmade furniture and textiles.",          "categories": ["Furniture Store", "Home Goods"],          "brandHashtags": ["jennyhome", "handmadefurniture"],          "competitorHashtags": [],          "connectedChannelCount": 3,          "timezone": {            "label": "(GMT-05:00) Eastern Time",            "tzCode": "America/New_York",            "name": "Eastern Standard Time",            "utc": "-05:00"          },          "contentPreferredLanguage": "en"        },        {          "id": "a90f7c22-5db1-4e83-9f40-2b7c6a1e5d33",          "profileName": "Jenny Home Eastside",          "archived": false,          "logo": null,          "profileLogo": null,          "siteUrl": null,          "countryIso": "US",          "bio": null,          "businessIntent": "general",          "categories": [],          "brandHashtags": [],          "competitorHashtags": [],          "connectedChannelCount": 0,          "timezone": {            "label": "(GMT-06:00) Central Time",            "tzCode": "America/Chicago",            "name": "Central Standard Time",            "utc": "-06:00"          },          "contentPreferredLanguage": "en"        }      ],      "pageInfo": {        "total": 11,        "hasNextPage": true,        "totalEngagementPosts": 0,        "totalPublishedPosts": 0      }    }  }}
401Unauthenticated, missing or invalid API key.

Elenca i brand del tuo account, una pagina alla volta. Ogni riga contiene lo stesso oggetto brand che GET /social/brands/{brandId} restituisce per un singolo brand, quindi l'elenco è di solito sufficiente per visualizzare un selettore di brand senza una seconda chiamata.

Caso d'uso: un selettore di brand nella tua interfaccia. Effettua questa chiamata una volta quando l'utente apre la schermata di pubblicazione e visualizza profileName e logo in ogni riga. Un brand il cui connectedChannelCount è 0 non ha ancora alcun account social collegato e non può pubblicare; contrassegnalo con un badge e indirizza l'utente a un link di connessione. Scorri le pagine con page e size finché pageInfo.hasNextPage è true.

Caso d'uso: riconciliare i tuoi record. Ogni notte, scorri tutte le pagine e confronta id con gli ID dei brand che hai memorizzato al momento della creazione. Un brand che non compare più nell'elenco predefinito è stato archiviato; passa filters={"statuses":["ARCHIVED"]} per visualizzarlo.

Note.

  • id è il semplice UUID usato come token brandId nel percorso in altre parti della Social API e come socialProfileId nei corpi delle richieste.
  • I filtri vengono trasmessi come un'unica stringa codificata in JSON nel parametro di query filters, non come parametri separati. Applica la codifica URL alla stringa. Se invii filters, questo deve contenere statuses; profileName può essere incluso facoltativamente insieme a esso.
  • La paginazione è basata su offset (page / size), non su cursori come negli endpoint Locations e Reviews. pageInfo.total è il numero totale di brand corrispondenti, non il numero di brand presenti in questa pagina. pageInfo.totalEngagementPosts e totalPublishedPosts sono contatori di post condivisi con l'elenco dei post e qui hanno valore 0.
  • connectedChannelCount conta solo le connessioni attive; un canale disconnesso viene escluso immediatamente dal conteggio. Per ottenere i canali stessi, chiama GET /social/brands/{brandId}/connections.
  • timezone.tzCode è l'identificatore IANA usato come riferimento per determinare l'orario di ogni pubblicazione programmata per quel brand; gli altri tre campi relativi al fuso orario sono etichette di visualizzazione.
  • Non esiste un limite massimo di brand con cui confrontare il conteggio. I piani API consentono un numero illimitato di brand, quindi la lunghezza di questo elenco ha valore informativo. Il limite riguarda il numero di connessioni: leggilo da GET /social/limits. L'archiviazione di un brand ne disattiva subito le connessioni, ma i relativi slot continuano a essere conteggiati ai fini di maxConnections fino alla fine del periodo di fatturazione, quindi un brand che non compare più in questo elenco può ancora occupare slot fino al rinnovo.
Request
curl -X GET 'https://listingsapi.com/api/v4/social/brands' \  -H "Authorization: API $LISTINGSAPI_KEY"