Médias
Importer ou téléverser un média
Ajoute à la médiathèque d’un établissement un fichier (multipart) ou une URL https que Sofia récupère. Exige une application live et un abonnement actif.
Importer depuis une URL
Envoyez du JSON avec l’establishmentId et une url https publique. Sofia télécharge elle-même le fichier, le contrôle et le range dans la médiathèque.
curl -X POST https://api.sofia-post.com/api/v1/media \
-H "Authorization: Bearer $SOFIA_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"establishmentId":"'$ESTABLISHMENT_ID'","url":"https://images.example.com/tatin.jpg"}'Téléverser un fichier
Ou envoyez le fichier lui-même en multipart/form-data, avec un champ file.
curl -X POST https://api.sofia-post.com/api/v1/media \
-H "Authorization: Bearer $SOFIA_API_KEY" \
-F establishmentId=$ESTABLISHMENT_ID \
-F file=@tatin.jpg{
"id": "393d5aa4-16f1-430f-b1d8-1fb1473076ef",
"type": "image",
"url": "https://…/393d5aa4-16f1-430f-b1d8-1fb1473076ef.jpg?X-Amz-…"
}Ce qui est accepté
- Images et vidéos, jusqu’à 200 Mo.
- Une URL doit être en https public : une adresse privée, plus de 3 redirections ou plus de 30 secondes de téléchargement sont refusées.
- L’
urlrenvoyée est signée et expire : conservez l’id, et relisez le média avecGET /v1/media/{id}quand il vous faut une URL fraîche.
Un fichier refusé répond 422 media_import_refused ou media_upload_refused, avec la raison dans details et la marche à suivre dans message.
Autorisations
AuthorizationstringheaderrequisVotre clé personnelle ou jeton d’accès OAuth, envoyé sous la forme
Bearer <token>.
En-têtes
Idempotency-KeystringRejouée avec le même corps, la requête renvoie la même réponse sans second import. Elle couvre les champs du formulaire, pas les octets du fichier.
Corps
establishmentIdstringrequisL’établissement dont la médiathèque reçoit le média
urlstringJSON : l’adresse
httpsdu média, que Sofia récupère elle-même (pas de fichier)filestring<binary>multipart/form-data: le fichier (image ou vidéo), sansurl
Réponse
Le média ajouté à la médiathèque.
idstringrequisIdentifiant du média, à passer dans
media[].idd’une publicationtypestringrequisType du média
Valeurs autorisées :
imagevideourlstringrequisAdresse signée, valable pour la fenêtre en cours