Sessions d’envoi
Les sessions d’envoi permettent l’envoi par lot de plusieurs pistes vers une collection. Vous pouvez optionnellement inclure un objet track imbriqué lors de la création de la session pour aussi créer cette piste et recevoir son URL d’envoi dans la réponse.
Le player_color résolu est accompagné de deux compagnons en lecture seule, player_color_light et player_color_dark, ajustés pour rester lisibles respectivement sur des fonds clairs et sombres.
/v1/upload_session Crée une nouvelle session d'envoi pour l'envoi par lot de pistes. Par défaut renvoie uniquement un upload_session_id — créez les pistes via POST /v1/upload/:upload_session_id/track. Incluez optionnellement un objet track imbriqué pour aussi créer cette piste et recevoir l'URL d'envoi par piste dans cette réponse.
Paramètres
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
collection_id | uuid | Obligatoire | Identifiant de la collection. Requis sauf si la clé API est limitée à une collection. |
creator_id | uuid | Facultatif | Identifiant du créateur |
organization_index | string | Facultatif | Index d'organisation (niveau session) |
metadata | object | Facultatif | Métadonnées supplémentaires (niveau session) |
expires_in | number | Facultatif | Durée de la session en secondes (par défaut : 3600, min : 60, max : 86400) |
track Piste facultative | object | Facultatif | Lorsqu'il est présent, crée aussi cette piste et ajoute ses champs d'envoi à la réponse. Champs imbriqués : file_name, organization_index, metadata. |
track.file_name Piste facultative | string | Obligatoire | Nom de fichier original de la piste. Requis lorsque track est présent. |
track.organization_index Piste facultative | string | Facultatif | Index d'organisation pour la piste (distinct du champ au niveau session). |
track.metadata Piste facultative | object | Facultatif | Métadonnées pour la piste (distinctes du champ au niveau session). |
Exemple de requête
curl -X POST "https://api.audiodelivery.net/v1/upload_session" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"collection_id": "COLLECTION_ID",
"expires_in": 7200
}' Exemple avec un track imbriqué optionnel :
Exemple de requête
curl -X POST "https://api.audiodelivery.net/v1/upload_session" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"collection_id": "COLLECTION_ID",
"track": {
"file_name": "track-1.mp3"
}
}' Piste imbriquée optionnelle
Incluez un objet track imbriqué pour créer cette piste pendant la création de session — la réponse ajoute les mêmes poignées d’envoi que le point de terminaison par piste. Vous pouvez toujours ajouter d’autres pistes plus tard avec POST /v1/upload/:upload_session_id/track. Pour les flux uniquement par lot, omettez track et créez chaque piste avec ce point de terminaison.
Réponse
{
"ok": true,
"upload_session_id": "uuid",
"upload_session": {
"id": "uuid",
"creator_id": "uuid | null",
"collection_id": "uuid",
"organization_index": "string | null",
"metadata": {},
"expires_at": "string"
},
"player_color": "string | null",
"player_color_light": "string | null",
"player_color_dark": "string | null",
"expires_at": "string"
} Réponse lorsque vous incluez track
{
"ok": true,
"upload_session_id": "uuid",
"upload_session": {
"id": "uuid",
"creator_id": "uuid | null",
"collection_id": "uuid",
"organization_index": "string | null",
"metadata": {},
"expires_at": "string"
},
"player_color": "string | null",
"player_color_light": "string | null",
"player_color_dark": "string | null",
"expires_at": "string",
"track_id": "uuid",
"track": {
"id": "uuid",
"index": "string",
"path": "string",
"upload_url": "string"
},
"track_upload": {
"method": "PUT",
"upload_url": "string",
"ttl": 0,
"expires_at": "string"
},
"track_cover_upload": {
"method": "POST",
"upload_url": "string",
"ttl": 0,
"expires_at": "string"
}
} /v1/upload_session/:upload_session_id Récupère les détails d'une session d'envoi. Aucune authentification requise — l'identifiant de session sert d'identifiant.
Paramètres
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
upload_session_id | uuid | Obligatoire | L'identifiant de la session d'envoi (paramètre de chemin) |
Exemple de requête
curl -X GET "https://api.audiodelivery.net/v1/upload_session/SESSION_ID" Réponse
{
"ok": true,
"upload_session_id": "uuid",
"upload_session": {
"id": "uuid",
"creator_id": "uuid | null",
"collection_id": "uuid",
"organization_index": "string | null",
"metadata": {},
"expires_at": "string"
},
"player_color": "string | null",
"player_color_light": "string | null",
"player_color_dark": "string | null",
"expires_at": "string"
} /v1/upload/:upload_session_id/track Crée une nouvelle piste dans une session d'envoi et renvoie son URL d'envoi par piste. Appelez ceci une fois par fichier (y compris tout fichier supplémentaire après une piste imbriquée optionnelle à la création de session). Aucune authentification requise — l'identifiant de session sert d'identifiant.
Paramètres
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
upload_session_id | uuid | Obligatoire | L'identifiant de la session d'envoi (paramètre de chemin) |
file_name | string | Obligatoire | Nom de fichier original de la piste |
organization_index | string | Facultatif | Index d'organisation |
metadata | object | Facultatif | Métadonnées supplémentaires |
Exemple de requête
curl -X POST "https://api.audiodelivery.net/v1/upload/SESSION_ID/track" \
-H "Content-Type: application/json" \
-d '{
"file_name": "track-1.mp3"
}' Réponse
{
"ok": true,
"api_request_id": "uuid",
"upload_session_id": "uuid",
"track_id": "uuid",
"track": {
"id": "uuid",
"index": "string",
"path": "string",
"upload_url": "string"
},
"upload_session": {
"id": "uuid",
"creator_id": "uuid | null",
"collection_id": "uuid",
"organization_index": "string | null",
"metadata": {},
"expires_at": "string"
},
"track_upload": {
"method": "PUT",
"upload_url": "string",
"ttl": 0,
"expires_at": "string"
},
"track_cover_upload": {
"method": "POST",
"upload_url": "string",
"ttl": 0,
"expires_at": "string"
}
}