API
L'API OneScrip permet à vos propres systèmes et scripts d'ajouter des publications (éléments) dans OneScrip, y compris avec des images ou des vidéos.
Créer une clé API
- Dans le tableau de bord OneScrip, ouvrez « Clés API » dans la barre latérale
- Cliquez sur « Créer une nouvelle clé »
- Saisissez un libellé facile à reconnaître et, dans les autorisations, cochez « Ajouter des éléments (publications, images, vidéos) »
- Cliquez sur « Créer » et copiez le secret affiché
Le secret n'est affiché qu'une seule fois, juste après la création de la clé. OneScrip ne le conserve pas : il ne peut pas être affiché à nouveau. En cas de perte, supprimez la clé et créez-en une nouvelle.
- Seuls les propriétaires et les administrateurs du projet peuvent créer ou supprimer des clés API
- Le nombre de clés disponibles dépend de votre forfait
- Une clé n'a accès qu'aux données du projet pour lequel elle a été créée
Principes de base
| Élément | Détails |
|---|---|
| URL de base | https://api.onescrip.com/v1 |
| Authentification | En-tête Authorization: Bearer <clé API> ou X-API-Key: <clé API> |
| Limite de débit | 60 requêtes par minute et par clé API |
| Format de réponse | JSON |
Traitez votre clé API comme un mot de passe et ne l'utilisez que depuis des environnements sûrs, comme un serveur ou un script. Les appels depuis du JavaScript exécuté dans un navigateur (CORS) ne sont pas pris en charge.
Lister les contenus
GET /contents
Renvoie les contenus de votre projet. Utilisez cette requête pour trouver l'id du contenu auquel ajouter des publications.
curl https://api.onescrip.com/v1/contents \
-H "Authorization: Bearer $ONESCRIP_API_KEY"
{
"contents": [
{
"id": "6f1c2a4e-....",
"name": "Publications du compte officiel",
"description": null,
"type": "social",
"folderId": null
}
]
}
Seuls les contenus dont le type est social acceptent des publications.
Ajouter une publication
POST /contents/{contentId}/items
Envoyez les publications en texte seul au format JSON. Pour joindre des images ou des vidéos, utilisez multipart/form-data.
| Paramètre | Type | Description |
|---|---|---|
value | chaîne (obligatoire) | Texte de la publication, 1000 caractères maximum |
key | chaîne | Clé facultative pour identifier la publication |
images | fichier | Fichier image. JPEG / PNG / WebP / GIF, 5 Mo maximum chacun |
imageUrls | tableau de chaînes | URL d'images. OneScrip télécharge et enregistre les images |
video | fichier | Fichier vidéo. MP4 / WebM / MOV / AVI, 50 Mo maximum |
videoUploadId | chaîne | ID d'une grande vidéo envoyée au préalable (voir plus bas) |
videoThumbnail | fichier | Miniature de la vidéo. Si elle est omise, elle est générée à partir de la vidéo |
- Vous pouvez joindre jusqu'à 4 images au total (
imagesetimageUrls), ou 1 vidéo - Une publication ne peut pas contenir à la fois des images et une vidéo
- Les images sont converties en WebP lors de l'enregistrement
En cas de succès, l'API renvoie 201 avec l'ID de la nouvelle publication.
{ "id": "0b8d5c1f-...." }
Publication en texte seul
curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/items \
-H "Authorization: Bearer $ONESCRIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"value": "Notre nouveau produit est disponible"}'
Publication avec images
curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/items \
-H "Authorization: Bearer $ONESCRIP_API_KEY" \
-F "value=Notre nouveau produit est disponible" \
-F "images=@./photo1.jpg" \
-F "images=@./photo2.png"
Les URL d'images peuvent être envoyées en JSON.
curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/items \
-H "Authorization: Bearer $ONESCRIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"value": "Notre nouveau produit est disponible", "imageUrls": ["https://example.com/photo.jpg"]}'
Publication avec une vidéo
Les vidéos d'environ 30 Mo maximum peuvent être jointes directement.
curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/items \
-H "Authorization: Bearer $ONESCRIP_API_KEY" \
-F "value=Une publication avec une vidéo" \
-F "video=@./movie.mp4"
Envoyer une grande vidéo
Une requête est limitée à environ 32 Mo. Pour les vidéos plus lourdes (jusqu'à 50 Mo), suivez ces trois étapes.
1. Demander une URL d'envoi
POST /contents/{contentId}/video-uploads
curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/video-uploads \
-H "Authorization: Bearer $ONESCRIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contentType": "video/mp4", "size": 41943040}'
Indiquez dans contentType l'une des valeurs video/mp4, video/webm, video/quicktime ou video/x-msvideo, et dans size la taille du fichier en octets.
{
"uploadId": "3e7a9b20-....",
"uploadUrl": "https://storage.googleapis.com/....",
"method": "PUT",
"headers": {
"Content-Type": "video/mp4",
"Cache-Control": "private, max-age=0",
"x-goog-if-generation-match": "0"
}
}
2. Envoyer le fichier vidéo
Envoyez le fichier avec PUT vers uploadUrl, en ajoutant tous les en-têtes de headers. L'envoi échoue s'il en manque un.
curl -X PUT "$UPLOAD_URL" \
-H "Content-Type: video/mp4" \
-H "Cache-Control: private, max-age=0" \
-H "x-goog-if-generation-match: 0" \
--data-binary @./movie.mp4
3. Ajouter la publication
Indiquez dans videoUploadId l'uploadId obtenu à l'étape 1.
curl -X POST https://api.onescrip.com/v1/contents/$CONTENT_ID/items \
-H "Authorization: Bearer $ONESCRIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"value": "Une publication avec une vidéo", "videoUploadId": "3e7a9b20-...."}'
Les URL d'envoi expirent 15 minutes après leur émission.
Erreurs
Les erreurs renvoient un message au format suivant.
{ "error": "Invalid API key" }
| Statut | Signification | Causes fréquentes |
|---|---|---|
400 | Données invalides | Texte vide, type ou taille de fichier non pris en charge, images et vidéo jointes ensemble |
401 | Échec de l'authentification | Clé API absente, incorrecte ou supprimée |
403 | Action non autorisée | La clé n'a pas l'autorisation, ou la limite de publications ou de stockage du forfait est atteinte |
404 | Introuvable | L'ID du contenu est incorrect ou appartient à un autre projet |
429 | Trop de requêtes | Limite de débit dépassée. Patientez un instant puis réessayez |
Questions fréquentes
Les publications ajoutées via l'API sont-elles publiées immédiatement ?
Les publications ajoutées via l'API sont enregistrées dans le contenu comme celles ajoutées depuis le tableau de bord. Leur publication suit les paramètres et la planification du contenu.
Que faire si ma clé API a fuité ?
Supprimez la clé depuis « Clés API » dans le tableau de bord. Une clé supprimée cesse immédiatement de fonctionner.