v1Ressources/Distribution/postImporter un package de contenu
Importer un package de contenu
Importe un package sous forme de brouillons de publication. Rien n'est planifié ni publié : une personne dans Synup révise, approuve et planifie chaque publication. Renvoyer le même externalId et la même version de campagne, ou le même Idempotency-Key, renvoie le premier résultat. La même version avec un contenu différent renvoie 409 version_conflict ; envoyez-la alors en version + 1.
post
distribution:write/api/v1/distribution/packagesParamètres de requête
Idempotency-Keystringfacultatif
Toute chaîne unique par importation logique. Une nouvelle tentative avec la même clé renvoie le premier résultat.
clientIdstringfacultatif
Le client, lorsque le corps est un fichier text/markdown brut.
Corps de la requête
clientIdstringobligatoire
Le client auquel appartient le package.
manifestobjectfacultatif
Un manifeste synup.distribution/v1 : la campagne, ses fichiers (assets) et une variante par publication de destination.
schemastring (synup.distribution/v1)obligatoire
campaignobjectobligatoire
externalIdstringobligatoire
versionintegerobligatoire
titlestringobligatoire
templatestringfacultatif
subjectstringfacultatif
canonicalUrlstringfacultatif
anchorVideoUrlstringfacultatif
customerReviewRequiredbooleanfacultatif
allowRawAssetsbooleanfacultatif
slackobjectfacultatif
teamIdstringfacultatif
channelIdstringfacultatif
threadTsstringfacultatif
assetsarray of objectobligatoire
idstringobligatoire
rolestring (video | image | cover | captions | document | raw)obligatoire
filenamestringobligatoire
mimestringobligatoire
bytesintegerobligatoire
sha256stringobligatoire
widthintegerfacultatif
heightintegerfacultatif
durationSecnumberfacultatif
languagestringfacultatif
sourceobjectfacultatif
urlstringfacultatif
provenanceobjectfacultatif
attributionRequiredbooleanfacultatif
customerReviewRequiredbooleanfacultatif
variantsarray of objectobligatoire
keystringobligatoire
platformstring (facebook | instagram | linkedin | x | pinterest | threads | bluesky | mastodon | reddit | medium | substack | vimeo | dailymotion | youtube | tiktok)obligatoire
connectionIdstringfacultatif
formatstring (feed | video | reel | short | image | carousel | article | link | text)facultatif
textstringfacultatif
titlestringfacultatif
descriptionstringfacultatif
mediaarray of stringfacultatif
coverstringfacultatif
captionsstringfacultatif
firstCommentstringfacultatif
linkobjectfacultatif
urlstringfacultatif
utmobjectfacultatif
articleobjectfacultatif
titlestringfacultatif
subtitlestringfacultatif
htmlstringfacultatif
redditobjectfacultatif
subredditstringfacultatif
flairstringfacultatif
postTypestring (text | link | image | video)facultatif
tagsarray of stringfacultatif
videoobjectfacultatif
privacystringfacultatif
categorystringfacultatif
isForKidsbooleanfacultatif
playlistIdstringfacultatif
tiktokobjectfacultatif
disableCommentbooleanfacultatif
disableDuetbooleanfacultatif
disableStitchbooleanfacultatif
brandContentbooleanfacultatif
suggestedAtstringfacultatif
timezonestringfacultatif
customerReviewRequiredbooleanfacultatif
markdownstringfacultatif
Un fichier Series Markdown, envoyé à la place de manifest.
fileNamestringfacultatif
Le nom du fichier Markdown. Un nom en .md signale que la chaîne est du Markdown.
filesarray of objectfacultatif
Taille et sha256 de chaque fichier nommé par le Markdown, associés par nom de fichier. Obligatoire pour importer une série qui contient des fichiers ; la prévisualisation l'accepte sans eux.
filenamestringobligatoire
bytesintegerobligatoire
sha256stringobligatoire
widthintegerfacultatif
heightintegerfacultatif
durationSecnumberfacultatif
urlstringfacultatif
Un lien https depuis lequel Synup récupère le fichier, au lieu que vous l'envoyiez.
intoSeriesIdstringfacultatif
Importe le fichier comme version suivante de cette série existante.
Réponse
dataobjectfacultatif
campaignIdstringfacultatif
versionintegerfacultatif
statusstring (imported | unchanged)facultatif
itemsarray of objectfacultatif
kindstring (asset | variant)facultatif
refstringfacultatif
outcomestring (created | revised | unchanged | update_available | published_unchanged | skipped)facultatif
postIdstringfacultatif
assetIdstringfacultatif
messagesarray of stringfacultatif
pendingUploadsarray of objectfacultatif
assetIdstringfacultatif
refstringfacultatif
filenamestringfacultatif
bytesintegerfacultatif
mimestringfacultatif
pendingFetchesarray of stringfacultatif
Erreurs
400Il manque un paramètre requis à la requête, ou elle est invalide.
401Clé API manquante, invalide, expirée ou révoquée.
403La clé n'a pas la permission requise, ou n'est pas autorisée pour ce client/établissement.
404La ressource est introuvable, ou n'appartient pas à votre agence.
409La requête entre en conflit avec l'état actuel de la ressource — par exemple, modifier l'e-mail ou le téléphone d'un destinataire à qui un message a déjà été envoyé, ou une invitation d'équipe déjà acceptée (ou pas encore acceptée).
422Le fichier Markdown contient des erreurs, donc rien n'a été importé. issues les liste par ligne.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
post/api/v1/distribution/packages
Votre clé API
Idempotency-Key
clientId
Corps de la requête*
{
"data": {
"campaignId": "dcm_123",
"version": 1,
"status": "imported",
"items": [
{
"kind": "asset",
"ref": "short-1",
"outcome": "created",
"assetId": "das_123",
"messages": []
},
{
"kind": "asset",
"ref": "short-1-cover",
"outcome": "created",
"assetId": "das_124",
"messages": []
},
{
"kind": "variant",
"ref": "short-1-linkedin",
"outcome": "created",
"postId": "post_123",
"messages": []
}
],
"pendingUploads": [
{
"assetId": "das_124",
"ref": "short-1-cover",
"filename": "short-1.jpg",
"bytes": 34683,
"mime": "image/jpeg"
}
],
"pendingFetches": [
"das_123"
]
}
}