Als retailer wil je gebruikmaken van de diensten van DST, maar hoe werkt dat precies?
Fietswinkels kunnen DST-productgegevens eenvoudig ontvangen via hun kassasysteem. Vrijwel alle tweewieler POS-systemen werken samen met DST. Je ontvangt via je POS automatisch gegevens zonder dat je daar iets voor hoeft te doen; het invullen van je DST-gebruikersgegevens en soms alleen je unieke GLN is al voldoende.
Het is ook mogelijk om DST te koppelen aan andere systemen, zoals een webshop of een PIM-systeem. In dat geval koppel je met onze nieuwste 3.0 API: een technische interface waarmee programmeurs de koppeling kunnen realiseren.
Hoe werkt het?
Onderstaande stappen zijn in de meeste gevallen bedoeld voor jouw programmeur.
Haal eerst een token op.
Om een token op te vragen moet er een http POST van het type ”x-www-form-urlencoded” gedaan worden naar:
Productie: https://keycloak.platformdst.nl/auth/realms/DST/protocol/openid-connect/token
Vul de volgende parameters in:
- username = [je eigen gebruikersnaam]
- password = [je eigen wachtwoord]
- client_id = dst3-api
- grant_type = password
Een voorbeeld van een dergelijke aanroep in CURL:
curl –location –request POST ‘https://keycloak.platformdst.nl/auth/realms/DST-NonProd/protocol/openid-connect/token’ \
- header ‘Content-Type: application/x-www-form-urlencoded’ \
- data-urlencode ‘username=[replace with your username]’ \
- data-urlencode ‘password=[replace with your password]’ \
- data-urlencode ‘client_id=dst3-api’ \
- data-urlencode ‘grant_type=password’
In geval van een positief resultaat bevat de JSON een “access_token” die gebruikt moet worden om de DST 3.0 API aan te roepen. Vervolgens kan met dit token een aanroep gedaan worden naar de DST 3.0 API.
Swagger
De API 3.0 OpenAPI definitie documentie voor de test en productie omgeving zijn te vinden op:
Productie: https://dst3-api.platformdst.nl/api/docs/swagger-ui/index.htm
Er zijn verschillende OpenAPI definities beschikbaar, voor elke rol afzonderlijk. Deze zijn hieronder weergegeven en moeten in het “explore” veld worden ingevoerd om de juiste docs te tonen. Deze zijn alleen toegankelijk voor gebruikers met de juiste rol.
/api/docs/customer
Hoe krijg je producten?
Een voorbeeld van een aanroep om producten op te vragen in CURL is hieronder weergegeven. Eerst moet je een token ophalen zoals eerder beschreven daarna kan je de volgende call uitvoeren
curl –location –request GET ‘https://dst3-api.test.platformdst.nl/api/customer/product’ \–header ‘Authorization: Bearer [replace with the access token value from previous token request]’
Voorbeeld:
https://dst3-api.platformdst.nl/api/customer/product?language=en
Hier wordt de taal als Engels opgegeven.
De overige endpoints:
Om de endpoints te berijken moet je eerst de basis url voor de volgende aanroepen uitvoeren met in de header een geldige token zoals hierboven is voor gedaan.
/api/customer/product/count
Dit geeft als resultaat het getal van het aantal producten die jij mag zien en aan de ingevulde zoektermen voldoen. De zoek termen zijn:
- Language: de taal van het product
- supplierName: de code a supplier heeft bijvoorbeeld TREK
- countries: de landen vanuit het product je wilt zien. Een array van strings
- eanUpc: het ean upc nummer in het product
- itemNumber: het item number veld in het product
- statuses: de statussen waar het product in zit. Een array van strings
- productGroup: de artikelsubgroep tot waar het product toe behoord
- brand: het merk wat je vind in de general_productinformation
- keyword: het keyword veld wat in het product zit
- dateModified: de datum waarop het product als laatst in aangepast
- modifiedSince: de datum sinds het product als laatst in aangepast.
Alle inputvelden zijn niet case sensitive. Al deze zoek termen zijn ook mogelijk in het product endpoint van hierboven.
/api/customer/codelists
Hier krijg je de code en naam terug van alle codelijsten die in DST aanwezig zijn.
/api/customer/codelist/{codelistCode}
Met de meegestuurde codelistCode krijg je een array terug van de waardes die in die codelijst tabel zitten.
Aansluiten als POS-systeem en gebruikmaken van de multi user optie
De multicustomer endpoints:
/api/customer/product/clean
Deze werkt precies hetzelfde als het endpoint: /api/customer/product
Met twee kleine aanpassingen:
1: De codelijst waardes in de versie van de internationalCode blijven staan en niet per taal gekeken wordt welke vertaling ernaast gezet
2: er word niet gekeken naar de autorisatie omdat het hier gaan om een multicustomer
/api/customer/authorization/gln
Als je de GLN in vult van een customer krijg je de autorisatie terug op de volgende manier:
Een array van:
gln,
supplierCode,
supplierName,
profileCode,
profileName,
customerCode,
customerName
/api/customer/all
Hier hoeft geen informatie mee gegeven te worden. Je krijgt een array terug van alle customers.



