Colecciones
Las colecciones son contenedores para organizar tus pistas de audio. Puedes crear, actualizar, recuperar y eliminar información de colecciones.
Las respuestas incluyen dos compañeros de solo lectura de player_color: player_color_light (ajustado para permanecer legible sobre un fondo claro) y player_color_dark (ajustado para un fondo oscuro). Se derivan de player_color desplazando el brillo hasta que cada uno cumple un contraste mínimo, y no se pueden establecer directamente.
/v1/collection Devuelve una lista de colecciones de una organización
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
limit | number | Opcional | Número máximo de colecciones a devolver |
offset | number | Opcional | Número de colecciones a omitir |
Ejemplo de solicitud
curl -X GET "https://api.audiodelivery.net/v1/collection" \
-H "Authorization: Bearer YOUR_API_KEY" Respuesta
{
"ok": true,
"api_request_id": "uuid",
"count": 0,
"collections": [
{
"id": "uuid",
"organization_id": "uuid",
"creator_id": "uuid | null",
"title": "string",
"organization_index": "string | null",
"metadata": {},
"theme": [],
"player_color": "string | null",
"player_color_light": "string | null",
"player_color_dark": "string | null",
"player_subtitle": "string | null",
"is_cover_overridable": true,
"is_theme_overridable": true
}
]
} /v1/collection/:collection_id Devuelve detalles de una colección concreta
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
collection_id | uuid | Obligatorio | El ID de la colección a recuperar (parámetro de ruta) |
Respuesta
{
"ok": true,
"api_request_id": "uuid",
"collection_id": "uuid",
"collection": {
"id": "uuid",
"organization_id": "uuid",
"creator_id": "uuid | null",
"title": "string",
"organization_index": "string | null",
"metadata": {},
"theme": [],
"player_color": "string | null",
"player_color_light": "string | null",
"player_color_dark": "string | null",
"player_subtitle": "string | null",
"is_cover_overridable": true,
"is_theme_overridable": true
}
} /v1/collection Crea una nueva colección
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
title | string | Obligatorio | Título de la colección |
creator_id | uuid | Opcional | ID del creator propietario de la colección |
organization_index | string | Opcional | Identificador de organización |
metadata | object | Opcional | Metadatos de organización de la colección |
theme | array of objects | Opcional | Colores extraídos de las imágenes de portada |
is_cover_overridable | boolean | Opcional | Si la portada de la colección se puede sobrescribir a nivel de pista |
is_theme_overridable | boolean | Opcional | Si los colores de imagen de la colección se pueden sobrescribir a nivel de pista |
player_color | string | Opcional | Color del player (color hex) |
player_subtitle | string | Opcional | Subtítulo del player |
Ejemplo de solicitud
curl -X POST "https://api.audiodelivery.net/v1/collection" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "My Collection",
"player_subtitle": "Artist Name"
}' Respuesta
{
"ok": true,
"api_request_id": "uuid",
"collection_id": "uuid",
"collection": {
"id": "uuid",
"organization_id": "uuid",
"creator_id": "uuid | null",
"title": "string",
"organization_index": "string | null",
"metadata": {},
"theme": [],
"player_color": "string | null",
"player_color_light": "string | null",
"player_color_dark": "string | null",
"player_subtitle": "string | null",
"is_cover_overridable": true,
"is_theme_overridable": true
},
"collection_cover_upload": {
"method": "POST",
"upload_url": "string",
"ttl": 3600,
"expires_at": "string"
}
} /v1/collection/:collection_id Actualiza una colección existente
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
collection_id | uuid | Obligatorio | El ID de la colección a actualizar (parámetro de ruta) |
creator_id | uuid | Opcional | ID del creator |
organization_index | string | Opcional | Identificador de organización |
title | string | Opcional | Título de la colección |
metadata | object | Opcional | Metadatos de organización |
theme | array of objects | Opcional | Colores extraídos de las imágenes de portada |
is_cover_overridable | boolean | Opcional | Si la portada de la colección se puede sobrescribir a nivel de pista |
is_theme_overridable | boolean | Opcional | Si los colores de imagen de la colección se pueden sobrescribir a nivel de pista |
player_color | string | Opcional | Color del player (color hex) |
player_subtitle | string | Opcional | Subtítulo del player |
Respuesta
{
"ok": true,
"api_request_id": "uuid",
"collection_id": "uuid",
"collection": {
"id": "uuid",
"organization_id": "uuid",
"creator_id": "uuid | null",
"title": "string",
"organization_index": "string | null",
"metadata": {},
"theme": [],
"player_color": "string | null",
"player_color_light": "string | null",
"player_color_dark": "string | null",
"player_subtitle": "string | null",
"is_cover_overridable": true,
"is_theme_overridable": true
}
} /v1/collection/:collection_id Elimina suavemente una colección y propaga a sus pistas
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
collection_id | uuid | Obligatorio | El ID de la colección a eliminar (parámetro de ruta) |
Eliminar una colección propaga: cada pista de ella se elimina suavemente, junto con las variantes y archivos de cada pista. Los archivos eliminados se encolan para borrado del object storage.
Ejemplo de solicitud
curl -X DELETE "https://api.audiodelivery.net/v1/collection/COLLECTION_ID" \
-H "Authorization: Bearer YOUR_API_KEY" Respuesta
{
"ok": true,
"api_request_id": "uuid",
"collection_id": "uuid",
"deleted_collection": {
"id": "uuid",
"organization_id": "uuid",
"creator_id": "uuid | null",
"title": "string",
"organization_index": "string | null",
"metadata": {},
"theme": [],
"player_color": "string | null",
"player_color_light": "string | null",
"player_color_dark": "string | null",
"player_subtitle": "string | null"
}
}