Historique d'achat - API

    Introduction

    Qu’est-ce que l’historique d’achat et comment puis-je l’utiliser?

    Pour commencer, il est nécessaire d’avoir une connaissance de base des listes de Symplify et de la gestion des contacts. Les lecteurs sont supposés avoir une certaine familiarité avec l’interface graphique de Symplify.

    Flux de travail général

    • Pour démarrer une importation, vous devez préparer un fichier. Le format des données de l’historique des achats est très strict. Il doit avoir ce format exact, sinon l’importation échouera. Le délimiteur doit être un point-virgule (;) et les colonnes doivent avoir l’ordre spécifié ci-dessous. Certaines colonnes sont obligatoires et d’autres sont facultatives. Si vous voulez inclure des champs facultatifs, tous les champs facultatifs avant votre champ dans l’ordre doivent être inclus. Les données peuvent être vides; vous pouvez donc simplement ajouter des points-virgules pour les champs optionnels intermédiaires que vous ne voulez pas ajouter. Les champs personnalisés peuvent être nommés pour l’utilisateur dans l’interface utilisateur de Symplify.

    NOTE!

    Le fichier ne doit pas contenir de ligne d’en-tête. La première ligne doit contenir des données.

    Colonne Fichier Champs Description
    0* Originalid Votre identifiant du contact auquel les données doivent être associées.
    1* Sku Stock Keeping Unit (Unité de gestion des stocks)
    2* itemPrice Prix d’une unité avec point (.) pour les décimales, soit 20,50.
    3** Transaction Time Heure au format ISO-8601 ; aaaaa-MMM-jjj HH:mm:ss:ss
    4** No of Items Nombre d’items
    5 Total price itemPrix*noDeItems
    6 Currency Devise
    7 Invoice Id ID facture du système client
    8 category Catégorie
    9 Item Name Nom de l’item
    10 Item Description
    11 Custom1
    12 Custom2
    13 Custom3
    14 Custom4
    15 Custom5
    16 Custom6
    17 Custom7
    18 Custom8
    19 Custom9
    20 Custom20

    *Champs obligatoires

    ** Non obligatoire, mais fortement recommandé.

    NOTE!

    Pour que les données dans les champs personnalisés soient analysées correctement, les dates doivent être formatées en ISO-8601 et les prix doivent être formatés en 00000000.00 (point décimal).

    • Une fois le fichier préparé, il est temps de faire la première demande à l’API. Vous aurez besoin de l’identifiant de la liste à laquelle vous voulez associer les données de l’historique des achats.

    Une fois cette information recueillie, il est temps de faire la demande. La réponse, si tout s’est bien passé, contiendra un identifiant unique qui sera utilisé plus tard.

    Pour démarrer l’importation, une demande POST avec des métadonnées décrivant l’importation est envoyée :

    POST <server>/rest/<customerId>/purchasehistory/<listid>/imports

    Exemple de corps de réponse
    {
    “id”: “bd48b5cc-b118-4062-8d06-09efa765592b”

    }

    • Après la demande initiale et le retour d’une pièce d’identité, il est temps de téléverser vos données. Utilisez l’identifiant obtenu dans la réponse à la première demande pour téléverser vos données.:POST <server>/rest/<customerId>/purchasehistory/<listid>/imports/<id>/data

    TYPE-DE-CONTENU: text/csv

    <données du fichier>

    Exemple de corps de réponse
    {
    “batchId”: “101111”

    }

    NOTE!

    Les données sont ajoutées seulement, donc si les mêmes données sont importées deux fois, la deuxième importation sera ajoutée, sans écraser l’importation précédente.

    • Lorsque le fichier a été téléversé avec succès, vous pouvez faire une requête à l’API pour suivre la progression des importations. Utilisez le batchId de la requête précédente. Vous pouvez continuer à interroger la méthode jusqu’à ce que vous receviez une réponse avec le statut “FINISHED”.  N’effectuez pas trop souvent des requêtes, car cela mettra inutilement le système à rude épreuve. Une requête toutes les 30 secondes ou toutes les minutes est normalement suffisante.

    GET <server>/rest/<customerId>/batches/<batchId>

    Corps de réponse

    {

    “id”: 101111,

    “type”: “IMPORT”,

    “customerId”: 0,

    “startTime”: 1394636797030,

    “endTime”: 1394636799710,

    “affected”: 500,

    “processed”: 500,

    “total”: 501,

    “status”: ” PENDING|IN_PROGRESS|FINISHED”

    }