Référence du format de fichier
Les fichiers d'import sont définis par des colonnes spécifiques, en fonction de leur type de fichier (sauf si un Mapping est appliqué).
Lors de l'import, les fichiers sont interprétés comme :
- lignes - les objets à importer (documents, médias, etc.) et
- colonnes - les caractéristiques des objets (code_document, nom_document, etc.).
Vous pouvez télécharger un modèle de fichier d'import généré automatiquement à partir d'un profil d'import.
Délimiteurs et Séparateurs
-
Délimiteurs - Les attributs de texte doivent être placés entre guillemets. Si un attribut contient lui-même des guillemets, ils doivent être doublés afin qu'ils ne soient pas considérés comme le début ou la fin de l'attribut.
Exemple : "Type de chaussures : ""Sneakers""" -
Séparateurs - Un seul caractère qui indique une séparation entre les valeurs (vos colonnes). Si un une valeur colonne contient un délimiteur, il doit être placé entre guillemets. Les délimiteurs typiques sont :
- lignes- Utilisées pour indiquer des lignes individuelles. Valeurs possibles : le caractère de saut de ligne (/n) effectué par la touche Entrée.
- colonnes - Utilisées pour indiquer des colonnes individuelles. Valeurs possibles : virgule, point-virgule, tabulation. Note : si un attribut a plusieurs valeurs, vous devez utiliser le caractère barre verticale ( | ) entre les valeurs (au lieu d'une virgule).
Fichiers d'import
Les sections suivantes décrivent les colonnes standard des fichiers d'import de Quable PIM.
Classifications
- Les classifications doivent être importées par ordre hiérarchique, de haut en bas.
- Une ligne doit toujours avoir un code_parent qui a déjà été créé dans le fichier ou qui existait déjà avant l'import.
Les modèles générés à partir d'un profil d'import avec le type de données = Classifications auront toujours les colonnes suivantes :
Nom de la colonne | Description | Obligatoire |
---|---|---|
classification_code | Le code unique de la classification. Si un fichier d'import contient des doublons (2 lignes avec le même classification_code), une seule sera prise en compte. Afin d'éviter des erreurs et des résultats inattendus, assurez-vous que votre fichier d'import ne contient pas de doublons. | Oui |
classification_parent_code | Le code de la classification parente. Pour créer une classification du niveau supérieur, le code parent doit être "root". | Oui |
active | Le statut de la classification. Valeurs possibles :
| Non Si la colonne est :
|
<attributs> | Les attributs individuels et leurs valeurs. | Non Si la colonne est absente, il n'y aura pas de changement. |
Exemple
Voici un exemple d'import avec trois classifications :
|
Documents
Les en-têtes de colonne pour les attributs de texte doivent spécifier la locale entre parenthèses à côté du code. Si la locale n'est pas présente pour une colonne qui l'exige, le fichier d'import sera rejeté.
Exemples
- Locale unique - "toto (fr_FR)"
- Locaux multiples - "toto (fr_FR)" ; "toto (en_GB)"
Les modèles générés à partir d'un profil d'import avec le type de données = Documents auront toujours les colonnes suivantes :
Nom de la colonne | Description | Obligatoire |
---|---|---|
document_code | Le code unique du document. Si un fichier d'import contient des doublons (2 lignes avec le même document_code), une seule sera prise en compte. Afin d'éviter des erreurs et des résultats inattendus, assurez-vous que votre fichier d'import ne contient pas de doublons. | Oui |
classification_code | Le code du niveau dans la classification cible où le document sera situé. | Non Nouveaux documents Si la colonne est :
Mise à jour des documents existants. Si la colonne est :
|
active | Le statut du document. Valeurs possibles :
| Non Si la colonne est :
|
attribut_set_code | Le code du jeu d'attributs à appliquer au document. | Non Si la colonne est :
|
<attributs> | Les attributs individuels et leurs valeurs. | Non Si la colonne est absente, il n'y aura pas de changement. |
Exemple
Voici un exemple d'import de deux documents avec une option de cellule vide = Remplacer.
|
Variants
Les modèles générés à partir d'un profil d'import avec le type de données = Variant auront toujours les colonnes suivantes :
Nom de la colonne | Description | Obligatoire |
---|---|---|
sku_code | Le code unique du document. Si un fichier d'import contient des doublons (2 lignes avec le même sku_code), une seule sera prise en compte. Afin d'éviter des erreurs et des résultats inattendus, assurez-vous que votre fichier d'import ne contient pas de doublons. | Oui |
document_code | Code du document auquel le variant est associée (un variant ne peut pas être rendu orphelin par un import). | Oui |
active | Le statut du variant. Valeurs possibles :
| Non Si la colonne est :
|
<attributs> | Les attributs individuels et leurs valeurs. | Non Si la colonne est absente, il n'y aura pas de changement. |
Exemple
Voici un exemple d'import avec deux variants liés au document ref_12345.
|
Médias
Quable PIM n'a pas de limite pour les formats de médias, mais nous vous recommandons de ne pas utiliser de grands formats. Si vous le faites, leur poids ne doit pas dépasser 200 Mo.
Les modèles générés à partir d'un profil d'import avec le type de données = Médias auront toujours les colonnes suivantes :
Nom de la colonne | Description | Obligatoire |
---|---|---|
media_classification_code | Le code de la classification du support dans lequel votre média sera situé. Si aucune valeur n'est présente, le média sera classé dans la classification DAM, niveau 0. Note : les médias classés au niveau 0 ne sont pas visibles. | Non Si la colonne est :
|
media_code | Le code du média. Si un fichier d'import contient des doublons (2 lignes avec le même media_code), une seule sera prise en compte. Afin d'éviter des erreurs et des résultats inattendus, assurez-vous que votre fichier d'import ne contient pas de doublons. | Oui |
url | L'URL du média. Une fois qu'un média a été téléchargé, il n'est plus obligatoire de spécifier l'URL dans le fichier d'import. |
|
external | Indique si le média est stocké en dehors du DAM Quable PIM (le PIM ne fait alors qu'y accéder en consultation). Valeurs possibles : - 0 (non) - 1 (oui) | Non |
<attributs> | Les attributs individuels et leurs valeurs. | Non Si la colonne est absente, il n'y aura pas de changement. |
Exemple
Voici un exemple d'import avec trois médias.
|
Processus téléchargement des medias
Le processus de téléchargement des médias repose sur un ensemble de règles et de mécanismes permettant de garantir à la fois l’efficacité et la conformité aux bonnes pratiques. Voici les détails du fonctionnement.
Import et validation des URLs
Lors de l'import de medias, chaque URL fait l’objet d’une vérification préliminaire pour en valider l’existence. Cette validation est réalisée grâce à une requête HTTP HEAD sur chaque URL. Cette requête permet de confirmer que le fichier existe sur le serveur distant sans télécharger son contenu.
Cette requête HEAD doit retourner une réponse avec un code HTTP 200 dans un délai maximum de 5 secondes afin d'être considérée comme valide.
Les URLs non valides (délai dépassé, réponse HTTP d’erreur, etc.) sont identifiées et exclues du processus de téléchargement. Le rapport généré à la fin de l'import indique le statut de chaque URL (valide ou non valide).
Téléchargement Asynchrone des Médias
Les URLs validées sont ensuite mises en file d’attente pour téléchargement. Ce processus est géré de manière entièrement asynchrone. Les téléchargements sont effectués via des requêtes HTTP GET et respectent les principes suivants :
- Les serveurs distants doivent être capables de répondre en moins de 5 secondes pour éviter les interruptions
- Un nombre limité de connexions simultanées est maintenu pour préserver les ressources système et éviter toute surcharge
- Chaque fichier téléchargé est stocké dans le système et passe immédiatement par un processus de génération de miniatures (thumbnails). Ce traitement est également asynchrone
- Les volumétries doivent respecter les limites indiquées dans la section Fair use
Thumbnails médias hebergés sur des serveurs externes
Quable PIM ne génère les thumbnails que pour les medias qui sont hébergés sur les serveurs de Quable. Pour le cas ou les medias seraient hebergés sur des serveurs externes (sur un cdn par exemple), ils est alors nécessaire de fournir l'url des thumbnails.
Pour cela, le document type Asset doit avoir un attribut type text avec le code thumbnail_external_url
Il existe ensuite deux possibilités de créer les assets et de leur assigner un thumbnail :
- via l'import
- via l'api v4:
--location '<http://quable.docker/api_1.php/assets'>
--data '{
"code": "media_code",
"name": "media name",
"active": true,
"classification_code": "classification_code",
"media_url": "url_media",
"external": true,
"thumbnail_external_url": "url_thumbnail"
}'
Liaisons
Nous recommandons de créer des profils d'imports individuels pour chaque type de liaison et d'utiliser un fichier d'import pour chaque type.
Les modèles générés à partir d'un profil d'import avec le type de données = Liaisons auront toujours les colonnes suivantes :
Nom de la colonne | Description | Obligatoire |
---|---|---|
source_code | Le code de l'objet parent. | Oui |
target_code | Le code de l'objet enfant. | Oui |
<attributs> | Les attributs individuels et leurs valeurs. | Non Si la colonne est absente, il n'y aura pas de changement. |
Exemple
Voici un exemple d'import avec deux liaisons utilisant un profil d'import de liaison media-document.
|
Liste des valeurs
Pour importer des valeurs pour les attributs Liste de sélection à choix unique ou Liste de sélection à choix multiple, vous devez faire référence au code de l'attribut, au code de la valeur et aux traductions des valeurs à importer.
Les codes des valeurs prédéfinies ne doivent pas excéder 150 caractères.
Les modèles générés à partir d'un profil d'import avec le type de données = Liste de valeurs n'auront toujours que les colonnes suivantes :
Nom de la colonne | Description | Obligatoire |
---|---|---|
attribute_code | Le code de l'attribut (type liste uniquement) auquel sera associé le value_code. | Oui |
value_code | Le code unique de la valeur. | Oui |
value_label (xx_XX) | Le label d'interface du value_code importé. Cette valeur peut être importée dans toutes vos langues de données. | Non (mais fortement recommandé) |
Exemple
Voici un exemple d'import d'une liste avec deux valeurs prédéfinies (et traductions), et une valeur supplémentaire pour une liste existante.
Retrouver la vidéo tutorielle Quick Look : |
|
Colonnes d'attributs
Vous pouvez importer des valeurs pour les attributs de vos classifications, documents, variants, médias et liaisons,
Les modèles générés à partir d'un profil d'import comprennent également une colonne par attribut, désignée par leur code. Ces colonnes ne sont pas obligatoires pour l'import d'objets.
Chaque type d'attribut doit respecter les règles suivantes :
Type d'attribut | Description | Exemple |
---|---|---|
Texte
| Les attributs de texte peuvent être importés avec des traductions par colonnes individuelles par langue de données et en spécifiant le code ISO pour la langue. Note Les types d'attributs suivants ne doivent pas inclure un code ISO car ils ne sont pas traduisibles:
| |
Nombres
| Les attributs des nombres doivent utiliser le format utilisé pour les nombres dans le fichier d'import. Formats possibles :
| |
Date | Les attributs de date doivent être dans le format utilisé pour les dates dans le fichier d'import. Formats possibles :
| |
Heure | Les attributs de l'heure doivent être dans le format utilisé pour l'heure dans le fichier d'import. Formats possibles :
| |
Oui / Non | Les attributs qui nécessitent une seule valeur parmi deux options doivent être au format booléen. Formats possibles :
| |
Liste de valeurs
| Les attributs des listes de valeurs doivent avoir le format suivant :
Vous pouvez avoir plusieurs codes de valeur, séparés par un caractère pipe ( | ). |
Gestion de l'année 1900 avec Excel
L'année 1900 est très mal gérée par Excel, aussi nous vous conseillons d'utiliser 1970 si vous avez besoin d'initialiser des dates dans le passé.
Updated 1 day ago