Import de commandes (API)

De Wiki1000

Cet exemple montre comment importer des commandes en utilisant l'API SData.

Pour réaliser l'import de commande, on utilise le processus d'import de contrat commercial basé sur des sessions d'import.

Pour cela il faut :

  1. Créer une session d'import (tsessionimportcontrat)
  2. Créer les contrats d'import (TImportContratCommercial) et leurs détails (TImportCCDetail) rattachées à cette session
  3. Exécuter le processus d'exécution d'import de contrat (TProcessusImportContrat)

L'ensemble des opérations est réalisé dans une requête $batch

POST http://localhost:8080/sdata/S1/$batch
{
    "$":{"$transaction":["atomic"]}
    "$resources": [
        {
            "$httpMethod":"POST",
            "$url":"gcimport/tsessionimportcontrat",
            "$uuid":"session",
            "Caption":"Session import commande par API - 1",
        },
        {
            "$httpMethod":"POST",
            "$url": "gcimport/TImportContratCommercial",
            "SessionImportation": {"$uuid":"session"},
            "dateCommande": "2020-11-29T23:00:00.000Z",
            "roleTiers": "C-ABI 007",
            "etablissement":"ETS1-S01",
            "ImportCCDetailList": [
                {
                    "prixUnitaireBrut": {
                        "value": 259.99,
                        "CodeDevise": "EUR"
                    },
                    "produitCommercial": "EN-CAISSON",
                    "quantiteNegocie": {
                        "value": 2,
                        "Decimales": 0,
                        "CodeUnit": ""
                    },
                    "depot":"DEP1-S01",
                }
            ],
        },
        {
            "$": {"$transaction":["commit"]},
            "$httpMethod":"EXEC",
            "$url":"gcimport/TProcessusImportContrat/Executer",
            "$uuid":"processus",
            "$resource" : {
                "SessionImportation": {"$uuid":"session"},
                "ParametreImportContrat":{"$where":"Caption eq 'import commande 2'"},
                "importVente":true,
            }
        },      
    ]
}
{
    "$baseUrl": "http://localhost:8080/sdata/l1000/-/-/",
    "$title": "$batch - -",
    "$resources": [
        {
            "$httpStatus": 201,
            "$httpMethod": "POST",
            "$httpMessage": "Created",
            "$etag": "1B28EFFFF1C3000204180000024B001A-000001D40000001C",
            "$location": "http://localhost:8080/sdata/l1000/gcimport/-/TSessionImportContrat('1B28EFFFF1C3000204180000024B001A')",
            "$milliseconds": "0,9852"
        },
        {
            "$httpStatus": 201,
            "$httpMethod": "POST",
            "$httpMessage": "Created",
            "$etag": "1B28EFFFF1C3000202FC0000024B001B-000001D40000001D",
            "$location": "http://localhost:8080/sdata/l1000/gcimport/-/TImportContratCommercial('1B28EFFFF1C3000202FC0000024B001B')",
            "$milliseconds": "3,2578"
        },
        {
            "$httpStatus": 200,
            "$httpMethod": "EXEC",
            "$httpMessage": "Executed",
            "$url": "gcimport/TProcessusImportContrat/Executer",
            "$uuid": "processus",
            "result": 0,
            "$milliseconds": "973,0181",
            "$messages": [
                "Import de la commande vente CC ETS000124 ,Tiers: C-ABI 007",
                "",
                "Import de 1 commande(s)  "
            ]
        }
    ],
    "$batch": {
        "$httpStatus": 200,
        "$httpMessage": "OK",
        "$milliseconds": "977,6042"
    }
}
Outils personnels