GET/api/v4/social/brands

Lister les marques

Renvoie une liste paginée de vos marques sur les réseaux sociaux : profil, fuseau horaire et nombre de canaux connectés.

Nécessite une clé API. Consultez Authentification pour le format de l’en-tête et la rotation des clés.

Paramètres

Chaîne de requête

NomTypeObligatoireDescriptionPar défaut
filtersstringfacultatifJSON-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.—
pageintegerfacultatif1-based page number. Defaults to 1.—
sizeintegerfacultatifRows per page. Defaults to 20.—

Réponses

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.

Liste les marques de votre compte, une page à la fois. Chaque ligne contient le même objet de marque que celui renvoyé par GET /social/brands/{brandId} pour une marque donnée, de sorte qu'une liste suffit généralement à afficher un sélecteur de marques sans requête supplémentaire.

Cas d'utilisation : un sélecteur de marques dans votre propre interface. Effectuez cet appel une fois lorsque l'utilisateur ouvre votre écran de publication et affichez profileName et logo sur chaque ligne. Une marque dont connectedChannelCount vaut 0 n'a encore aucun compte de réseau social associé et ne peut pas publier ; signalez-le par un badge et orientez l'utilisateur vers un lien de connexion. Parcourez les pages avec page et size tant que pageInfo.hasNextPage vaut true.

Cas d'utilisation : rapprocher vos enregistrements. Parcourez toutes les pages chaque nuit et comparez id aux identifiants de marque que vous avez enregistrés lors de la création. Une marque qui a disparu de la liste par défaut a été archivée ; transmettez filters={"statuses":["ARCHIVED"]} pour la voir.

Remarques.

  • id est l'UUID brut utilisé comme paramètre de chemin brandId ailleurs dans la Social API, et comme socialProfileId dans les corps des requêtes.
  • Les filtres sont transmis sous la forme d'une seule chaîne encodée en JSON dans le paramètre de requête filters, et non sous forme de paramètres distincts. Encodez cette chaîne pour les URL. Si vous envoyez filters, il doit obligatoirement contenir statuses ; profileName peut l'accompagner, mais reste facultatif.
  • La pagination repose sur un décalage (page / size), et non sur un curseur comme pour les endpoints Locations et Reviews. pageInfo.total est le nombre total de marques correspondantes, et non le nombre de marques sur cette page. pageInfo.totalEngagementPosts et totalPublishedPosts sont des compteurs de publications partagés avec la liste des publications et valent 0 ici.
  • connectedChannelCount ne compte que les connexions actives ; un canal déconnecté est immédiatement retiré du décompte. Pour obtenir les canaux eux-mêmes, appelez GET /social/brands/{brandId}/connections.
  • timezone.tzCode est l'identifiant IANA qui sert de référence pour interpréter chaque programmation de cette marque ; les trois autres champs de fuseau horaire sont des libellés d'affichage.
  • Il n'y a aucun plafond de marques auquel comparer ce total. Le nombre de marques est illimité dans les forfaits API ; la longueur de cette liste est donc fournie à titre informatif. Le nombre plafonné est celui des connexions : consultez-le dans GET /social/limits. L'archivage d'une marque met ses connexions hors ligne immédiatement, mais leurs emplacements restent comptabilisés dans maxConnections jusqu'à la fin de la période de facturation ; une marque qui a quitté cette liste peut donc encore occuper des emplacements jusqu'au renouvellement.
Request
curl -X GET 'https://listingsapi.com/api/v4/social/brands' \  -H "Authorization: API $LISTINGSAPI_KEY"