Synup
Créer une clé
v1Ressources/Posts/postCréer un post

Créer un post

Crée un post pour un établissement ou un client et le soumet aux plateformes sélectionnées. Ceci publie du contenu réel : sauf si scheduledFor est défini ou si draft vaut true, le post est immédiatement mis en ligne sur ses plateformes cibles. Une plateforme demandée sans connexion active, ou un post à qui manque un champ requis pour être mis en ligne, ne fait jamais échouer l'appel — le contenu est plutôt enregistré comme brouillon ; voir le schéma de réponse pour savoir comment cela est signalé.

post/api/v1/posts
posts:write
Corps de la requête
locationIdstringfacultatif
L'établissement pour lequel publier. Fournissez ceci ou clientId.
clientIdstringfacultatif
Le client pour lequel publier au niveau marque. Fournissez ceci ou locationId.
namestringobligatoire
Nom/étiquette interne du post. Obligatoire, non vide.
postTypestring (announcement | event | offer)facultatif
Type de post. event et offer sont réservés à Google.
platformsarray of string (google | facebook | instagram | x | linkedin | pinterest | mastodon | bluesky | threads | tiktok | youtube | reddit | medium | substack | vimeo | dailymotion)facultatif
Plateformes cibles. Envoyez ceci ou connectionIds. Chaque plateforme publie via la connexion de l'établissement correspondante (ou celle du client pour une publication de marque).
connectionIdsarray of stringfacultatif
Cibles exactes : les ids de connexion sur lesquels publier, issus de GET /api/v1/locations/{id}/publish-targets. Utilisez la connexion propre à l'établissement ou la page de marque de son client ; une connexion Google au niveau du compte, une connexion archivée ou celle d'un autre établissement ou client est refusée avec 422. Si elle est envoyée, la publication va exactement là et platforms en est déduit. Lors d'une mise à jour, la liste remplace les cibles de la publication.
linkUrlstringfacultatif
Le lien principal de la publication, utilisé par chaque plateforme qui en affiche un.
linkCtaKeystringfacultatif
Le bouton affiché avec linkUrl, par exemple learn_more, book ou shop.
utmobjectfacultatif
Balises UTM (source, medium, campaign, term) ajoutées à linkUrl.
sourcestringfacultatif
mediumstringfacultatif
campaignstringfacultatif
termstringfacultatif
linkOverrideobjectfacultatif
Réglages de lien par plateforme, avec une clé par plateforme : une autre url, un autre bouton, title, description ou utm pour cette plateforme.
linkAppendobjectfacultatif
Ajouter ou non linkUrl à la fin du texte sur X et Mastodon, qui n'ont pas de champ de lien.
xbooleanfacultatif
mastodonbooleanfacultatif
ctaUrlFacebookstringfacultatif
URL du bouton pour Facebook uniquement, lorsqu'elle doit différer de ctaUrl.
xThreadbooleanfacultatif
Sur X, diviser un texte plus long qu'une publication en un fil.
scheduleLocalTimestringfacultatif
Programmer selon l'heure locale, "YYYY-MM-DDTHH:mm" sans fuseau. À utiliser à la place de scheduledFor pour une programmation tenant compte du fuseau.
scheduleZoneModestring (target_local | fixed_zone)facultatif
Comment scheduleLocalTime est interprété : target_local publie à cette heure dans le fuseau de chaque destination ; fixed_zone utilise scheduleTimeZone pour toutes les destinations.
scheduleTimeZonestringfacultatif
Fuseau horaire IANA pour la programmation fixed_zone, par exemple "America/New_York".
timeZoneModestring (target_local | fixed_zone)facultatif
Identique à scheduleZoneMode.
articleTitlestringfacultatif
Champs d'article pour Medium et Substack : titre, sous-titre et corps HTML.
articleSubtitlestringfacultatif
Champs d'article pour Medium et Substack : titre, sous-titre et corps HTML.
articleBodyHtmlstringfacultatif
Champs d'article pour Medium et Substack : titre, sous-titre et corps HTML.
canonicalUrlstringfacultatif
URL d'origine d'un article publié ailleurs, pour que la plateforme cite la source.
videoCoverUrlstringfacultatif
Options vidéo : l'URL d'une image de couverture, et l'URL d'un fichier de sous-titres avec sa langue.
videoCaptionsUrlstringfacultatif
Options vidéo : l'URL d'une image de couverture, et l'URL d'un fichier de sous-titres avec sa langue.
videoCaptionsLanguagestringfacultatif
Options vidéo : l'URL d'une image de couverture, et l'URL d'un fichier de sous-titres avec sa langue.
facebookCaptionstringfacultatif
Une option propre à Facebook : texte spécifique, type de bouton, premier commentaire, format de publication (default, reel, carousel, suppress_link), cartes de carrousel ou ciblage d'audience.
facebookCtaTypestringfacultatif
Une option propre à Facebook : texte spécifique, type de bouton, premier commentaire, format de publication (default, reel, carousel, suppress_link), cartes de carrousel ou ciblage d'audience.
facebookFirstCommentstringfacultatif
Une option propre à Facebook : texte spécifique, type de bouton, premier commentaire, format de publication (default, reel, carousel, suppress_link), cartes de carrousel ou ciblage d'audience.
facebookPublishAsstring (default | reel | carousel | suppress_link)facultatif
Une option propre à Facebook : texte spécifique, type de bouton, premier commentaire, format de publication (default, reel, carousel, suppress_link), cartes de carrousel ou ciblage d'audience.
facebookCarouselCardsarray of objectfacultatif
Une option propre à Facebook : texte spécifique, type de bouton, premier commentaire, format de publication (default, reel, carousel, suppress_link), cartes de carrousel ou ciblage d'audience.
headlinestringfacultatif
descriptionstringfacultatif
linkstringfacultatif
facebookTargetCountrystringfacultatif
Une option propre à Facebook : texte spécifique, type de bouton, premier commentaire, format de publication (default, reel, carousel, suppress_link), cartes de carrousel ou ciblage d'audience.
facebookTargetGenderstringfacultatif
Une option propre à Facebook : texte spécifique, type de bouton, premier commentaire, format de publication (default, reel, carousel, suppress_link), cartes de carrousel ou ciblage d'audience.
facebookTargetAgeMinstringfacultatif
Une option propre à Facebook : texte spécifique, type de bouton, premier commentaire, format de publication (default, reel, carousel, suppress_link), cartes de carrousel ou ciblage d'audience.
facebookTargetAgeMaxstringfacultatif
Une option propre à Facebook : texte spécifique, type de bouton, premier commentaire, format de publication (default, reel, carousel, suppress_link), cartes de carrousel ou ciblage d'audience.
facebookTargetRelationshipstringfacultatif
Une option propre à Facebook : texte spécifique, type de bouton, premier commentaire, format de publication (default, reel, carousel, suppress_link), cartes de carrousel ou ciblage d'audience.
instagramFirstCommentstringfacultatif
Une option propre à Instagram : premier commentaire ou texte alternatif de l'image.
instagramAltTextstringfacultatif
Une option propre à Instagram : premier commentaire ou texte alternatif de l'image.
xReplySettingsstring (everyone | following | mentioned)facultatif
Une option propre à X : qui peut répondre.
linkedinVisibilitystring (anyone | connections | followers)facultatif
Une option propre à LinkedIn : visibilité ou premier commentaire.
linkedinFirstCommentstringfacultatif
Une option propre à LinkedIn : visibilité ou premier commentaire.
pinterestTitlestringfacultatif
Une option propre à Pinterest : titre de l'épingle, tableau, lien de destination ou texte alternatif.
pinterestBoardIdstringfacultatif
Une option propre à Pinterest : titre de l'épingle, tableau, lien de destination ou texte alternatif.
pinterestBoardNamestringfacultatif
Une option propre à Pinterest : titre de l'épingle, tableau, lien de destination ou texte alternatif.
pinterestLinkstringfacultatif
Une option propre à Pinterest : titre de l'épingle, tableau, lien de destination ou texte alternatif.
pinterestAltTextstringfacultatif
Une option propre à Pinterest : titre de l'épingle, tableau, lien de destination ou texte alternatif.
tiktokPrivacyLevelstring (PUBLIC_TO_EVERYONE | MUTUAL_FOLLOW_FRIENDS | SELF_ONLY)facultatif
Une option propre à TikTok : niveau de confidentialité, autorisation des duos, stitches et commentaires, ou contenu de marque.
tiktokDisableDuetbooleanfacultatif
Une option propre à TikTok : niveau de confidentialité, autorisation des duos, stitches et commentaires, ou contenu de marque.
tiktokDisableStitchbooleanfacultatif
Une option propre à TikTok : niveau de confidentialité, autorisation des duos, stitches et commentaires, ou contenu de marque.
tiktokDisableCommentbooleanfacultatif
Une option propre à TikTok : niveau de confidentialité, autorisation des duos, stitches et commentaires, ou contenu de marque.
tiktokBrandContentbooleanfacultatif
Une option propre à TikTok : niveau de confidentialité, autorisation des duos, stitches et commentaires, ou contenu de marque.
mastodonVisibilitystring (public | unlisted | private | direct)facultatif
Une option propre à Mastodon : visibilité, avertissement de contenu ou contenu sensible.
mastodonSpoilerTextstringfacultatif
Une option propre à Mastodon : visibilité, avertissement de contenu ou contenu sensible.
mastodonSensitivebooleanfacultatif
Une option propre à Mastodon : visibilité, avertissement de contenu ou contenu sensible.
blueskyLanguagestringfacultatif
Une option propre à Bluesky : langue de la publication ou qui peut répondre.
blueskyReplyGatingstring (everyone | mentioned | following | nobody)facultatif
Une option propre à Bluesky : langue de la publication ou qui peut répondre.
threadsReplyControlstring (everyone | accounts_you_follow | mentioned_only)facultatif
Une option propre à Threads : qui peut répondre.
redditSubredditstringfacultatif
Une option propre à Reddit : subreddit, titre, type de publication, lien ou flair.
redditTitlestringfacultatif
Une option propre à Reddit : subreddit, titre, type de publication, lien ou flair.
redditPostTypestring (text | link | image | video)facultatif
Une option propre à Reddit : subreddit, titre, type de publication, lien ou flair.
redditUrlstringfacultatif
Une option propre à Reddit : subreddit, titre, type de publication, lien ou flair.
redditFlairstringfacultatif
Une option propre à Reddit : subreddit, titre, type de publication, lien ou flair.
mediumTagsstringfacultatif
Une option propre à Medium : tags ou statut de publication.
mediumPublishStatusstring (public | unlisted | draft)facultatif
Une option propre à Medium : tags ou statut de publication.
substackSendEmailbooleanfacultatif
Une option propre à Substack : envoyer ou non un e-mail aux abonnés.
vimeoTitlestringfacultatif
Une option propre à Vimeo : titre, description, miniature ou confidentialité.
vimeoDescriptionstringfacultatif
Une option propre à Vimeo : titre, description, miniature ou confidentialité.
vimeoThumbnailUrlstringfacultatif
Une option propre à Vimeo : titre, description, miniature ou confidentialité.
vimeoPrivacystring (anybody | unlisted)facultatif
Une option propre à Vimeo : titre, description, miniature ou confidentialité.
dailymotionTitlestringfacultatif
Une option propre à Dailymotion : titre, description, miniature, catégorie, indicateur « pour enfants » ou confidentialité.
dailymotionDescriptionstringfacultatif
Une option propre à Dailymotion : titre, description, miniature, catégorie, indicateur « pour enfants » ou confidentialité.
dailymotionThumbnailUrlstringfacultatif
Une option propre à Dailymotion : titre, description, miniature, catégorie, indicateur « pour enfants » ou confidentialité.
dailymotionCategorystringfacultatif
Une option propre à Dailymotion : titre, description, miniature, catégorie, indicateur « pour enfants » ou confidentialité.
dailymotionIsForKidsbooleanfacultatif
Une option propre à Dailymotion : titre, description, miniature, catégorie, indicateur « pour enfants » ou confidentialité.
dailymotionPrivacystring (public | private)facultatif
Une option propre à Dailymotion : titre, description, miniature, catégorie, indicateur « pour enfants » ou confidentialité.
messageGooglestringfacultatif
Légende pour Google. Requise quand google est sélectionné, sauf en brouillon.
messageFacebookstringfacultatif
Texte partagé pour les plateformes sociales (Facebook, Instagram, X, LinkedIn et les autres). Obligatoire dès que l'une d'elles est sélectionnée, sauf pour une sélection uniquement TikTok ou uniquement YouTube, sauf si la publication est un brouillon. Google ne l'utilise pas : il prend messageGoogle.
captionOverridesobjectfacultatif
Captions that replace the shared caption on one network only, keyed by network: facebook, instagram, linkedin, x, bluesky, mastodon, threads, pinterest (the pin description), tiktok and youtube (the video description). Each is checked against its own network's limit. On update, only the networks you name change; send null or an empty string for one to go back to the shared caption, or null for the whole field to clear them all. Other networks are refused, because they publish the shared caption.
facebookstringfacultatif
instagramstringfacultatif
linkedinstringfacultatif
xstringfacultatif
blueskystringfacultatif
mastodonstringfacultatif
threadsstringfacultatif
pintereststringfacultatif
tiktokstringfacultatif
youtubestringfacultatif
ctaTypestring (learn_more | sign_up | order_online | book | buy | call_now)facultatif
Type d'appel à l'action.
ctaUrlstringfacultatif
URL de destination de l'appel à l'action.
mediaUrlsarray of objectfacultatif
Médias à joindre, une entrée par pièce jointe de plateforme.
urlstringfacultatif
platformstringfacultatif
typestring (image | video)facultatif
eventTitlestringfacultatif
Titre de l'événement ou de l'offre. Requis pour un événement/une offre Google, sauf en brouillon.
eventStartAtstringfacultatif
Date/heure de début de l'événement ou de l'offre, au format horodatage ISO 8601. Requise pour un événement/une offre Google, sauf en brouillon.
eventEndAtstringfacultatif
Date/heure de fin de l'événement ou de l'offre, au format horodatage ISO 8601. Doit être après le début.
offerTermsstringfacultatif
Conditions de l'offre.
offerCouponCodestringfacultatif
Code promo de l'offre.
offerRedeemUrlstringfacultatif
URL d'utilisation de l'offre.
scheduledForstringfacultatif
Publier à ce futur horodatage ISO 8601 au lieu d'immédiatement.
draftbooleanfacultatif
Enregistrer sans publier. Ignore les vérifications de champs requis ; les vérifications structurelles (limites, règles de médias) s'appliquent toujours.
Réponse
dataobjectfacultatif
Une plateforme demandée sans connexion active, ou un champ requis manquant avant que le post puisse être publié, ne fait jamais échouer cet appel — le post est quand même enregistré. Quand l'un de ces cas se présente, status vaut "no_connection" ou "incomplete" et le post est niché dessous sous la forme post.{id,status} ; en cas de publication propre, l'id/status de premier niveau décrivent directement le post.
idstringfacultatif
Identifiant unique du post.
statusstringfacultatif
Statut de cycle de vie de la publication : draft, scheduled, paused, publishing, active, partial (en ligne sur certaines plateformes, en échec sur d'autres), error, deleted ou expired.
missingFieldsarray of stringfacultatif
Champs encore nécessaires avant que ce post puisse être mis en ligne, le cas échéant.
missingPlatformsarray of stringfacultatif
Plateformes demandées sans connexion active, le cas échéant.
scopestring (location | client)facultatif
Si l'écart de connexion/champ s'applique au niveau de l'établissement ou du client.
postobjectfacultatif
Le post qui a été créé ou mis à jour.
idstringfacultatif
Identifiant unique du post.
statusstringfacultatif
Statut de cycle de vie de la publication : draft, scheduled, paused, publishing, active, partial (en ligne sur certaines plateformes, en échec sur d'autres), error, deleted ou expired.
targetsarray of objectfacultatif
Une entrée par destination de la publication, avec son propre statut.
connectionIdstringfacultatif
La connexion par laquelle publie cette destination.
platformstringfacultatif
La plateforme de la destination.
statusstringfacultatif
Statut de cet envoi vers la plateforme : pending, publishing, action_required (la plateforme attend une action de l'utilisateur), active, error, deleted ou expired.
errorobjectfacultatif
Présent lorsque cette destination a échoué : le code et le message d'erreur de Synup.
codestringfacultatif
messagestringfacultatif
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.
422Il manque un paramètre requis à la requête, ou elle est invalide.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
post/api/v1/posts
Votre clé API
Corps de la requête*
{
  "data": {
    "id": "cm_post_abc123",
    "status": "scheduled"
  }
}

Guides qui utilisent cet endpoint