FTP Operations

Intent Technologies met à disposition de ses clients une fonctionnalité de transmission de données de type Operations (intervention, devis, réserves) par l'intermédiaire d'un serveur FTP et de fichiers csv.

Intent Technologies viendra récupérer les fichiers csv, mis à disposition par le client sur son serveur, pour les traiter et les intégrer sur intentPlatform.

Serveur FTP

Le serveur FTP, FTPS ou SFTP doit être hébergé et maintenu par le client.
Un dossier à la racine du serveur, appelé "operations" contiendra les fichiers csv à traiter.

Le client transmet les accès à Intent Technologies avec notamment :
  • Hôte
  • Identifiant
  • Mot de passe
  • Port
  • Nom du dossier contenant les fichiers : operations
  • Séparateur : ,
  • Format de date (YYYY-MM-DDThh:mm:ss)

Fichier

Fichier csv, encodé en UTF-8, séparateur "virgule".
Nous recommandons d'envoyer plusieurs fichiers par jour plutôt que 1 fichier très volumineux.

Exemple de fichier


all_fields.csv
1KB, Uploaded 4 years ago

example.csv
2KB, Uploaded 4 years ago

Comment compléter le fichier ?

L'organisation

1 ligne correspond à une étape d'une opération, appelée log. Si votre opération contient 5 étapes, par exemple :
  • intervention demandée / réclamation
  • planification
  • début d'intervention
  • fin d'intervention
  • clôture de la réclamation
Pour transmettre son déroulé, vous compléterez 5 lignes.

Pour la lisibilité humaine à la lecture du fichier, nous recommandons de regrouper les lignes du fichier :
  • par enchainement de log d'un même objet
  • et par ordre chronologique

Le type

La 1ère colonne du fichier vous permet d'indiquer le type de l'objet, parmi les valeurs :
  • intervention
  • reservation (réserve)
  • quotation (devis)

Les champs

L'ensemble des champs sont disponibles dans le fichier "all_fileds.csv" et expliquer dans notre documentation en ligne, dans la rubrique  Operations .

Vous pouvez ajouter des champs supplémentaires, appelés "tag libre". Il suffit d'ajouter une colonne avec comme en-tête le nom du champ. (cf "freeTag1 dans le fichier "all_fields.csv")
Plusieurs champs du fichier sont au format texte (string). Pour garantir une bonne prise en compte de tous les caractères et notamment des virgules, les valeurs des champs texte sont encadrées par des double quote.

Reporting

Intent Technologies met à disposition de ses clients une API permettant de connaître en temps réel l'état de traitement de ses fichiers et d'accéder à l'intégralité de l'état des fichiers traités.

API jobs

Un fichier peut être dans les états suivants :
  • to do = le fichier a été récupéré mais n'a pas encore été traité.
  • pending = toutes les lignes ne sont pas encore traitées
  • done = toutes les lignes sont traitées et pas d'erreur.
  • error = toutes les lignes sont traitées mais il y a des lignes en erreurs

Si le fichier est en error, uniquement les lignes en erreur sont rejetées. Le reste est en bien importé.

Exemple d'un fichier terminé sans erreur :
{
"id": 90763,
"filename": "1610528400000_CLIENT_INTENT_EXPORT_13_01_2021_11_00_00.csv",
"status": "done",
"nLinesToProcess": 160,
"nProcessedLines": 160,
"creationDate": "2021-01-13T11:04:59+01:00",
"lastUpdateDate": "2021-01-13T11:10:04+01:00",
"_links": {},
"source": {
"id": "fxxxxxx4d-xxxx-4axx-xxxxxxx52f6a",
"protocol": "ftp",
"type": "data",
"label": "Synchronisation des données"
}
},

Exemple d'un fichier en erreur :
"jobs": [
{
"id": 85574,
"filename": "1609865400000_CLIETN_INTENT_EXPORT_05_01_2021_18_50_00.csv",
"status": "error",
"nLinesToProcess": 79,
"nProcessedLines": 79,
"creationDate": "2021-01-05T18:54:58+01:00",
"lastUpdateDate": "2021-01-05T19:00:03+01:00",
"_links": {},
"source": {
"id": "fxxxxxx4d-xxxx-4axx-xxxxxxx52f6a",
"protocol": "ftp",
"type": "data",
"label": "Synchronisation des données"
},
"errors": [
{
"code": "BODY-INVALID",
"message": "The stream 4830344_INDEX does not exist",
"line": 6
},
{
"code": "BODY-INVALID",
"message": "The stream 4830345_INDEX does not exist",
"line": 8
},