Synupv1
Créer une clé
v1Ressources/Media

Media

Consultez et téléchargez des fichiers dans la médiathèque d'un établissement.

Renvoie le logo, les photos et les vidéos disponibles pour un établissement, regroupés par catégorie.

Obtenir les médias de l'établissement

get/api/v1/media
media:read
Paramètres de requête
locationIdstringobligatoire
L'établissement à consulter. Obligatoire.
Réponse
dataobjectfacultatif
locationIdstringfacultatif
L'établissement auquel appartiennent ces médias.
logoUrlstringfacultatif
URL du logo de l'établissement, ou null.
mediaByCategoryobjectfacultatif
Éléments multimédias regroupés par catégorie (par ex. EXTERIOR, INTERIOR, FOOD_AND_DRINK, LOGO, TEAMS). Chaque élément possède une url et, éventuellement, un label, un kind (PHOTO ou VIDEO), une source, un indicateur starred et un assetKey.
photosSummaryobjectfacultatif
Comptages agrégés de photos.
totalnumberfacultatif
Nombre total de photos, ou null.
byCategoryarray of objectfacultatif
Nombre de photos par catégorie.
categorystringfacultatif
countnumberfacultatif
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.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
get/api/v1/media
Votre clé API
locationId *
{
  "data": {
    "locationId": "loc_456",
    "logoUrl": "https://cdn.synup.com/logos/loc_456.png",
    "mediaByCategory": {
      "EXTERIOR": [
        {
          "url": "https://cdn.synup.com/media/1.jpg",
          "kind": "PHOTO",
          "source": "user_upload",
          "starred": true
        }
      ]
    },
    "photosSummary": {
      "total": 12,
      "byCategory": [
        {
          "category": "EXTERIOR",
          "count": 4
        }
      ]
    }
  }
}
v1Ressources/Media/getLister les catégories de médias

L'ensemble fixe des valeurs de catégorie acceptées par POST/DELETE /api/v1/locations/{id}/media (COVER, LOGO, INTERIOR, ...).

Lister les catégories de médias

get/api/v1/media/categories
media:read
Réponse
dataobjectfacultatif
categoriesarray of stringfacultatif
Les valeurs de catégorie, dans l'ordre appliqué.
Erreurs
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.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
get/api/v1/media/categories
Votre clé API
{
  "data": {
    "categories": [
      "COVER",
      "PROFILE",
      "LOGO",
      "EXTERIOR",
      "INTERIOR",
      "PRODUCT",
      "FOOD_AND_DRINK",
      "MENU",
      "AT_WORK",
      "TEAMS",
      "ROOMS",
      "COMMON_AREA",
      "ADDITIONAL"
    ]
  }
}
v1Ressources/Media/patchMettre à jour un asset

Met à jour les métadonnées de recouvrement d'un asset — étiquettes, appartenance à un dossier, établissements assignés — et, pour les téléversements uniquement, son titre. Les sources synchronisées/générées ignorent le titre ; il y est en lecture seule.

Mettre à jour un asset

patch/api/v1/media/{id}
media:write
Paramètres de requête
idstringobligatoire
L'asset à mettre à jour.
Corps de la requête
titlestringfacultatif
Nouveau titre. Téléversements uniquement ; ignoré pour les autres sources.
tagsarray of stringfacultatif
Remplace la liste complète des étiquettes de l'asset, par nom.
folderIdsarray of stringfacultatif
Remplace l'appartenance aux dossiers de l'asset.
locationIdsarray of stringfacultatif
Remplace les établissements assignés de l'asset.
statusstring (ok | needs_review | spam)facultatif
Définit manuellement le verdict de modération. Médias synchronisés uniquement.
statusReasonstringfacultatif
Note facultative expliquant le statut, affichée à côté de celui-ci.
Réponse
dataobjectfacultatif
assetobjectfacultatif
keystringfacultatif
Identifiant composite du fichier, au format « <source>:<id> ».
sourcestringfacultatif
Origine de ce fichier (par ex. un envoi OS par rapport à une source importée).
idstringfacultatif
L'id du fichier au sein de sa source.
titlestringfacultatif
Le titre du fichier.
filenamestringfacultatif
Le nom de fichier d'origine du fichier.
mimestringfacultatif
Le type MIME du fichier.
kindstringfacultatif
Le type du fichier (photo ou vidéo).
sizeBytesnumberfacultatif
Taille du fichier en octets, ou null si inconnue.
urlstringfacultatif
URL prête à l'emploi pour les octets du fichier.
thumbnailUrlstringfacultatif
URL d'un aperçu miniature, ou null.
tagsarray of stringfacultatif
Étiquettes associées au fichier.
folderIdsarray of stringfacultatif
Dossiers de fichiers auxquels ce fichier appartient.
locationIdsarray of stringfacultatif
Tous les établissements auxquels ce fichier est associé.
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.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
patch/api/v1/media/{id}
Votre clé API
id *
Corps de la requête
{
  "data": {
    "asset": {
      "key": "upload:abc123",
      "source": "upload",
      "id": "abc123",
      "title": "Storefront photo",
      "filename": "storefront.jpg",
      "mime": "image/jpeg",
      "kind": "image",
      "sizeBytes": 482913,
      "url": "https://cdn.synup.com/media/abc123.jpg",
      "thumbnailUrl": "https://cdn.synup.com/media/abc123-thumb.jpg",
      "tags": [
        "VIP"
      ],
      "folderIds": [
        "folder_1"
      ],
      "locationIds": [
        "loc_456"
      ]
    }
  }
}
v1Ressources/Media/deleteArchiver un média

Archive une photo/un fichier téléversé de la bibliothèque de médias — cette API ne supprime jamais définitivement. Les octets, l'enregistrement, les appartenances aux tags/dossiers et les liens de partage restent tous en place ; il cesse simplement d'apparaître dans la bibliothèque. Seuls les téléversements peuvent être archivés ainsi.

Archiver un média

delete/api/v1/media/{id}
media:write
Paramètres de requête
idstringobligatoire
La clé du média, encodée en URL (ex. upload%3Aabc123).
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 source de cet asset est en lecture seule (généré par Sydekick ou média synchronisé) et ne peut pas être archivée ici.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
delete/api/v1/media/{id}
Votre clé API
id *
{}
v1Ressources/Media/postModifier un asset par IA

Régénère sur place l'image (ou le texte) d'un asset généré par Sydekick à partir d'une invite textuelle — la même action "Modifier avec l'IA" disponible dans l'onglet Données. Assets générés par Sydekick uniquement ; les téléversements et les médias synchronisés renvoient une erreur 409. Exécute une tâche en arrière-plan pouvant prendre une minute ou plus en cas de démarrage à froid.

Modifier un asset par IA

post/api/v1/media/{id}/edit
media:write
Paramètres de requête
idstringobligatoire
L'asset généré à modifier, encodé en pourcentage (par ex. generated%3Aabc123).
Corps de la requête
promptstringobligatoire
Ce qu'il faut changer, en langage simple.
Réponse
dataobjectfacultatif
assetobjectfacultatif
keystringfacultatif
Identifiant composite du fichier, au format « <source>:<id> ».
sourcestringfacultatif
Origine de ce fichier (par ex. un envoi OS par rapport à une source importée).
idstringfacultatif
L'id du fichier au sein de sa source.
titlestringfacultatif
Le titre du fichier.
filenamestringfacultatif
Le nom de fichier d'origine du fichier.
mimestringfacultatif
Le type MIME du fichier.
kindstringfacultatif
Le type du fichier (photo ou vidéo).
sizeBytesnumberfacultatif
Taille du fichier en octets, ou null si inconnue.
urlstringfacultatif
URL prête à l'emploi pour les octets du fichier.
thumbnailUrlstringfacultatif
URL d'un aperçu miniature, ou null.
tagsarray of stringfacultatif
Étiquettes associées au fichier.
folderIdsarray of stringfacultatif
Dossiers de fichiers auxquels ce fichier appartient.
locationIdsarray of stringfacultatif
Tous les établissements auxquels ce fichier est associé.
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.
409Seuls les assets générés par Sydekick peuvent être modifiés par IA.
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/media/{id}/edit
Votre clé API
id *
Corps de la requête*
{
  "data": {
    "asset": {
      "key": "upload:def456",
      "source": "upload",
      "id": "def456",
      "title": "Storefront photo (edited)",
      "filename": "storefront-edited.jpg",
      "mime": "image/jpeg",
      "kind": "image",
      "sizeBytes": 511204,
      "url": "https://cdn.synup.com/media/def456.jpg",
      "thumbnailUrl": "https://cdn.synup.com/media/def456-thumb.jpg",
      "tags": [
        "VIP"
      ],
      "folderIds": [
        "folder_1"
      ],
      "locationIds": [
        "loc_456"
      ]
    }
  }
}
v1Ressources/Media/postTéléchargez un fichier multimédia

Ajoute une nouvelle photo ou vidéo à la médiathèque de l'agence à partir d'une URL ou d'une charge utile encodée en base64, éventuellement limitée à un compte, un client, un établissement ou une marque.

Téléchargez un fichier multimédia

post/api/v1/media/upload
media:write
Corps de la requête
urlstringfacultatif
Une URL publiquement accessible à partir de laquelle récupérer le fichier. Fournissez ceci ou base64, pas les deux.
base64stringfacultatif
Le contenu brut du fichier, encodé en base64. Fournissez ceci ou url, pas les deux.
mimestringfacultatif
Type MIME du fichier, par ex. image/jpeg. Déduit si omis.
filenamestringfacultatif
Nom de fichier d'origine, utilisé pour l'affichage.
titlestringfacultatif
Un titre lisible pour le fichier.
scopeTypestring (account | client | location | brand)facultatif
À quoi appartient ce fichier : account (toute l'agence), client, location ou brand.
scopeIdstringfacultatif
L'id du client ou de l'établissement auquel le fichier est limité, lorsque scopeType est client ou location.
folderIdstringfacultatif
Un dossier de fichiers existant dans lequel classer ce téléchargement.
tagsarray of stringfacultatif
Étiquettes libres à associer au fichier.
locationIdsarray of stringfacultatif
Établissements supplémentaires à associer à ce fichier, en plus de scopeId.
Réponse
dataobjectfacultatif
assetobjectfacultatif
keystringfacultatif
Identifiant composite du fichier, au format « <source>:<id> ».
sourcestringfacultatif
Origine de ce fichier (par ex. un envoi OS par rapport à une source importée).
idstringfacultatif
L'id du fichier au sein de sa source.
titlestringfacultatif
Le titre du fichier.
filenamestringfacultatif
Le nom de fichier d'origine du fichier.
mimestringfacultatif
Le type MIME du fichier.
kindstringfacultatif
Le type du fichier (photo ou vidéo).
sizeBytesnumberfacultatif
Taille du fichier en octets, ou null si inconnue.
urlstringfacultatif
URL prête à l'emploi pour les octets du fichier.
thumbnailUrlstringfacultatif
URL d'un aperçu miniature, ou null.
tagsarray of stringfacultatif
Étiquettes associées au fichier.
folderIdsarray of stringfacultatif
Dossiers de fichiers auxquels ce fichier appartient.
locationIdsarray of stringfacultatif
Tous les établissements auxquels ce fichier est associé.
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/media/upload
Votre clé API
Corps de la requête
{
  "data": {
    "asset": {
      "key": "upload:ghi789",
      "source": "upload",
      "id": "ghi789",
      "title": "New storefront photo",
      "filename": "new-storefront.jpg",
      "mime": "image/jpeg",
      "kind": "image",
      "sizeBytes": 398211,
      "url": "https://cdn.synup.com/media/ghi789.jpg",
      "thumbnailUrl": "https://cdn.synup.com/media/ghi789-thumb.jpg",
      "tags": [],
      "folderIds": [],
      "locationIds": []
    }
  }
}
v1Ressources/Media/postPartager un asset

Émet (ou renouvelle) un lien public pour l'asset. Le renouvellement révoque tout lien émis précédemment.

Partager un asset

post/api/v1/media/{id}/share
media:write
Paramètres de requête
idstringobligatoire
L'asset à partager.
Réponse
dataobjectfacultatif
urlstringfacultatif
L'URL de partage public.
accessstring (link)facultatif
Toujours "link" en cas de succès.
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.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
post/api/v1/media/{id}/share
Votre clé API
id *
{
  "data": {
    "url": "https://synup.com/s/kL9mN2pQr",
    "access": "link"
  }
}
v1Ressources/Media/deleteNe plus partager un asset

Révoque le lien public de l'asset.

Ne plus partager un asset

delete/api/v1/media/{id}/share
media:write
Paramètres de requête
idstringobligatoire
L'asset dont le partage est révoqué.
Réponse
dataobjectfacultatif
accessstring (restricted)facultatif
Toujours "restricted" en cas de succès.
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.
429Trop de requêtes. Réessayez après le nombre de secondes indiqué dans l'en-tête Retry-After.
delete/api/v1/media/{id}/share
Votre clé API
id *
{
  "data": {
    "access": "restricted"
  }
}