Nous allons prendre un exemple simple mais celui-ci est tout à fait déclinable pour toute règle et tout type d'attribut.
Admettons que votre modèle de données possède 3 attributs pour un type de document produit :
color
: la couleur de votre produit, possiblement enrichi via import depuis votre ERP ;marketing_label
: le nom marketing de votre produit, enrichi par les équipes au sein du PIM ;marketing_description
: la description marketing de votre produit. Cet attribut doit être rempli de la façon suivante :{marketing_label} - {color}
2 solutions lors de la définition des process métier s'offrent à vous :
L'utilisateur remplissant le libellé remplit aussi la description ;
Un script (ETL, Make.com, développement spécifique…) récupère la donnée après modification, crée la valeur définitive et repousse cette donnée dans le PIM
Nous allons nous pencher sur la seconde méthode.
Évidemment, nous n'aborderons pas la façon de mettre en place la tâche ETL ni comment gérer vos règles, mais uniquement les demi-flux "PIM > ETL" et "ETL > PIM".
Récupération des données par l'ETL
Trois méthodes sont possibles et ont chacune leurs avantages et inconvénients.
Notification Webhook & API
C'est la méthode la plus directe. Les notifications Webhook vous permettent de recevoir toutes les mises à jour sur les documents avec un détail sur les attributs modifiées, les locales utilisées au moment précis (à quelques secondes près, au maximum) où celles-ci sont effectuées.
Lors de la réception de ces notifications sur vos systèmes, vous pourrez donc :
Décider si la modification est intéressante. Dans notre cas, les seules notifications à prendre en compte sont celles déclarant une modification sur
color
oumarketing_label
Si c'est le cas, l'API devra être utilisée pour récupérer l'information en direct
- https://docs.quable.com/reference/get_documents-code (v4)
- https://yourpim.quable.com/api/ -> documents (v5)
Vous aurez a priori toutes les informations pour calculer la valeur de l'attribut calculé.
Si votre règle métier implique plus de donnée, libre à vous d'agrémenter votre tâche d'autres calls API.Il restera donc à pousser l'information vers le PIM via API
https://docs.quable.com/reference/2-import-documents#edit-documents
Ainsi, le calcul est quasi synchrone. Vous recevez la notification dès la modification faite et êtes donc sûr de renvoyer la valeur calculée dans les plus brefs délais.
Par contre, vous devez avoir sur votre SI un endpoint HTTPs capable de revoir ces notifications.
À noter :
Il est tout à fait possible de stocker les notifications reçues depuis le PIM dans une queue (quelle que soit la technologie). Cela permet de traiter les notifications en batch toutes les X minutes, par exemple.
Cela est même une pratique conseillée afin de s'assurer de ne pas perdre de notifications sortant du PIM en cas de down ou bug sur votre tâche.
API
Si l'utilisation des notifications n'est pas une bonne option ou que vous n'avez pas besoin d'être aussi précis en termes de temps, vous pouvez évidemment récupérer tous les documents modifiés depuis un certain laps de temps via API.
Une fois les données récupérées, votre job pourra calculer les valeurs et les pousser via API, voire en CSV
Push via API : https://docs.quable.com/reference/2-import-documents
Push via CSV.
Pour cela 2 méthodes possibles :vous déposez le fichier sur le (s)FTP et programmer des imports planifiés : https://docs.quable.com/docs/imports-planifi%C3%A9s
vous poussez le fichier CSV via API : https://docs.quable.com/reference/import
Export CSV
Si l'utilisation des notifications n'est pas une bonne option ou que vous n'avez pas besoin d'être aussi précis en termes de temps, vous pouvez bien sûr récupérer tous les documents modifiés depuis un certain laps de temps via CSV.
En effet, vous pouvez planifier directement dans le PIM un export de vos données CSV vers un (s)FTP : https://docs.quable.com/docs/exports-planifies
Cela permet à votre job de :
Traiter le ou les CSVs ;
Créer les valeurs calculées ;
Créer un fichier CSV afin de l'importer ;
Pousser ces fichiers sur le PIM. Pour cela 2 méthodes possibles :
vous déposez le fichier sur le (s)FTP et programmer des imports planifiés : https://docs.quable.com/docs/imports-planifi%C3%A9s
vous poussez le fichier CSV via API : https://docs.quable.com/reference/import
Mots-clés : attribut calculé, concaténation, valeur calculée, attribut concaténé