GET/api/v4/social/posts/{postId}

Obtenir une publication sur les réseaux sociaux

Renvoie une publication sur les réseaux sociaux : contenu, planification et, par canal, état de publication en temps réel, lien et erreur.

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

Paramètres

Chemin

NomTypeObligatoireDescription
postIdstringobligatoirePost UUID, the `socialPostId` returned by POST /social/posts or the `socialPostId` of a row from the brand's post list.

Réponses

200The post, with per-channel publish state in `connectedChannels`.
Response
{  "data": {    "getSocialMediaPost": {      "name": "Autumn collection launch",      "status": "PUBLISHED",      "initialContent": "Our autumn collection lands today. Solid oak, hand-finished, made two blocks from the shop. Come see it in person this weekend.",      "initialMedia": ["https://cdn.example.com/social/autumn-collection.jpg"],      "initialVideo": [],      "globalPostSchedule": "2026-10-02T13:30:00Z",      "customDataFlag": false,      "approvalState": null,      "actionOn": null,      "comment": null,      "postAutomationId": null,      "connectedChannels": [        {          "id": "b81d5b3c-4a90-4f6a-9c11-71e0dd2fa4a7",          "platform": "INSTAGRAM",          "socialPlatformId": 2,          "displayName": "Jenny Home",          "userName": "jennyhome",          "userImage": "https://cdn.listingsapi.com/social/channels/b81d5b3c/avatar.jpg",          "status": "SUCCESS",          "liveLink": "https://www.instagram.com/p/CxYz1234abc/",          "reason": null,          "error": null,          "archived": false        },        {          "id": "2d4e6f80-1c33-4b7a-8e05-9a1b2c3d4e5f",          "platform": "FACEBOOK",          "socialPlatformId": 1,          "displayName": "Jenny Home & Co.",          "userName": "jennyhomeco",          "userImage": "https://cdn.listingsapi.com/social/channels/2d4e6f80/avatar.jpg",          "status": "SUCCESS",          "liveLink": "https://www.facebook.com/jennyhomeco/posts/1029384756",          "reason": null,          "error": null,          "archived": false        },        {          "id": "7c5b9a12-8de4-4a31-b0f2-6e3d4c5b8a90",          "platform": "LINKEDIN",          "socialPlatformId": 4,          "displayName": "Jenny Home",          "userName": "jenny-home",          "userImage": null,          "status": "ERROR",          "liveLink": null,          "reason": "Authorization expired",          "error": "The LinkedIn authorization for this channel is no longer valid. Reconnect the channel and post again.",          "archived": false        }      ]    }  }}
401Unauthenticated, missing or invalid API key.
404No post with that ID on this account.

Récupère une publication à partir de son UUID, avec le contenu rédigé, la planification effective et une entrée par canal ciblé décrivant ce qui s’est réellement passé sur cette plateforme. C’est le point de terminaison que vous interrogez périodiquement après avoir créé une publication.

Cas d’utilisation : vérification après publication. La publication est asynchrone, donc POST /social/posts vous indique uniquement que la publication a été acceptée. Interrogez périodiquement ce point de terminaison avec la valeur socialPostId renvoyée et consultez connectedChannels[] : status: "SUCCESS" avec une valeur liveLink signifie que la publication est en ligne sur ce canal, tandis que status: "ERROR" avec error renseigné indique qu’elle ne l’est pas et en précise la raison. Arrêtez les interrogations périodiques dès qu’aucun canal n’est encore à l’état SCHEDULED.

Cas d’utilisation : montrer au client où sa publication a été diffusée. Affichez chaque connectedChannels[].liveLink sous forme de lien externe pour que l’utilisateur puisse ouvrir la publication directement sur la plateforme, et affichez error au niveau des canaux pour lesquels la publication a échoué, au lieu de ramener l’ensemble de la publication à un seul état d’échec.

Lire les champs d’état

Il existe deux niveaux d’état, qui répondent à des questions différentes.

ChampValeursSignification
statusDRAFT, PENDING, SCHEDULED, PUBLISHED, FAILED, ARCHIVED, REJECTEDLa publication dans son ensemble.
connectedChannels[].statusSCHEDULED, SUCCESS, ERROR, ARCHIVEDCe qui s’est passé sur cette plateforme précise.

Une publication peut afficher l’état global PUBLISHED alors qu’un canal reste à l’état ERROR. Basez toujours l’affichage sur connectedChannels[] ; le champ status au niveau de la publication est un résumé.

Remarques.

  • globalPostSchedule est l’instant de publication effectif en UTC. Si vous avez planifié la publication avec scheduleDate + scheduleTime, il s’agit de l’instant obtenu en appliquant le fuseau horaire de la marque à ces valeurs — une vérification utile pour confirmer que le fuseau horaire était bien celui attendu.
  • error est un message lisible que vous pouvez afficher à un client en toute sécurité ; reason est le libellé interne plus court qui lui correspond. Aucun des deux ne contient de jetons de plateforme ni d’identifiants de trace.
  • connectedChannels[].id est l’UUID de connexion issu des connexions de la marque, ainsi que la valeur requise par insights pour socialConnectedChannelId.
  • Un canal affichant archived: true a été déconnecté après la création de la publication. La publication ne sera pas diffusée sur ce canal ; consultez disconnect.
  • Un canal bloqué à l’état ERROR après l’expiration d’une autorisation nécessite un nouveau lien de connexion, et non une nouvelle tentative de publication.
  • Pour obtenir les chiffres d’engagement plutôt que l’état de diffusion, appelez GET /social/posts/{postId}/insights.
  • Pour répertorier les publications d’une marque plutôt que d’en récupérer une seule, utilisez GET /social/brands/{brandId}/posts.
Request
curl -X GET 'https://listingsapi.com/api/v4/social/posts/<postId>' \  -H "Authorization: API $LISTINGSAPI_KEY"