Interpréter, corriger et rattraper les données rejetées lors des imports quotidiens

Lors des traitements quotidiens et des imports manuels de données, les fichiers traités sont renommmés avec l’ajout d’une extension ’.ok’ suivi de la date et de l’heure du traitement du fichier par votre projet Probance. Chacun de ces fichiers génère également plusieurs fichiers de rejets, dans lequel sont injectées les lignes n’ayant pas pu être importées dans la base de données.

Note : Si un fichier n’est pas renommé sur le sftp à l’issue des traitements quotidiens, c’est qu’il n’a pas été traité.

Les flux événements génèrent 5 fichiers de rejets, et les flux de profil et catalogue en génèrent 4. Un fichier additionnel est généré pour les flux envoyés avec l’API temps réel.

Vous pouvez retrouver ces rejets sur le sftp de votre compte principal dans le répertoire upload/rejects. Ils y sont conservés pendant 7 jours.

Ce répertoire sur votre compte principal contient également les fichiers de rejets des flux de vos partenaires éventuels, même s’ils disposent de répertoire de dépôt individuels par souci de confidentialité. Vos partenaires n’ont pas accès aux fichiers de rejets des flux qu’ils génèrent.

La consultation de ces fichiers vous permettra:

  • de comprendre la nature du rejet
  • de prévoir un rattrapage des données nécessaires après correction grâce a une convention de nommage Probance

1. Les différents types de rejet

loadingreject

On retourne toutes les lignes qui ne respectent pas le format du fichier défini dans les spécifications du flux (délimiteur, nombre de colonnes, caractère de fin de ligne, encapsulation…)

checkschemareject

On retourne toutes les lignes dont une valeur obligatoire est manquante, ou la longueur d’une chaîne de caractère excède celle définie dans les spécifications du flux.

convertreject

On rejette toutes les lignes dont le type ne correspond pas à ce qui est défini dans les spécifications du flux (entier, pattern de date, chiffre avec virgule …)

filterrowreject

Si dans cockpit vous avez défini des filtres sur vos champs, on rejette toutes les lignes dont une colonne ne respecte pas son filtre.

lookupreject

Ce type de rejets concerne les flux d’évènements. En effet on retrouve dans ces rejets toutes les lignes correspondant à des évènements dont le client (identifiant client) est inconnu dans la table client.

Les rejets de type lookup peuvent donc avoir 2 explications :

  • soit la ligne de cet id_user n’a pas jamais été envoyée dans le flux de profil
  • soit la ligne de cet id_user a bien été envoyée dans le flux de profil mais a été rejetée lors de l’import.

Jsonreject

 Ce type de rejet indique la nature des erreurs d’importation rencontrées lors du traitement des lignes reçues via des appels JSON.

2. Rattraper les données manquées ou rejetées

PHM permet nativement de concaténer vos fichiers CSV grâce à une extension à ajouter dans le nom de vos fichiers.

Par exemple, pour le fichier clients_prospects_JJMMAAAA.csv, vous pouvez déposer les fichiers suivants :

  • clients_prospects_JJMMAAAA.csv
  • clients_prospects_JJMMAAAA‐00.csv
  • clients_prospects_JJMMAAAA‐01.csv
  • clients_prospects_JJMMAAAA‐02.csv
  • … Jusqu’à clients_prospects_JJMMAAAA‐99.csv

L’ordre de traitement de ces fichiers sera alors de ‐00 à ‐99, terminant par le fichier du jour, sans extension.

Ainsi, si une ligne est présente plusieurs fois dans plusieurs de ces fichiers de rattrapage (pour des données de profil et non d’événement), c’est la valeur contenue dans la ligne du dernier fichier qui sera conservées lors de l’import des données.

Les informations relatives au nommage attendu des fichiers de chaque flux sont consultables depuis votre interface ProbanceOne (administration / technique)