(fr) Datahub - Imports automatiques

ℹ️ | Avec Splio, vous manipulez de grandes quantités de données. Pour que Splio fonctionne, il est nécessaire que les données soient importées dans le système. Un administrateur peut importer de nouveaux contacts, mais les contacts ne sont qu'un des types de données utilisables dans votre plateforme.

Splio offre une fonctionnalité d'import automatique des fichiers. Grâce aux imports automatiques, vous pouvez importer différents types de données de manière structurée. De votre côté, il vous suffit de préparer vos fichiers et les importer dans un dossier spécifique. Le script automatique sélectionne les fichiers et importe les données.

Pré-requis

  • Votre Project Manager doit activer la fonction d'import automatique ;
  • En effet, vous devez pouvoir ouvrir et enregistrer des fichiers en utilisant le format CSV et l'encodage UTF-8 ;
  • De plus, vous devez pouvoir déplacer, copier et renommer des fichiers localement ;
  • Avec un serveur FTP, vous pouvez télécharger plusieurs fichiers à la fois

Étapes d'import

Pour importer vos fichiers de données automatiquement, vous devez suivre ces étapes :

  • Préparer votre fichier CSV et le mettre au bon format ;
  • Télécharger des fichiers - connectez-vous au serveur SFTP et téléchargez les fichiers. Si vous avez besoin des détails de connexion, demandez à votre Project Manager ;
  • Vérifier le statut – Splio planifie les fichiers à importer ; après, les destinataires reçoivent l'alerte et une notification. Pour plus de détails, vous pouvez consulter les fichiers de logs dans le dossier idoine.

Recommandations pour les fichiers

Lorsque vous préparez des données d’import, suivez ces recommandations.

  • Chaque fichier doit contenir des données appartenant à un seul scope ;
  • Les fichiers doivent utiliser le format CSV, sans données multilignes ;
  • Il faut utiliser l’encodage UTF-8 ;
  • Le nom de votre fichier d'import doit inclure l'univers, le scope, la sous-section et la date ;
  • La priorité des imports dépend de le scope ; vous pouvez contourner ce comportement en regroupant les fichiers ;
  • Vous pouvez aussi utiliser des identifiants pour distinguer vos imports ;
  • Pour rendre le travail plus facile, vous pouvez divisez vos fichiers en petits dossiers.

Ces bonnes pratiques sont expliquées plus en détail dans cet article.

Scopes

Chaque fichier d'import correspond à un type de données, à un scope. Tous les noms de scopes doivent être définis, en minuscules. Ils sont sensibles à la casse.

Vous trouverez ci-dessous un bref descriptif des scopes disponibles.

  • Contacts - individus, clients ou contacts dans votre base de données ;
  • Magasins - magasins et sites e-commerce ;
  • Produits - produits de votre catalogue ;
  • Paniers abandonnés - commandes qui n'ont jamais été finalisées ou payées sur votre site ;
  • Tickets (orders) - commandes créées par les clients ;
  • Lignes de tickets (order items) – tous les articles identifiés dans les commandes et les paniers abandonnés (par exemple, les articles individuels sur un ticket)

Suppression

Vous pouvez supprimer des contacts de la base de données à l'aide de la fonction d'imports automatique.
Si vous devez supprimer des contacts, veuillez consulter l’article spécifique.

Scopes Loyalty

Il existe des scopes supplémentaires pour importer des données destinées aux programmes de fidélité. Voici les scopes en question :

  • Cardcode - pour gérer l'adhésion à des programmes de fidélisation ;
  • Credit points - pour créditer des points aux membres du programme de fidélité ;
  • Rewards (master, earn et burn) – d’abord, il faut créer des récompenses (master), les attribuer aux membres (earn) et leur permettre d’utiliser récompenses (burn) ;
  • Events - pour associer des événements à des membres du programme

Format de fichiers

Le format « Comma-separated values » (CSV) est le format le plus couramment utilisé pour importer des fichiers. Les fichiers CSV sont des fichiers texte organisés en colonnes et lignes, comme dans un tableau. En fait, les colonnes sont séparées par des points-virgules (";"), et chaque ligne du fichier est une ligne. Le format CSV peut être édité aussi dans plusieurs éditeurs de texte qui peuvent être exportés vers une autre base de données.

Encodage UTF-8

Il faut que le fichier soit enregistré avec l'encodage UTF8. Grâce à cet encodage, tous les caractères de différentes langues peuvent coexister dans le même fichier, comme par exemple le français et le chinois.

💡 | Le "byte order marker" (BOM) est un caractère spécial placé au début du fichier. Veuillez ne pas l'utiliser.

En-tête

Généralement, la première ligne de ces fichiers est l'en-tête. Grâce à l’en-tête, nous pouvons savoir combien de colonnes il y a dans le fichier de données et ce que chaque colonne contient.

L'en-tête doit toujours indiquer les colonnes appropriées pour le scope concerné et doit inclure aussi les colonnes nécessaires. Si vous ne spécifiez pas le nom de la colonne ou si vous l'ignorez, le fichier ne sera pas importé.

Lignes d'un fichier

Toutes les lignes du fichier doivent contenir le même nombre de colonnes que l'en-tête, sinon les lignes seront sautées.

Chaque ligne du fichier de données est un élément unique dans le tableau. Les données multilignes ne sont pas prises en charge, sinon les lignes seront sautées de la même manière.

Il est possible de mettre entre guillemets les valeurs textuelles. Cependant, vous ne pouvez pas l'utiliser pour fournir des valeurs couvrant plusieurs lignes.

On utilise le point (".") comme séparateur décimal, pour écrire les nombres décimaux. N'utilisez pas de point comme séparateur. On utilise "-" pour indiquer les nombres négatifs et aucun signe pour les nombres positifs.

Exemple

Mike Cole a reçu un fichier de contacts à importer. Le fichier est petit, alors il décide de le vérifier. Il l'ouvre dans son éditeur de texte et regarde les deux premières lignes :

email;firstname;lastname;cellphone;subscriptions 
"[email protected]";"Jean";"Boulanger";"33120202020";"-5" 

On trouve 5 colonnes de contacts l'en-tête. Mike vérifie et valide toutes les colonnes.

Il passe à la deuxième ligne et il compte 5 colonnes. La première est une valeur texte, entre guillemets, et est une adresse e-mail correctement construite. Le second est également du texte entre guillemets, le troisième est du texte sans guillemets. Vient ensuite une valeur numérique, le numéro de téléphone, et enfin un nombre négatif, ce qui est normal pour une colonne d'abonnement.

Compression et archivage de fichiers

Pour plus de commodité, on peut compresser les fichiers CSV dans des archives pour réduire la taille et le nombre de fichiers téléchargés. Notre plateforme prend en charge les types d'archives suivants, par extension de nom de fichier : .zip, .tar, .gz, .bz2.

Cependant, tous les fichiers des archives doivent être organisés en groupes. Ceci est rendu possible en ajoutant un préfixe spécial au nom de fichier selon les règles de séquençage de fichiers décrites ci-dessous. De cette façon, notre plateforme peut traiter les fichiers dans l'archive dans un ordre clair et prédéfini.

Notez que le regroupement / séquençage fait partie des règles de dénomination. Les fichiers d'import archivés doivent toujours suivre toutes les règles de dénomination (ci-dessous), de format et d'encodage. D'un autre côté, il n'y a pas de règles spécifiques pour nommer les archives. Notre plateforme examine et décompresse les fichiers, après il traite le contenu des fichiers.

Règles de nommage des fichiers

Notre plateforme repose sur une convention de dénomination très spécifique pour choisir les fichiers à importer. Il faut suivre à la lettre la règle de nommage, sinon l'import ne démarre pas ou échoue à mi-chemin. Vous devez suivre les règles pour vous assurer que les fichiers sont traités correctement.

🚧

Si vous utilisez le même nom de fichier pour plusieurs imports, seul le dernier fichier sera conservé dans les archives. Cela signifie que le contenu des anciens fichiers sera perdu et ne pourra pas être retrouvé.

Nommage de base de fichiers

Tous les fichiers doivent être nommés selon le schéma suivant :

<universe>_<scope>_<subsection>_<date>.csv 

Les éléments entourés par <> doivent être remplacés par une valeur réelle et sont obligatoires.

Comme expliqué ci-dessous, il y a cinq éléments requis. Veuillez noter que le nom de fichier peut être étendu avec des informations supplémentaires au début (appelé un préfixe) et directement avant l'extension ".csv" (un suffixe). Les préfixes et suffixes sont facultatifs et sont abordés dans les sections ci-dessous.

  • c’est le nom de votre univers Splio. Tous les fichiers que vous souhaitez importer automatiquement doivent le comporter dans leur nom ;
  • est un des scopes décrits ci-dessus ;
  • est utilisé pour identifier un import spécifique ou des paramètres d'import, par exemple, le nom de la source pour choisir de mettre à jour les données existantes ou non. Le Project Manager configurera les adresses e-mail que vous receviez des alertes et des résultats.
  • est la date du fichier, utilisée pour déterminer l'ordre chronologique des imports dans chaque scope. La date doit suivre ce format : "aaaammjj", comme "20180315".
  • Par exemple, l’univers Splio "myuniverse" contient un fichier de sous-section « toystore » avec des contacts. Dans ce cas-ci, il sera nommé myuniverse_contacts_toystore_20180315.csv.

    N'oubliez pas que pour que les fichiers soient importés, toutes les paires de scopes et de noms doivent être définies dans le fichier de configuration.

    Ordre de traitement des fichiers

    Splio suit toujours le même ordre lors de l'import des fichiers, un scope à la fois, et passe au scope suivant seulement lorsque tous les imports dans le scope actuel sont terminés. Les fichiers sont repris du référentiel FTP/SFTP dans l'ordre suivant:

    Si vous n'utilisez pas Loyalty:

    1. Groupes de fichiers (voir ci-dessous)
    2. contacts
    3. magasins
    4. produits
    5. commandes
    6. paniers abandonnés
    7. lignes de ticket
    8. batch

    Si vous utilisez Loyalty, vous pouvez ajouter ensuite:

    1. cardcode
    2. earnreward
    3. burnreward
    4. creditpoints
    5. supprimer les contacts
    6. events
    7. changement de statut
    8. masterreward

    Les fichiers dans le même scope sont classés par les dates contenues dans les noms de fichiers, de la première à la dernière.

    Nommage avancé des fichiers: séquençage de fichiers avec des groupes

    Même si l'ordre d'import par défaut est assez clair, il peut parfois être insuffisant. Si vous devez fréquemment importer des fichiers dans une commande spécifique, par exemple, des contacts ou des magasins avant les données de vente (orders et orders items) qui dépendent de ces contacts. Si les tickets sont placés dans le dossier et sont importés avant l'import des contacts concernés, Splio sautera toutes les lignes faisant référence aux contacts qui n'ont pas encore été importés.

    Cela peut être évité en utilisant des groupes.

    Les groupes sont créés en ajoutant un préfixe spécial <groupid> .YY-ZZ au début du nom de fichier. Ce préfixe comprend :

    • un identifiant de groupe, ou <group_id>, suivi de
    • un point ".",
    • un numéro à 2 chiffres du fichier dans la séquence, représenté par YY,
    • un tiret "-",
    • un numéro à 2 chiffres du dernier fichier de la séquence, représenté par ZZ, et
    • un underscore "_".

    <group_id> est une chaîne de caractères qui est le nom du groupe. Les numéros YY et ZZ peuvent prendre des valeurs comprises entre 01 et 99. Les fichiers d'une séquence doivent recevoir les numéros suivants commençant par 01 et allant jusqu'à ZZ.

    📘

    La valeur ZZ indique à Splio le nombre de nombres. N'omettez aucun nombre dans une séquence.

    Noms de fichiers groupés avec des exemples

    Le nom de fichier complet peut être résumé comme suit :

    <group_id>.YY-ZZ_<universe>_<scope>_<subsection>_<date>.csv
    

    Comme vous pouvez le voir, la partie commençant par est le même nom de fichier de base que vous connaissez déjà. Jetez un œil aux exemples ci-dessous :

    daily.01-03_myuniverse_contacts_toystore_20180315.csv 
    daily.02-03_myuniverse_products_toystore_20180315.csv 
    daily.03-03_myuniverse_orders_toystore_20180315.csv 
    weekly.02-02_myuniverse_stores_toystore_20180315.csv 
    

    Il y a deux groupes : " daily" est complet, avec 3 fichiers, "weekly" est encore incomplet, en attente d'un fichier avec le préfixe weekly.01-02 _ à importer.

    Comment sont traités les groupes dans le séquençage de fichiers

    Notre plateforme essaie d'importer tous les groupes (fichiers séquencés) avant d'importer des fichiers individuels (non séquencés). On peut trouver ci-dessous l'ordre dans lequel ils sont importés.

    Les groupes sont analysés un par un, par ordre alphabétique selon leur group_id.

    Splio vérifie d'abord si le groupe est complet. Après, la plateforme vérifie aussi s'il y a au moins un fichier dans le groupe pour chaque numéro de 01 à ZZ. Si un ou plusieurs fichiers sont manquants, on passe au groupe suivant. Les fichiers formant le groupe incomplet ne sont ni supprimés ni traités, mais attendent le ou les fichiers restants à importer.

    Lorsque vous travaillez avec un groupe, Splio importe les fichiers un par un dans l'ordre dicté par le numéro dans le groupe (YY). Si plusieurs fichiers portant le même numéro sont trouvés ou vérifies, celui avec la la plus ancienne est importé en premier. Cela vous permet l'import automatique avec des fichiers livrés à différents intervalles de temps. Par exemple, on peut conserver le contrôle de l'ordre d'import même si l'un de vos collègues livre des fichiers trois fois par semaine, et un autre le fait quotidiennement.

    🚧

    N'oubliez pas qu'une fois l'import de groupe commencé, les fichiers du groupe sont traités séquentiellement. Si un fichier séquencé est rejeté (par exemple, une colonne obligatoire est manquante ou, inversement, il y a une colonne illégale), Splio abandonnera l'import du groupe et passera au suivant.

    Nommage avancé des fichiers: identifiant facultatif

    Si on télécharge plusieurs fichiers par jour, on doit également marquer certains fichiers : ajouter un commentaire, un identifiant ou peut-être juste un numéro. Avec une grande quantité de fichiers similaires, il est nécessaire de bien les distinguer en un coup d'œil et de les trouver plus rapidement.

    Pour ce faire, Splio propose l'identifiant facultatif sous la forme d'un suffixe ajouté aux noms des fichiers. Les suffixes sont toujours ajoutés à la fin (juste avant la partie .csv). Ce suffixe est composé d'un underscore () suivi de caractères alphanumériques (lettres et chiffres). Le nom de fichier qui l'inclut peut être résumé comme suit :

    <universe>_<scope>_<subsection>_<date>_<id>.csv 
    

    Tous les autres composants de ce nom de fichier sont expliqués ci-dessus dans la section de nommage de fichier de base. Les exemples ci-dessous montrent trois noms de fichiers. Notez comment le suffixe facultatif vous aide à les différencier.

    myuniverse_contacts_toystore_20180315_updates.csv 
    myuniverse_contacts_toystore_20180315_noon.csv 
    myuniverse_orders_toystore_20180228_daily.csv 
    

    L'identifiant facultatif n'est pas traité par Splio, c'est-à-dire qu'aucune action particulière ne sera effectuée en réponse à celui-ci. Cependant, Splio conservera cet identifiant intact lors du déplacement de fichiers vers d'autres répertoires. Il marquera également les fichiers journaux correspondants avec.

    Serveur SFTP / FTP

    Votre Project Manager vous fournira l'adresse de votre serveur FTP, un nom d'utilisateur et un mot de passe. Si vous ne savez pas comment configurer vous-même un client FTP, demandez à un spécialiste informatique de votre entreprise.

    🚧

    Si vous vous rendez compte que votre serveur est vide après vous êtes connecté, contactez votre Project Manager pour vous aider. Votre fonction d'import automatique peut nécessiter une activation.

    Structure du répertoire

    Le référentiel FTP contient une structure définie de répertoires utilisés par l'automatisation de l'import.

    À l'intérieur du référentiel, on trouve le répertoire "imports". Il contient tous les autres répertoires. Ce répertoire est l'emplacement où vous devez placer votre fichier de configuration ainsi que tous les fichiers que vous souhaitez importer.

    Une fois l'import terminé, le fichier d'import est supprimé du répertoire des imports et, selon le résultat de l'import, placé dans l'un des sous-dossiers. Si l'import a réussi, un rapport est envoyé aux adresses électroniques indiquées dans le fichier de configuration.

    • "archives" est l'emplacement par défaut des fichiers traités. Si votre import réussit, votre fichier d'import y sera déplacé ;
    • "badlines" est l'endroit où vont les fichiers contenant des lignes rejetées (par exemple, les lignes des fichiers de contacts sans e-mail ni téléphone portable, des fichiers de magasins sans store_id, etc.) ;
    • "bogus" est le répertoire où Splio déplace les fichiers qu'il considère comme incorrects. Si vous avez oublié d'inclure une colonne obligatoire ou inséré une colonne inexistante, c'est là que votre fichier CSV sera déplacé ;
    • "logs" est l'emplacement des fichiers texte contenant les données de surveillance concernant vos imports (ces fichiers sont appelés logs). Veuillez vous référer à la section d'enregistrement ci-dessous ;
    • « not processed" est l'endroit où Splio place les fichiers qu'il n'a pas traité

    Logs

    Lorsque vous effectuez l'import automatique, Splio prépare des fichiers de surveillance spéciaux (appelés logs) qui répertorient les erreurs et les événements qui se sont produits lors de l'import. Un fichier distinct est créé pour chaque fichier .csv dans le répertoire / imports / logs /.

    Le tableau ci-dessous répertorie les messages que vous pouvez trouver dans un fichier de log, avec une brève description de chaque message et des suggestions sur ce qui peut être fait pour améliorer la situation, le cas échéant. Les espaces entre crochets seront remplacés par des noms et des données réelles dans le log.

    RéponseDescription
    Ne peut pas trouver l’univers ""Le nom de fichier ou l'entrée dans le fichier de configuration fait référence à un univers Splio qui n'existe pas. L'univers doit être créé ou vous devez vérifier si vous utilisez un nom d'univers correct.
    Ne peut pas trouver l’import avec id L'import n'a pas encore été configuré.
    Ne peut pas trouver l’import avec id L'import n'a pas encore été configuré.
    Ne peut pas trouver un compte ftp avec id Splio ne parvient pas à récupérer les fichiers du référentiel FTP . L'import n'a pas été configuré correctement ou doit encore être configuré.
    Impossible d'ouvrir le répertoire de travail ""Le répertoire est manquant (par exemple, a été supprimé) ou il y a une erreur système.
    Impossible d'ouvrir le fichier "<workdir/filename>"Le fichier est manquant ou corrompu : essayez de valider le fichier d'import et téléchargez-le à nouveau. Ce message de log peut également indiquer une erreur système.
    JSON non valide dans "_imports_config.json"Si vous voyez cette erreur dans votre journal, veuillez la signaler à un agent Splio dès que possible.
    Aucune configuration disponible pour l’imports
    Apparemment, votre fichier de configuration ne contient pas de configuration pour ce scope. Si vous voyez cette erreur dans votre journal, veuillez la signaler à un agent Splio dès que possible
    impossible de trouver la configuration pour l’import ""Si vous voyez cette erreur dans votre journal, veuillez la signaler à un agent Splio dès que possible.
    Valeur de configuration obligatoire manquante ""Si vous voyez cette erreur dans votre journal, veuillez la signaler à un agent Splio dès que possible.
    Format incorrect pour la valeur de configuration "<$field>"Si vous voyez cette erreur dans votre journal, veuillez la signaler à un agent Splio dès que possible.
    impossible d'analyser l'en-tête du fichierCette erreur signifie généralement que l’encodage du fichier d'import est incorrect. Assurez-vous que votre fichier est encodé en UTF-8 et téléchargez-le à nouveau.
    (:) ne peut pas analyser la ligneIndique un problème avec la ligne spécifique du fichier. Vous devriez pouvoir ouvrir le fichier et vérifier la ligne indiquée.