L’upload multiple (bulk) permet d’importer des contenus ou des métadonnées (titre, description, mots-clés, casting etc…) en une seule fois.
Pour cela il faut créer des fichiers JSON en respectant la structure ci-dessous. A noter : pour le moment nous limitons les uploads à 25 éléments maximum par envoi.
Les objets définis sont communs à tous vos projets au sein de votre organisation.
Structure des objets
Par souci de simplicité, l’unicité de l’objet et la dépendance entre les objets sont réalisées en utilisant le LABEL ou la clé de l’objet comme clé unique.
- MULTI-LANGUES
- Chaque fichier d’importation possède une langue par défaut définie globalement pour tous les objets : « default_language » (langue par défaut)
- Chaque objet a plusieurs supports linguistiques (pour le nom, la description, la biographie… mais pas le label qui est unique) via des traductions avec le code pays ALPHA2 > https://www.iban.com/country-codes :
"translations" :
[
{
"language": "fr",
// LIST OF PARAMETERS FOR THIS OBJECT
},
{
"language": "en",
// LIST OF PARAMETERS FOR THIS OBJECT
}
]
- IMAGES
- Les objets peuvent supporter jusqu’à 4 tailles d’images par traduction. Chaque fichier est censé être disponible sur le bucket S3. Format de support : jpeg/png
"pictures":
{
"16_6_s3_location": "s3://my_bucket_url/my_picture_16_6.jpg",
"16_9_s3_location": "s3://my_bucket_url/my_picture_16_9.jpg",
"4_3_s3_location": "s3://my_bucket_url/my_picture_4_3.jpg",
"1_1_s3_location": "s3://my_bucket_url/my_picture_1_1.jpg"
}
- COPYRIGHT
- key : text (255)
- key : text (255)
- CASTING
- label: text (255)
- slug : text (255)
- name: text (255)
- biography (optionnel): markdown (2046)
- pictures (optionnel): 1_1
- MEDIA
- label : text (255)
- slug : text (255)
- media_S3_location (optionnel): path on S3 bucket
- type: audio/video
- storage : hosted/live
- geoblock_mode (optionnel): disabled, allow, deny
- media_countries (pour le geoblocking – optionnel): array of ALPHA2 country code
- temporal_restriction (optionnel)
- begin_date: yyyy-mm-dd hh:mm:ss
- end_date: yyyy-mm-dd hh:mm:ss
- temporal_restriction (optionnel)
- commercial_restriction(optionnel)
- begin_date: yyyy-mm-dd hh:mm:ss
- end_date: yyyy-mm-dd hh:mm:ss
- commercial_restriction(optionnel)
- duration (en secondes – optionnel) : integer
- isan_code (optionnel): ISAN 0000-0001-8947-0000-8-0000-0000-D
- isrc_code (optionnel): ISRC FR-Z11-92-20350
- eidr_code (optionnel): 10.5240/3202-A3F9-0937-E9DC-7B21-9
- custom_id (optionnel): text (255)
- production_date (optionnel): yyyy-mm-dd
- publication_date (optionnel): yyyy-mm-dd
- copyright: text (255) // doit correspondre à une clé de copyright existante
- title: text (255)
- description (optionnel): markdown (2046)
- short_description (optionnel): markdown (2046)
- pictures (optionnel) : 1_1, 16_9, 16_6, 3_4
- media_castings (optionnel): tableau de type casting label // doit correspondre à un casting label existant
- type // actor, director, author, producer
- les castings seront triés dans l’ordre de la liste des différents castings présents dans la liste
- genre (optionnel) : textes de cette liste, attention case sensitive
- action, advanced, music, men, show, tutorial, 2t, science, natural, other, polonaise, documentary, intermediate, society, animation, 3t, human, sport, mazurka, horror, discovery, history, arts, adventure, culture, waltz, comedy, baby, film, 6t, scienceFiction, affairs, drame, performance, 4t, coda, ragtime, interview, thriller, beginner, adult
- category (optionnel) : textes de cette liste, attention case sensitive
- techsolution, ballet, dancejazz, class, repertoire, series, barre, hiphop, film, collection, character, music, bonus, shortProgram, trailer, contemporary, others, project
- keywords (optionnel) : text array (255)
- duration_type (optionnel) : « 26′ », « 90′ », « >26′ », « >90′ »
- format (optionnel) : collection, feature_film, mini-series, one off, serie, short film, short program, podcast, chip
- original_ver (optionnel) : Lang part1
- target_audience (optionnel) : « adults », « all_audiences », « kids », « preschool », « teens »
- new_genre (optionnel) : music, magazine, miscellaneous, reportage, entertainment_&_game_shows, performing_arts,docs, animation_&_kids_, fiction
- themes (optionnel) : travel_/_discovery, police, adventure, youth, biopic_, concert_/_live_music, animal, environment_/_green, cinema, crime, thriller, circus, drama, investigation, science_/_knowledge, medical, music, action, sports, musical, comedy, science_fiction, war, educational, humour, western, romantic_comedy, fantasy_/_horror, lifestyle, dance_, justice, entertainment_/_games, nature_, family, opera, social_issue_/_economy, arts_/_culture, current_affairs, history
- nationalities (optionnel) : Countries Alpha2
- lang_availables (optionnel) : Lang part1
- S3 CREDENTIALS (OPTIONAL)
- s3_credentials
- s3_access_key
- s3_secret_key
- s3_bucket_url
- s3_bucket_region: as defined per AWS
- SMARTLISTS (ET COLLECTIONS)
- uuid: uuid de la ou les smartlists (ou collections) auxquelles on souhaite associer le contenu
- label: titre interne de la smartlist
- action: « linked » pour associer à la smartlist ou « undo » pour désassocier le contenu de la smartlist
- OFFRES
- uuid: uuid de la ou les offres auxquelles on souhaite associer le contenu
- label: titre interne de l’offre
- action: « linked » pour associer à l’offre ou « undo » pour désassocier le contenu de l’offre
Exemple
{ "default_language": "FR", "medias": [ { "label": "test_bulk_label_name18", "media_s3_location": "s3://tmp-upload-okast/720p_5mb.mp4", "type": "video", "storage": "hosted", "geoblock_mode": "disabled", "media_countries": ["FR", "US"], "temporal_restriction": { "begin_date": "2022-01-23 00:00:00", "end_date": "2023-01-25 00:00:00" }, "duration": 1526, "isan_code": "ISAN 0000-0004-E572-0000-6-0000-0000-J", "eidr_code": "10.5240/3202-A3F9-0937-E9DC-7B21-9", "custom_id": "sdfgsdfg654s9sdgf165dsf8g4", "production_date": "2042-01-01", "publication_date": "2042-01-01", "copyright": "C.O Mickeu", "translations": [ { "language": "fr", "title": "test_bulk_label_name18 fr", "description": "allez la en un film sur les aléas", "short_description": "pareil que dans la description", "pictures": { "16_6_s3_location": "s3://tmp-upload-okast/flamefy.jpeg", "16_9_s3_location": "s3://tmp-upload-okast/flamefy.jpeg", "4_3_s3_location": "s3://tmp-upload-okast/flamefy.jpeg", "1_1_s3_location": "s3://tmp-upload-okast/flamefy.jpeg" } }, { "language": "en", "title": "test_bulk_label_name18 en", "description": "aln film sur les aléas", "short_description": "par la description" } ], "media_castings" : { "actor": [ "John Doe", "Mickey", "Miss Piggie" ], "director": [ "Juste Leblanc" ], "producer": [ "François Pignon" ] }, "genre": "action", "category": "film", "keywords": ["voiture", "camion", "vélo"], "duration_type": ">90'", "format": "feature_film", "original_ver": "en", "target_audience": "kids", "new_genre": "performing_arts", "themes": ["action", "comedy"], "nationalities": ["FR", "ES", "ZD"], "lang_availables": ["fr", "en"] } ], "s3_credentials": { "s3_access_key": "XXXXXXXX", "s3_secret_key": "XXXXXXXXXXX", "s3_bucket_url": "s3://tmp-upload-okast", "s3_bucket_region": "eu-west-2", "s3_host": "s3.eu-west-2.wasabisys.com" (OPTIONNEL - DEFAULT AWS) } }
- LIMITATIONS
- Les sous-titres ne sont pas disponibles
- les fichiers audio mp3 ne doivent pas contenir de couverture en metadata, sinon l’encodage est rejetéles pistes audio multiples ne sont pas disponibles.
Comment faire un import bulk depuis le back office
Rendez-vous sur le menu GESTION DES CONTENUS > Imports (le menu n’est pas activé pour tous les utilisateurs, si vous ne voyez pas le menu de votre back-office, demandez à votre contact commercial).
Puis cliquez sur le bouton « Créer un import »
Une fois que votre fichier .JSON est prêt (comme expliqué ci-dessus), cliquez sur « Upload a JSON file » :
Le fichier sera d’abord analysé et le système analysera combien de contenus et/ou de crédits sont détectés.
En cas d’erreur, le système vous indiquera à quel endroit si vous cliquez sur le bouton « Détails » :
Une fois que votre fichier est prêt à être ingesté, il suffit de cliquer sur « Start Ingest » et l’importation commencera : le contenu et les crédits seront créés et ajoutés automatiquement sur votre plateforme. Vous pouvez télécharger un rapport (un fichier CSV) pour avoir plus d’informations via le bouton « Télécharger le rapport ».
Update des imports bulks
Suite à un import bulk, vous avez la possibilité de faire un update en cliquant sur l’icône en forme de crayon à côté de l’import qui vous intéresse puis en cliquant sur « Télécharger un import ».
Le fichier JSON téléchargé donnera un état des objets importés précédemment en base de données sur votre back office.
Vous avez la possibilité d’updater ce fichier en changeant toutes les infos précédemment renseignées. Par ailleurs, changer le « linked » par « undo » permet d’enlever le lien fait précédemment à une offre ou une smartlist.
En uploadant à nouveau le fichier modifié, cela modifiera les objets en base de données.