Api Documentation v1

Version 1 remains active until July 2022 but has less features. Click here for the latest API version.

 

=== version française en bas ===

Introductie

Desco voorziet integratie met haar website via een set van 4 calls.
Het betreft hier gewone REST calls over https
De partner is daardoor volledig vrij in zijn keuze van het te gebruiken platform/technologie waarin hij de connectiviteit wil implementeren.

Encryption of logon information

Doorheen dit document worden Gebruikersnamen, wachtwoorden en KlantenIds als plaintext getoond (om leesbaarheid te vergroten), maar in de echte calls dienen deze parameters elk op zich geëncrypteerd te worden. Hiervoor gebruiken we de open standaard AES. Daarenboven worden de geëncrypteerde waarden steeds doorgegeven in Base64 encoding.

Voor encryptie dient een partner de nodige codes aan te vragen bij Desco.
Ontwikkel je in .NET dan kan je op eenvoudig verzoek een DLL aanvragen die de implementatie van de encryptie vergemakkelijkt.

De calls zijn specifiek per partner.
Vervang overal het woord “yourpartnerid” met uw partner-alias dat Desco u toewees.

  • Elk antwoord mbt artikels bevat zowel een globale status alsook een artikelspecifieke status. vb <status code="1">onbekende gebruiker</status>
  • globale return statussen 
    • 0: als er geen foutmeldingen zijn
    • 1: onbekende gebruiker = als inloggegevens onjuist zijn
    • 2: geen artikelen in de winkelwagen = indien er geen artikelen teruggegeven kunnen worden vanwege een lege winkelwagen
    • 3: onbekende functie = indien de uit te voeren functie niet ondersteund wordt (momenteel wil dat dus zeggen indien de functie niet gelijk is aan GetBasket, ClearBasket of PVCheck)
    • 5: onbekende artikelnummers = zodra bij een PVCheck artikelen opgegeven zijn die niet op de DB voorkomen (maw indien er min 1 artikelspecifieke status = 3)
  • artikelspecifieke status 
    • 0 = als er geen foutmeldingen zijn
    • 3: artikelnummer onbekend = zodra bij een PVCheck het artikel niet voorkomt in het bestand

 

=== version française ===

Introduction

Desco assure l’intégration de son site internet via un ensemble de 4 appels.
Ces appels doivent tous être effectués via https.

Tout au long de ce document, les noms, les mots de passe et les identifiants des clients sont visibles afin
d’assurer une bonne lisibilité, mais lors des requêtes réelles, ces paramètres sont cryptés.
Nous utilisons AES pour cela. De plus, les valeurs chiffrées sont toujours encodées en Base64.

Pour le cryptage, un partenaire doit demander les codes nécessaires à desco.
Une DLL.net avec des fonctions d’aide est disponible sur demande.

Les appels sont spécifiques par partenaire. Recherchez le mot “PARTNER” dans ce document et
remplacez-le par l’alias de votre partenaire que desco vous a attribué.

  • Chaque réponse concernant les articles contient à la fois un statut global et un statut spécifique à un article.
    ex. <status code=”1”>utilisateur inconnu</status>utilisateur inconnu
  • statuts globaux
    • 0 = s’il n’y a pas de message d’erreur
    • 1 : utilisateur inconnu = si les données de connexion sont incorrectes
    • 2 : aucun article dans le panier = si aucun article ne peut être renvoyé en raison d’un panier vide
    • 3 : fonction inconnue = si la fonction à exécuter n’est pas prise en charge
      (actuellement, cela signifie que la fonction n’est pas égale à GetBasket, ClearBasket ou PVCheck)
    • 5 : numéros d’articles inconnus = dès que les articles spécifiés pour un PVCheck n’apparaissent pas dans la base de données
      (en d’autres termes, s’il existe au moins 1 statut spécifique à l’article = 3)
  • status spécifiques
    • 0 = s’il n’y a pas de message d’erreur
    • 3 : numéro d’article inconnu = dès que le PVCheck ne contient pas l’article dans le fichier

 

Returns a url that can be used in a browser. 
This url will bring the visitor to the Partner shoppingcart and will logon that user.
This url is only valid for 90sec.

https://www.desco.be/DesktopModules/Desco/API/v1/yourpartnerid/GetAutoLogonUrl

username
password
customerid
language: is optional; possible values: [FR, NL]. Defines the preferred language of user.
 

=== NL ===

https://www.desco.be/DesktopModules/Desco/API/v1/yourpartnerid/GetAutoLogonUrl?username=yourlogin@yourdomain.be&password=123fake!&customerid=77777

De queryparameter wordt hier in plaintext getoond om de leesbaarheid te vergroten. Maar in de echte call dienen deze parameters elk op zich geëncrypteerd (+Base64) én URL escaped te worden. 

Voorbeeld: https://www.desco.be/DesktopModules/Desco/API/v1/holoncom/GetAutoLogonUrl?username=oaftwghSl1VyH8Ztk9c26LLxIInlqth9UgV0OCOW73%2FlJmRWhB%2FHnOJKWWgjiZm7&password=4q7uJ6ND%2BnKW54mfWLQkGA%3D%3D&customerid=ZIrxEBB6o82ur5OZjp5XhQ%3D%3D

 

=== FR ===

https://www.desco.be/DesktopModules/Desco/API/Oci/yourpartnerid/GetAutoLogonUrl?username=testuser.APIpartner.test@desco.tst&password=@PItest&customerid=77777

Le paramètre de requête est affiché ici en texte brut pour améliorer la lisibilité. Mais dans les requêtes réelles, ces paramètres doivent tous être cryptés (+ Base64) et l’URL échappée.

exemple
https://www.desco.be/DesktopModules/Desco/API/Oci/holoncom/GetAutoLogonUrl?username=oaftwghSl1VyH8Ztk9c26LLxIInlqth9UgV0OCOW73%2FlJmRWhB%2FHnOJKWWgjiZm7&password=4q7uJ6ND%2BnKW54mfWLQk-
GA%3D%3D&customerid=ZIrxEBB6o82ur5OZjp5XhQ%3D%3D

https://www.desco.be/nl-be/desco-login?qpl=836b51d27d0743c480f032e0b0f04ab2ef03d0494082ec0bd8a0e9e3b5909be4e6d8a549bfd23059f666245ffa9e3fd6ab740d11585e5b295186145d395dff9cf5803c604ad51a13ad520ba5d0b67cfac995eaae15cd0cfe5954fd245e6db18af95a21778d57239a43d0322b8f460415b8cd868baacac9ecde5146ed83b40f99e2e06db2bf8e98a9831e36b16f7e97e73f2e68a0c25481dccd5683b8611544c96fc41a05abefc776833f24a52c38cf75

Returns the content of the Partner shoppingcart in xml format.

https://www.desco.be/DesktopModules/Desco/API/v1/yourpartnerid/GetBasket

none

<?xml version="1.0" encoding="UTF-8" ?>

<descoxml version="1.0">

  <request>   

    <customer>     

      <customernumber>77777</customernumber>     

      <userid>yourlogin@yourdomain.be</userid>     

      <password>123fake!</password>   

    </customer>  

    <function>GetBasket</function>

  </request>

</descoxml>

 

NL: De customer gegevens worden hier in plaintext getoond om de leesbaarheid te vergroten. Maar in de echte call dienen deze parameters elk op zich geëncrypteerd (+Base64)  te worden.

FR: Les données du client sont affichées ici en texte clair pour améliorer la lisibilité. Mais dans les requêtes réelles, ces paramètres doivent chacun être cryptés (+ Base64).

Voorbeeld met encryptie/ Exemple avec cryptage:

 

<?xml version="1.0" encoding="UTF-8" ?>

<descoxml version="1.0">

  <request>   

    <customer>     

      <customerNumber>ZIrxEBB6o82ur5OZjp5XhQ==</customerNumber>      <userid>oaftwghSl1VyH8Ztk9c26LLxIInlqth9UgV0OCOW73/lJmRWhB/HnOJKWWgjiZm7</userid>     

      <password>4q7uJ6ND+nKW54mfWLQkGA==</password>   

    </customer>   

    <function>GetBasket</function> 

  </request>

</descoxml>

Example empty basket:

<?xml version="1.0" encoding="UTF-8" ?>

<descoxml version="1.0">

    <response>

        <status code="2">

            geen artikelen in de winkelwagen

        </status>

    </response>

</descoxml>

 

Example filled basket with 2 product

 

<?xml version="1.0" encoding="UTF-8" ?>

<descoxml version="1.0">

    <response>

        <status code="0">

        </status>

            <item>

                <status code="0"></status>

                <bestelnummer>66100</bestelnummer>

                <omschrijvingnl>OPHANGSYSTEEM WC SANBLOC GEBERIT</omschrijvingnl>

                <omschrijvingfr>SYST.DE SUSP.WC SANBL.GEBERIT</omschrijvingfr>

                <aantal>1,000</aantal>

                <eenheid>ST</eenheid>

                <bruto>294,00</bruto>

                <netto>279,30</netto>

                <regeltotaal>279,3000</regeltotaal>

                <minimalebestelhoeveelheid>1</minimalebestelhoeveelheid>

                <artikelnummerfabrikant>440303005</artikelnummerfabrikant>

                <eancode></eancode>

                <recupel></recupel>

                <artikeldetailpaginanl>https://test.desco.be/nl-be/producten/info?qpid=66100</artikeldetailpaginanl>

                <artikeldetailpaginafr>https://test.desco.be/fr-be/produits/info?qpid=66100</artikeldetailpaginafr>

                <artikelafbeelding>https://test.desco.be/portals/0/files/OCA/160/OCA16092_M.jpg</artikelafbeelding>

                <technischefichenl></technischefichenl>

                <technischefichefr></technischefichefr>

                <deeplinknl></deeplinknl>

                <deeplinkfr></deeplinkfr>

                <artikeltype>STO</artikeltype>

            </item>

            <item>

                <status code="0"></status>

                <bestelnummer>134376</bestelnummer>

                <omschrijvingnl>TUB ACRYL NEWFORM 80-80-4 WIT</omschrijvingnl>

                <omschrijvingfr>TUB ACRYL NEWFORM 80-80-4 BLANC</omschrijvingfr>

                <aantal>1,000</aantal>

                <eenheid>ST</eenheid>

                <bruto>175,00</bruto>

                <netto>166,25</netto>

                <regeltotaal>166,25000</regeltotaal>

                <minimalebestelhoeveelheid>1</minimalebestelhoeveelheid>

                <artikelnummerfabrikant>K515101</artikelnummerfabrikant>

                <eancode></eancode>

                <recupel></recupel>

                <artikeldetailpaginanl>https://test.desco.be/nl-be/producten/info?qpid=134376</artikeldetailpaginanl>

                <artikeldetailpaginafr>https://test.desco.be/fr-be/produits/info?qpid=134376</artikeldetailpaginafr>

                <artikelafbeelding>https://test.desco.be/portals/0/files/OCA/195/OCA19548_M.jpg</artikelafbeelding>

                <artikeltype>STO</artikeltype>

            </item>

    </response>

</descoxml>

Returns an XML with pricing information about the products listed in the original request.

https://www.desco.be/DesktopModules/Desco/API/v1/yourpartnerid/ClearBasket

none

<?xml version="1.0" encoding="UTF-8" ?>

<descoxml version="1.0">

  <request>   

    <customer>     

      <customernumber>77777</customernumber>     

      <userID>yourlogin@yourdomain.be</userid>     

      <password>123fake!</password>   

    </customer>   

    <function>ClearBasket</function> 

  </request>

</descoxml>

 

NL: De customer gegevens worden hier in plaintext getoond om de leesbaarheid te vergroten. Maar in de echte call dienen deze parameters elk op zich geëncrypteerd (+Base64)  te worden.

FR: Les données du client sont affichées ici en texte clair pour améliorer la lisibilité. Mais dans les requêtes réelles, ces paramètres doivent chacun être cryptés (+ Base64).
 

Voorbeeld met encryptie / Exemple avec cryptage:

<?xml version="1.0" encoding="UTF-8" ?>

<descoxml version="1.0">

  <request>   

    <customer>     

      <customerNumber>ZIrxEBB6o82ur5OZjp5XhQ==</customerNumber>     

      <userid>oaftwghSl1VyH8Ztk9c26LLxIInlqth9UgV0OCOW73/lJmRWhB/HnOJKWWgjiZm7</userid>     

      <password>4q7uJ6ND+nKW54mfWLQkGA==</password>   

    </customer>   

    <function>ClearBasket</function> 

  </request>

</descoxml>

<?xml version="1.0" encoding="UTF-8" ?>

<descoxml version="1.0">

    <response>

        <status code="0">

        </status>

    </response>

</descoxml>

Returns an XML with pricing information about the products listed in the original request.

https://www.desco.be/DesktopModules/Desco/API/v1/yourpartnerid/PVcheck

none

<?xml version="1.0" encoding="UTF-8" ?>

<descoxml version="1.0">

  <request>   

    <customer>     

      <customernumber>77777</customernumber>     

      <userid>yourlogin@yourdomain.be</userid>     

      <password>123fake!</password>   

    </customer>  

    <function>PVCheck</function>   

    <item>

        <artcd>10001</artcd>

        <artcd>10002</artcd>

        <artcd>10101</artcd>

        <artcd>10102</artcd>

        <artcd>11086</artcd>

    </item>   

  </request>

</descoxml>

 

NL: De customer gegevens worden hier in plaintext getoond om de leesbaarheid te vergroten. Maar in de echte call dienen deze parameters elk op zich geëncrypteerd (+Base64)  te worden.

FR: Les données du client sont affichées ici en texte clair pour améliorer la lisibilité. Mais dans les requêtes réelles, ces paramètres doivent chacun être cryptés (+ Base64).

 

Voorbeeld met encryptie / Exemple avec cryptage:

 

<?xml version="1.0" encoding="UTF-8" ?>

<descoxml version="1.0">

  <request>   

    <customer>     

      <customerNumber>ZIrxEBB6o82ur5OZjp5XhQ==</customerNumber>

            <userid>oaftwghSl1VyH8Ztk9c26LLxIInlqth9UgV0OCOW73/lJmRWhB/HnOJKWWgjiZm7</userid>     

      <password>4q7uJ6ND+nKW54mfWLQkGA==</password>   

    </customer>   

    <function>PVCheck</function>

    <item>

        <artcd>10001</artcd>

        <artcd>10002</artcd>

        <artcd>10101</artcd>

        <artcd>10102</artcd>

        <artcd>11086</artcd>

    </item>

  </request>

</descoxml>

<?xml version="1.0" encoding="UTF-8" ?>

<descoxml version="1.0">

    <response>

        <status code="0">

        </status>

        <item>

            <status code="0">

            </status>

            <bestelnummer>10102</bestelnummer>

            <omschrijvingnl>RK ELLEBOOG 90&#176; MF 22MM</omschrijvingnl>

            <omschrijvingfr>CUIVRE A SOUDER COUDE 90&#176; MF 22MM</omschrijvingfr>

            <aantal>0</aantal>

            <eenheid>ST</eenheid>

            <bruto>2,10</bruto>

            <netto>1,60</netto>

            <regeltotaal>0</regeltotaal>

            <minimalebestelhoeveelheid>1</minimalebestelhoeveelheid>

            <artikelnummerfabrikant>092022</artikelnummerfabrikant>

            <eancode></eancode>

            <recupel></recupel>

            <artikeldetailpaginanl>http://desco.iis.holoncom.eu/nl-be/producten/info?qpid=10102</artikeldetailpaginanl>

            <artikeldetailpaginafr>http://desco.iis.holoncom.eu/fr-be/produits/info?qpid=10102</artikeldetailpaginafr>

            <artikelafbeelding>http://desco.iis.holoncom.eu/portals/0/files/OCA/000/OCA00015_M.jpg</artikelafbeelding>

            <technischefichenl></technischefichenl>

            <technischefichefr></technischefichefr>

            <deeplinknl></deeplinknl>

            <deeplinkfr></deeplinkfr>

            <artikeltype>STO</artikeltype>

        </item>

        <item>

            <status code="0">

            </status>

            <bestelnummer>11086</bestelnummer>

            <omschrijvingnl>GORDIJNHOUDER RECHT 200CM +BEVESTIGING</omschrijvingnl>

            <omschrijvingfr>PORTE-RIDEAU DROIT 200CM AVEC FIXATION</omschrijvingfr>

            <aantal>0</aantal>

            <eenheid>ST</eenheid>

            <bruto>31,30</bruto>

            <netto>23,79</netto>

            <regeltotaal>0</regeltotaal>

            <minimalebestelhoeveelheid>1</minimalebestelhoeveelheid>

            <artikelnummerfabrikant>11086</artikelnummerfabrikant>

            <eancode></eancode>

            <recupel></recupel>

            <artikeldetailpaginanl>http://desco.iis.holoncom.eu/nl-be/producten/info?qpid=11086</artikeldetailpaginanl>

            <artikeldetailpaginafr>http://desco.iis.holoncom.eu/fr-be/produits/info?qpid=11086</artikeldetailpaginafr>

            <artikelafbeelding>http://desco.iis.holoncom.eu/portals/0/files/OCA/126/OCA12686_M.jpg</artikelafbeelding>

            <technischefichenl>http://www.desco.be/Portal/TF/OTA12686.pdf</technischefichenl>

            <technischefichefr>http://www.desco.be/Portal/TF/OTA12686.pdf</technischefichefr>

            <deeplinknl></deeplinknl>

            <deeplinkfr></deeplinkfr>

            <artikeltype>STO</artikeltype>

        </item>

    </response>

</descoxml>

  • WantedDeliveryDate is required and must be in form yyyy-mm-dd
  • ShippingCondition is required and must be 10, 20 or 30
    • 10 = direct leveren
    • 20 = order op afroep
    • 30 = leveringsdatum is vermoedelijk
  • OrderReference has a maxlength of 32
  • Order must have at least one OrderItem.
  • Remark can be used for additional information or remarks for the Order processor.
  • ZipCode is required, Location is not.
    You may concatenate ZipCode and Location with a “ “ (space) into the ZipCode field.
  • CountryIsoCode must be BE, LU or NL
  • QuantityAsked must obey then minimal quantity requirement of a product. The minimal quantity requirement is from now on available in the PVCheck.
  • OnSiteContact: name & phone number of a contact on site. Must be in the format <naam> - <tel landcode><telefoonnummer> (eg "werfleider fase 1 - BE +32 3 456 78 90")