Passer au contenu principal
Toutes les collectionsImport et Export de donnéesAutomatisation
Quelles sont les différentes possibilités d'import récurrent ?
Quelles sont les différentes possibilités d'import récurrent ?

Cet article vous permettra d'appréhender les fonctionnalités du PIM en terme d'import de données de façon récurrente

Sylvain Gourvil avatar
Écrit par Sylvain Gourvil
Mis à jour il y a plus d'un an

Dans un monde où la gestion des données produit est essentielle pour assurer la cohérence et la qualité des informations sur l'ensemble des canaux de distribution, il est crucial d'intégrer efficacement les données provenant de sources externes dans votre PIM.

Afin de faciliter cette intégration, nous vous proposons plusieurs méthodes d'importation des données, adaptées à diverses situations et besoins spécifiques.

Dans cette FAQ, nous aborderons quatre principales options d'importation :

  • Import complet par API ;

  • Import planifié de fichiers CSV/XLS avec accès aux fichiers via HTTP ou SFTP ;

  • Import déclenché par API de fichiers CSV/XLS avec accès aux fichiers via HTTP ou SFTP ;

  • Import déclenché par API CSV avec renseignement du fichier lors de la demande.

Chacune de ces méthodes présente des avantages et des inconvénients, et nous vous fournirons des informations détaillées pour vous aider à choisir l'option la mieux adaptée à vos besoins.

Import complet par API

Si vous souhaitez importer vos données uniquement via API, un cookbook est disponible et vous indique les différentes étapes.


Import planifié de fichiers CSV/XLSX avec accès aux fichiers via HTTP ou SFTP

Inversement, vous pouvez importer l'intégralité de votre donnée produit (ou média) dans le PIM/DAM sous format fichier (CSV/XLSX) directement depuis le PIM.

Pour cela, vous aurez besoin de créer des profils d'imports puis de planifier l'import récurrent de ce profil.

Cette méthode a pour avantage de ne pas vous demander de gérer de code ni l'orchestration puisque le PIM récupère vos fichiers au bon moment, intègre vos données et génère un rapport.

De plus, vous pouvez retrouver tous les fichiers importés et les rapports dans le journal d'activités.

Il y a toutefois une contrainte. Afin de pouvoir récupérer votre fichier, notre moteur d'import doit avoir accès au fichier via un lien HTTPS ou (s)FTP. Vous devez donc être en capacité de proposer ces accès au sein du profil d'import.

Les liens HTTPS doivent être publiques.

Le serveur (s)FTP doit être accessible sans contrainte via un utilisateur et un mot de passe.


Import déclenché par API d'un fichier CSV/XLS accessibles via HTTP ou (s)FTP

Dans le cas où l'import via des fichiers par HTTPS ou (s)FTP vous intéresse, mais que vous souhaitez ne pas utiliser la planification du PIM Quable, il est tout à fait possible de déclencher l'import à la demande.

Pour cela, vous devez créer un profil pour votre import et ensuite, vous utilisez l'API Quable afin de déclencher l'import.

Voici un exemple en python.

import requests
import json

url = "https://_MYPIM_.quable.com/api/imports"
payload = json.dumps({
"importProfileId": "xxx-xxx-xxxx-xxxx-xxx-xxx",
"remotePath": "sftp://_DOMAIN_.com:__PORT_/_PATH_/_FILENAME_.csv"
})
headers = {
'Content-Type': 'application/hal+json',
'Authorization': 'Bearer _MYAPITOKEN_'
}
response = requests.request("POST", url, headers=headers, data=payload)

Vous pouvez obtenir la valeur de l'attribut "importProfileId" en appelant l'API api/import-profiles

Elle se trouve dans l'attribut JSON "id" de chaque profil de la liste retournée.

Dans le cas où vous souhaiteriez demander l'import via un fichier en HTTPS, il vous suffit de modifier la clé remotePath.

Vous pouvez utiliser le FULL ACCESS TOKEN disponible sur votre instance.


Import déclenché par API d'un fichier CSV/XLS accessible localement

Si vous ne souhaitez pas ou ne pouvez pas utiliser d'un accès via HTTP ou (s)FTP à votre fichier, il est tout à fait envisageable de créer un profil d'import et de lancer l'import à la demande tout en poussant votre fichier.

Ce dernier devra être disponible localement.

Vous allez devoir :

  • Pousser votre fichier sur le PIM via l'API /api/files

  • Utiliser l'id renvoyé dans la réponse pour lancer l'import via l'API /api/import

Voici un exemple en python.

import requests
import json

urlFile = "https://_MYPIM_.quable.com/api/files"
urlImport = "https://_MYPIM_.quable.com/api/imports"
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer _MYAPITOKEN_'
}

# Push the local file
payload = {'fileType': 'import'}
files=[
(
'file',
('__FILENAME___',open('__PATH_TO_LOCAL_FILE__','rb'),'text/csv')
)
]
responseFile = requests.request("POST", urlFile, headers=headers, data=payload, files=files, timeout=30)
# Retrieve the file ID that will be used when starting the import
fileId = responseFile['id']

# equivalent with CURL
# curl --location urlFile \
# --header 'Authorization: Bearer _MYAPITOKEN_' \
# --form 'file=@"__PATH_TO_LOCAL_FILE__"' \
# --form 'fileType="import"'

# Start the import
payloadImport = json.dumps({
"importProfileId": "__IMPORT-PROFILE-ID__",
"fileId": fileId
})
responseImport = requests.request("POST", urlImport, headers=headers, data=payloadImport, timeout=30)

Vous pouvez utiliser le FULL ACCESS TOKEN disponible sur votre instance.

Avez-vous trouvé la réponse à votre question ?