Dit document beschrijft het inrichten en het gebruik van de webshopkoppeling voor de CASH-gebruiker en voor de webshopbouwer.
Eerst wordt beschreven hoe een CASH administratie ingericht moet worden voor de webshopkoppeling, vervolgens wordt beschreven hoe er in CASH artikelen en relaties klaargezet worden voor de export naar de webshop. Daarna staat er uitgelegd hoe je met CASHWin een koppeling kan maken naar de webshop.
In het laatste deel staat uitgelegd hoe er vanuit een webshop gegevens geïmporteerd en geëxporteerd kunnen worden in een CASH administratie.
Het inrichten van de administratie
Het inrichten van de administratie bestaat uit een aantal stappen, deze stappen moeten eenmalig doorlopen worden. Zodra de koppeling met de webshop ingericht is, zal CASH er automatisch voor zorgen dat de gegevens uitgewisseld worden met de webshop.
De logistieke administratie geschikt maken voor de webshop
De eerste stap is om aan te geven dat de betreffende administratie gekoppeld wordt met een webshop, ga hiervoor naar: Handel > Instellingen > Systeemswitches > F3 – Verk-I en vink rubriek ‘Webshoplink’ aan.
Door het activeren van deze rubriek worden voor CASH API twee extra aanvragen geactiveerd:
- 8502 - opvragen recent gemuteerde Klanten
- 8503 - opvragen van recent gemuteerde Artikel
Met deze aanvragen kunnen vanuit de webshop alle stamgegevens van klanten en artikelen opgevraagd worden die sinds de laatste synchronisatie zijn gemuteerd. Hierdoor hoeven niet steeds alle relaties en artikelen uitgelezen te worden.
Daarnaast verandert ook aanvraag 2260 (stamgegevens handelsartikelen) van gedrag: in plaats dat de stamgegevens van alle handelsartikelen wordt opgevraagd zal deze aanvraag hierna alleen nog stamgegevens van artikelen gekoppeld aan de webshop ophalen.
Artikelgroepen instellen voor synchronisatie
De tweede stap is dat per artikelgroep aangegeven moet worden of deze groep, en de bijbehorende artikelen, beschikbaar moeten zijn voor de webshopkoppeling. Ga hiervoor naar: Handel > Tabellen > Artikelen > Artikelgroep. Selecteer de betreffende artikelgroep en stel rubriek ‘Synchroniseren web’ in op: Gekoppeld, herhaal dit voor elke artikelgroep die voor de webshop beschikbaar moet zijn.
Artikelen instellen voor de webshop
In de derde stap kan er per handelsartikel de webshopkoppeling verder ingesteld en aangepast worden. Ga hiervoor naar Handel > Stamgegevens > Artikel, selecteer het gewenste artikel en ga naar F7 Menu > Webshopkoppeling.
In het getoonde formulier zijn de volgende rubrieken van belang:
- Winkel: Hier kan een afdrukselectie ingesteld worden, deze functionaliteit is afhankelijk van de mogelijkheden van de webshop
- Geblokkeerd: Hiermee kan aangegeven worden of het artikel in CASH geblokkeerd is voor de verkoop. Voor een geblokkeerd artikel kunnen geen nieuwe verkooporderregels aangemaakt worden.
Let op: Een geblokkeerd artikel kan via de CASH API wel worden opgevraagd door de webshop - Zichtbaarheid: De zichtbaarheid van het artikel in de webshop, deze functionaliteit is afhankelijk van de mogelijkheden van de webshop
- Prijs weergave: De weergave van de prijzen in de webshopkoppeling, deze functionaliteit is afhankelijk van de mogelijkheden van de webshop
- Omschrijving kort: Een omschrijving van maximaal 4000 tekens ten behoeve van de webshopkoppeling, deze functionaliteit is afhankelijk van de mogelijkheden van de webshop
- F3 Webtekst: Een extra omschrijving van maximaal 4000 tekens ten behoeve van de webshopkoppeling, deze functionaliteit is afhankelijk van de mogelijkheden van de webshop
Afbeeldingen bij de artikelen
In de Systeemvariabelen kan in rubriek ‘Fotomap’ de map worden opgegeven waar de afbeeldingen van de artikelen zijn opgeslagen.
Dit betreft .jpg-bestanden waarbij de bestandsnaam gelijk is aan de artikelcodes: artikelcode.jpg
Bij aanvraag 2260 staat in tag <Zjpg> de naam van de afbeelding:
<Zjpg>HD500GB.jpg</Zjpg>
In tag <Z4245> staat de jpg, dit is BASE64 gecodeerd:
<Z4245>Base64</Z4245>
Categorieën
- De artikelgroep (aanvraag 2208) binnen Cash fungeert als Hoofdcategorie voor de webshop
- De Subcategorie webshop (aanvraag 2617) fungeert als Subcategorie voor de webshop
- De artikelen (aanvraag 2260) zijn voorzien van een artikelgroep (veld 2208) en een subcategorie (veld 2618)
Artikelattributen
CASH biedt de mogelijkheid om artikelen van een collectie met variabele varianten in (bijvoorbeeld) kleur en maat snel in te voeren: zogenaamde attributen. Hierbij worden op basis van een (zogenaamd) masterartikel de verschillende varianten gegenereerd, elk attribuutartikel neemt de stamgegevens van het masterartikel over.
Om deze functionaliteit te gebruiken stelt u eerst de attribuut-parameters in:
- Ga naar Handel > Instellingen > Systeemvariabelen > F4 Veld V+I > F3 Stamgeg
- In dit formulier staan drie rubrieken met betrekking tot attributen:
- Attribuut lengte: Deze rubriek bestaat uit 3 posities:
- pos. 1: Het aantal tekens voor de productcode (6)
- pos. 2 en 3: Het aantal tekens voor attribuut1 (4) en attribuut2 (2)
- Attribuut 1 en Attribuut 2: De omschrijving voor attribuut 1 en attribuut 2
Op basis van deze instellingen kan CASH nieuwe artikelcodes genereren die samengesteld worden op basis van de productcode van het masterartikel, de omschrijving van attribuut 1 en de omschrijving van attribuut 2 gescheiden door een minteken (-):
- Artikelcode masterartikel: VULPEN
- Artikelcodes attribuutartikelen: VULPEN-AURO-AR, VULPEN-DELT-MB, enzovoort …
CASH stelt standaard als attribuut lengte ‘642’ voor, maar je kan hier naar eigen inzicht van afwijken. Het totaal van de getallen van de attribuutlengte (6 + 4 +2) mag niet groter zijn dan 12.
Als omschrijvingen voor de attributen worden standaard ‘Kleur’ en ‘Maat’ voorgesteld, je kunt deze omschrijvingen naar eigen inzicht aanpassen.
Masterartikel
Om attribuutartikelen aan te maken maak je eerst een masterartikel aan, CASH gebruikt de stamgegevens van dit masterartikel om attribuutartikelen aan te maken. Het is van belang dat de stamgegevens van het masterartikel zo volledig mogelijk worden ingevuld; dit voorkomt dat naderhand de attribuutartikelen gecorrigeerd of aangevuld moeten worden. Denk hierbij aan zaken als: artikelgroep, leverancier, webshoptekst, verkoop- en inkoopprijzen, et cetera. Een masterartikel maak je aan als een regulier handelsartikel.
Geadviseerd wordt om voor het masterartikel een nieuwe artikelcode aan te maken. Het masterartikel wordt automatisch geblokkeerd voor het aanmaken van nieuwe orderregels bij het genereren van de attribuutartikelen.
De artikelcode van het masterartikel moet de lengte hebben zoals opgegeven in de attribuutlengte (6).
Attribuutartikelen
Vanuit het masterartikel worden de attributen aangemaakt door naar F7 Menu > Attributen te gaan, via dit formulier kan je de basisgegevens van de attributen onderhouden.
In dit voorbeeld zijn het model en de kleur van de attributen samengesteld:
Als je de attributen hebt opgegeven en het venster ‘Attributen’ sluit, genereert CASH op basis hiervan nieuwe attribuutartikelen met de stamgegevens van het masterartikel:
Overzicht van artikelen met de zoeknaam: VULPEN
De artikelcodes van de attribuutartikelen zijn opgemaakt conform de attribuutlengte (642).
Klanten instellen voor de webshop
Klanten die door een webshop via de CASH API in CASH worden ingelezen, staan standaard correct ingesteld als webshop klant. Klanten die al in de CASH administratie aanwezig zijn kunnen via de functie ‘Selectie exportaanvraag relaties’ gekoppeld worden aan de webshop.
CASH zal voor klanten die gekoppeld zijn aan de webshop de stamgegevens registreren in record 8502 (Relatie webshop koppeling) wanneer bepaalde velden worden gemuteerd.
Het e-mailadres van de klant
De webshop kan orders en klanten via de CASH API 3.0 aanleveren, de klant wordt niet apart maar direct via de verkooporder (record 2400) aangeleverd. CASH zal op basis van het e-mailadres bepalen welke relatie het is of, als het e-mailadres onbekend is, een nieuwe relatie (webshop klant) aanmaken.
Omdat dit op basis van het e-mailadres gebeurt, is het van belang dat de e-mailadressen in CASH niet dubbel voorkomen bij relaties. Via het overzicht ‘Exportaanvragen Relatie/Artikel’ zoals staat beschreven op pagina 11 kan er gecontroleerd worden op dubbele e-mailadressen:
Selectie exportaanvraag relaties
Indien er voor de eerste keer een koppeling wordt gelegd met een webshop biedt CASH de mogelijkheid om relatiegegevens te synchroniseren via een exportaanvraag. Deze export hoeft slechts eenmalig uitgevoerd te worden, hierna zal CASH automatisch alleen de stamgegevens van relaties gekoppeld aan de webshop registreren in record 8502.
- Via Handel > Diversen > Export van gegevens > Selectie exportaanvraag relaties kan je een selectie van relaties klaarzetten die naar de webshop overgezet moeten worden, de zogenaamde exportaanvraag
- Als je wilt zien wat er klaar staat in de exportaanvraag gaat u naar: Handel > Diversen > Export van gegevens > Exportaanvragen Relatie/Artikel. Via dit overzicht kan je opvragen welke relaties (en artikelen) er klaar staan voor de export
- Ook biedt dit overzicht de mogelijkheid om alle gemuteerde relaties en/of artikelen uit de exportaanvraag te verwijderen. Let er wel op dat dit definitief is, na het verwijderen van de mutaties moet de exportaanvraag opnieuw uitgevoerd worden:
- Als je specifieke relaties wilt verwijderen uit, of toevoegen aan, een exportaanvraag kan je dit doen via Handel > Diversen > Export van gegevens > Muteer exportaanvraag relaties
Exportaanvraag artikelen
Voor artikelen is er geen aparte functie voor de exportaanvraag. Door de administratie in te richten zoals staat beschreven in dit document kunnen via aanvraag 2260 de stamgegevens van de aan de webshop gekoppelde artikelen opgehaald worden. Aanvraag 2260 is alleen nodig om de eerste keer de webshop te vullen met de artikelgegevens, hierna wordt aanvraag 8503 gebruikt om de laatst gemuteerde artikelen op te halen
- CASH zal van artikelen die gekoppeld zijn aan de webshop bij mutaties de stamgegevens registreren in record 8503 (Artikel webshop koppeling). De webshop kan deze artikelmutaties via aanvraag 8503 uitlezen
- Voor de volledigheid: indien de administratie staat ingericht zoals beschreven in dit document, zullen artikelen die niet aan de webshop gekoppeld zijn in geen geval worden aangeboden aan de webshop
- Via Handel > Diversen > Export van gegevens > Exportaanvragen Relatie/Artikel kunt u opvragen welke artikelen (en relaties) er klaar staan in de exportportaanvraag, vraag hiervoor dit overzicht op zonder een peildatum op te geven:
De exportaanvraag wordt aangemaakt bij specifieke mutaties
Niet voor elke mutatie van een relatie of artikel wordt er automatisch een exportaanvraag aangemaakt, dit gebeurt alleen bij de mutatie van deze velden:
0101 Relaties (8502)
0101 Relatienr
0102 Zoeknaam
0103 Naam
0104 Tav
0105 Adres
0107 Pc + plaats
0108 Telefoonnr
0110 Bank/IBAN
0120 E-mailadres
0123 Postadres
0124 Pc + plaats
0130 Code land
2200 Prijslijstcode
2260 Artikel (8503)
2260 Artikelcode 2392 Webtekst uitgebreid
2001 Omschrijving 2273 Technische voorraad
2208 Artikelgroep 2293 Vrije voorraad
2202 Artikelgroep 2 2336 Productcode
2263 Bestelcode 2337 Attribuut 1
2348 EAN-code 2338 Attribuut 2
2267 Verkoopprijs 4245 Foto (.jpg) (BASE64 gecodeerd)
2242 Afdrukselectie 2286 Detail verkoopprijs
2280 Geblokkeerd
2528 Zichtbaarheid
3529 Zichtbaarheid webshop
2529 Prijs weergave
1975 Webtekst kort
De koppeling tussen een webshop en een offline administratie
Wanneer een administratie online staat kan er direct een koppeling gelegd worden via de CASH API 3.0 tussen de webshop en de administratie, echter voor een offline administratie moeten er een aantal extra instellingen gemaakt worden. Zie CASHWin API Koppeling
Een aantal belangrijke aandachtspunten bij offline administraties:
- Offline administraties moeten zijn ingesteld voor synchronisatie offline om beschikbaar te zijn voor de webshop
- Alleen als in CASHWin functie S0067 (Inlezen berichten) actief is kunnen er gegevens uitgewisseld worden met een offline administratie. Voor het functioneren van de webshop MOET deze functie altijd actief zijn
- Als de CASHWeb-gebruiker voor de API koppeling aan een administratiecode gekoppeld is, kunnen er alleen gegevens voor die (online!) administratie uitgewisseld worden. Koppel hierom nooit een administratie aan deze CASHWeb-gebruiker
- Als er een online administratie aanwezig is met dezelfde administratiecode als een offline administratie, kan alleen de online administratie uitgelezen worden
De webshop koppeling met CASH API 3.0
Communicatie tussen de webshop en CASH verloopt via de CASH API 3.0.
Documentatie
Recordindeling CASH Financieel
In dit hoofdstuk staat uitgelegd wat er gedaan moet worden om de webshopkoppeling tot stand te brengen, hiervoor worden er aanvragen verstuurd via de CASH API 3.0. Deze uitleg gaat er van uit dat de uitgebreide uitleg van de CASH API 3.0 is gelezen en ook beschikbaar is, ook gaat deze uitleg er van uit dat de recordindeling van CASH bekend is.
Offline versus Online
Vanuit de webshop gezien maakt het weinig verschil of de CASH administratie online of offline staat. Wel is het zo dat gegevens uitwisselen met een offline administratie trager verloopt en dat de reactietijd langer is dan bij een online administratie. Verder is de kans groter dat een offline administratie niet beschikbaar is (down) door een storing dan bij een online administratie.
Het gebruik van een online administratie, op CASHWeb, wordt bij het gebruik van een webshop geadviseerd.
BASE64 codering
Voor de leesbaarheid zijn de voorbeelden in deze uitleg niet gecodeerd, echter wordt het gebruik van BASE64 codering geadviseerd. Informatie over BASE64 kan je vinden in de uitgebreide uitleg van CASH API 3.0.
De webshop, het opvragen gegevens uit CASH
Vanuit de webshop moeten er stamgegevens uit de CASH administratie ingelezen worden, hiervoor zijn de volgende aanvragen beschikbaar:
- 8502 – opvragen recent gemuteerde klanten
- 8503 – opvragen recent gemuteerde artikelen
- 2260 – artikel uit Cash Handel gekoppeld aan een artikelgroep
- 2260A - alle artikelen uit Cash Handel ongeacht de artikelgroep koppeling
- 2208 – artikelgroep uit cash handel
- 2617 – Subcategorie webshop
- 2274 – opvragen prijsafspraak handel
- 8501 – opvragen prijsafspraak handel per artikel per klant per staffel
Opvragen stamgegevens recent gemuteerde klanten
Om klantgegevens te importeren moet er in de CASH administratie eerst de Selectie exportaanvraag relaties uitgevoerd zijn zoals staat uitgelegd op pagina 9 van hoofdstuk ‘Klanten instellen voor de webshop’.
In de administratie staan er vervolgens relatiemutaties klaar in de exportaanvraag:
Vanuit de webshop worden de relatiemutaties opgehaald via aanvraag 8502:
API-request 1:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="https://www.cashweb.nl/?api">
<soapenv:Header/>
<soapenv:Body>
<api:Export>
<relatie>202943</relatie>
<email>helpdesk@cash.nl</email>
<pass>*********</pass>
<exportData>8502</exportData>
<administration>
<api:admCode>shop</api:admCode>
<api:admMap></api:admMap>
</administration>
<formaat>0</formaat>
</api:Export>
</soapenv:Body>
</soapenv:Envelope>
API-response 1:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://www.cashweb.nl/?api">
<SOAP-ENV:Body>
<SOAP-ENV:ExportResponse>
<response>
<ns1:code>1</ns1:code>
<ns1:message>Success</ns1:message>
</response>
<exportResult><![CDATA[Content-type: text/xml <?xml version="1.0" encoding="UTF-8"?>
<cash>
<R0101>
<F0101>000001</F0101>
<F0102>JONG</F0102>
<F0103>De Jong Engineering BV</F0103>
<F0104>De heer P. de Jong</F0104>
<F0105>Brabantlaan 38</F0105>
<F0106>076-5426781</F0106>
<F0107>4817 JW BREDA</F0107>
<F0108>076-5426780</F0108>
<F0109>05-05-2009</F0109>
<F0110>NL62ABNA0509828922</F0110>
<F0111>15</F0111>
<F0113>C</F0113>
<F0114>ZUID</F0114>
<F0120>info@jongengin.nl</F0120>
<F0121>D</F0121>
<F0123>Postbus 50</F0123>
<F0124>4800 AD BREDA</F0124>
<F0128>deb.nr: 56777</F0128>
<F0129>N</F0129>
<F0130>NL</F0130>
<F0133>10</F0133>
<F0141>04-11-2007</F0141>
<F0142>MICH</F0142>
<F0143>Cursusaanbod</F0143>
<F0151>CASH</F0151>
<F0152>MAILING</F0152>
<F0153>OHCASH</F0153>
<F0157>VIAKVK</F0157>
<F0158>BEURS</F0158>
<F0174>8100</F0174>
<F0330>0509828922</F0330>
<F0350>ABNANL2A</F0350>
<F0438>4817 JW</F0438>
<F0715>P</F0715>
<F0720>JONG</F0720>
<F1197>0687878726</F1197>
<F1321>NL</F1321>
<F1655>J</F1655>
<F1829>De</F1829>
<F1831>heer P. de</F1831>
<F1833>Brabantlaan</F1833>
<F1834>38</F1834>
<F1837>BREDA</F1837>
<F2200>P20</F2200>
<FT312>34309,01</FT312>
</R0101>
</cash>]]>
</exportResult>
</SOAP-ENV:ExportResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
- Response 1 geeft alle velden uit record 0101 (Relatie) terug van de relaties die gemuteerd zijn, met een extra veld:
Veld: T312 – Dit veld toont het totaal van de vervallen posten van de relatie, dat wil zeggen: het totaal van de openstaande posten waarvan de betaaltermijn verstreken is - Na het uitvoeren van aanvraag 8502 wordt de mutatietabel automatisch geleegd; dit betekent dat als aanvraag 8502 opnieuw wordt uitgevoerd, zonder dat er opnieuw relaties zijn gemuteerd, er een lege response terugkomt van de API
Opvragen stamgegevens recent gemuteerde Artikelen
De recent gemuteerde artikelen worden opgevraagd via aanvraag 8503. Alle artikelen die gemuteerd zijn sinds de vorige aanvraag worden in aanvraag 8503 meegenomen.
In de administratie staan er artikelmutaties klaar in de exportaanvraag:
API-request 2:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="https://www.cashweb.nl/?api">
<soapenv:Header/>
<soapenv:Body>
<api:Export>
<relatie>202943</relatie>
<email>helpdesk@cash.nl</email>
<pass>*********</pass>
<exportData>8503</exportData>
<administration>
<api:admCode>shop</api:admCode>
<api:admMap></api:admMap>
</administration>
<formaat>0</formaat>
</api:Export>
</soapenv:Body>
</soapenv:Envelope>
API-response 2:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://www.cashweb.nl/?api">
<SOAP-ENV:Body>
<SOAP-ENV:ExportResponse>
<response>
<ns1:code>1</ns1:code>
<ns1:message>Success</ns1:message>
</response>
<exportResult><![CDATA[Content-type: text/xml <?xml version="1.0" encoding="UTF-8"?>
<cash>
<R2260>
<F1341>N</F1341>
<F2001>Vulpen Aurora Audacious red</F2001>
<F2208>400</F2208>
<F2230>000003</F2230>
<F2260>VULPEN-AURO-AR</F2260>
<F2261>VULPEN</F2261>
<F2263>S-399150</F2263>
<F2264>50</F2264>
<F2265>4</F2265>
<F2266>3,00</F2266>
<F2267>15,00</F2267>
<F2268>N</F2268>
<F2269>25</F2269>
<F2270>200</F2270>
<F2271>N</F2271>
<F2274>1</F2274>
<F2279>N</F2279>
<F2280>N</F2280>
<F2282>3,00</F2282>
<F2283>300</F2283>
<F2285>stuks</F2285>
<F2286>15,00</F2286>
<F2292>1</F2292>
<F2294>0</F2294>
<F2295>A</F2295>
<F2297>N</F2297>
<F2299>20-10-2016</F2299>
<F2308>E</F2308>
<F2336>VULPEN</F2336>
<F2337>AURO</F2337>
<F2338>AR</F2338>
<F2348>4012700967749</F2348>
<F2349>3,00</F2349>
<F2355>3,00</F2355>
<F2358>3,00</F2358>
<F2373>N</F2373>
<F2383>1</F2383>
<F2456>H</F2456>
<F2528>4</F2528>
<F2968>0</F2968>
<F3231>S</F3231>
<F3239>B</F3239>
<F3403>S</F3403>
<F3446>V</F3446>
<F3470>G</F3470>
<F3528>1</F3528>
<F1975>Een vulpen is een pen waarmee men schrijft met vloeibare inkt en die, in tegenstelling tot een balpen, door de gebruiker zelf met inkt gevuld kan worden. Dit kan gebeuren met inkt uit een inktpot of door het gebruik van kant en klare inktpatronen.</F1975>
</R2260>
</cash>]]></exportResult>
</SOAP-ENV:ExportResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
- Response 2 geeft alle velden uit record 2260 (Artikel) terug van de artikelen die gemuteerd zijn
- Een artikel wordt ook als gemuteerd beschouwd voor aanvraag 8503 indien de prijzen of de voorraad van een artikel veranderen, bijvoorbeeld als de voorraad toeneemt door registratie van de inkoop van een artikel in CASH
- Na het uitvoeren van aanvraag 8503 wordt de mutatietabel automatisch geleegd; dit betekent dat als aanvraag 8503 opnieuw wordt uitgevoerd, zonder dat er opnieuw artikelen zijn gemuteerd, er een lege response terugkomt van de API
Opvragen stamgegevens van alle artikelen gekoppeld aan de webshop
Om alle artikelen uit te lezen die zijn gekoppeld aan de webshop wordt aanvraag 2260 gebruikt. Dit geeft een vergelijkbaar resultaat als aanvraag 8503 met dit verschil dat het alle artikelen teruggeeft, ook als een artikel nog niet is gemuteerd.
API-request 3:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="https://www.cashweb.nl/?api">
<soapenv:Header/>
<soapenv:Body>
<api:Export>
<relatie>202943</relatie>
<email>helpdesk@cash.nl</email>
<pass>*********</pass>
<exportData>2260</exportData>
<administration>
<api:admCode>shop</api:admCode>
<api:admMap></api:admMap>
</administration>
<formaat>0</formaat>
</api:Export>
</soapenv:Body>
</soapenv:Envelope>
De response op dit request is gelijk aan API-response 2.
- Aanvraag 2260 hoeft slechts eenmalig uitgevoerd te worden, daarna is het voldoende om aanvraag 8503 te gebruiken zodat niet telkens alle artikelen opgehaald hoeven te worden
- In tegenstelling tot aanvraag 8503 zal aanvraag 2260 altijd een response geven met alle stamgegevens van alle artikelen gekoppeld aan de webshop
Opvragen artikelgroepen
Via aanvraag 2208 kunnen de artikelgroepen opgevraagd worden waaronder de artikelen in CASH verdeeld zijn. De gegevens van de artikelgroepen kan door de website gebruikt worden om de artikelen groepsgewijs weer te geven.
Opvragen prijsafspraak handel
Naast dat artikelen een verkoopprijs hebben, kan het ook zo zijn dat er bij een artikel voor een bepaalde klant bij een bepaald aantal (staffel) een prijsafspraak is gemaakt. Er zijn twee methodes om deze prijsafspraken op te vragen:
- Met aanvraag 2274 kunnen alle prijsafspraken van alle artikelen en alle klanten ineens opgevraagd worden
- Met aanvraag 8501 kan een prijsafspraak van een bepaald artikel en een bepaalde relatie vanaf een bepaald aantal stuks opgevraagd worden
Welke van de twee methodes gebruikt wordt is webshop afhankelijk:
- Er kan voor gekozen worden om alle prijsafspraken direct in de webshop te laden, zodat de webshop direct de juiste prijs kan bepalen
- Of er kan voor worden gekozen om de prijsafspraak op te halen uit CASH op het moment dat een klant op de webshop een bepaald artikel bestelt
Cronjob
Om de webshop up-to-date te houden moet de webshop zeer regelmatig, meerdere keren per dag, aanvraag 8502, 8503, 2208 en 2274 uitvoeren. Hiervoor moet er een zogenaamde cronjob aangemaakt worden: een taak die door de webshop automatisch herhaald en uitgevoerd wordt. De frequentie waarop dit gebeurt, bepaal je zelf en is afhankelijk van hoe actueel de webshop moet zijn.
De webshop, het importeren van gegevens in CASH
Naast het opvragen van gegevens uit CASH via de API kunnen er ook gegevens ingelezen worden. In dit hoofdstuk staat uitgelegd hoe er door een webshop via CASH API 3.0 een verkooporder en een klant geïmporteerd kunnen worden.
Om een order succesvol te importeren, moet er per order (record 2400) een aantal gegevens bekend zijn:
- Het e-mailadres van de klant
- De naam en adresgegevens van de klant
- Het afleveradres
- Per orderregel (record 2410): de artikelcode, het verkochte aantal en de verkoopprijs (respectievelijk de velden: 2260, 2410 en 2267)
Klantverwerking
CASH herkent de klant op basis van het e-mailadres:
- Is het e-mailadres bekend dan wordt in CASH de juiste klant gekoppeld aan de order, de klantgegevens in CASH worden geactualiseerd met de gegevens uit de verkooporder
- Is het e-mailadres onbekend dan wordt er, op basis van de klantgegevens uit de verkooporder, een nieuwe klant aangemaakt en aan de order gekoppeld
Door deze werkwijze hoeven er bij het aanleveren van de verkooporder geen aparte relatiegegevens in CASH opgezocht of aangeleverd te worden.
Bijzondere velden van de verkooporder (record 2400)
In het geval dat in een CASH administratie de webshopkoppeling actief is, kent record 2400 (verkooporder) een aantal velden waarmee via de verkooporder de klantgegevens en het afleveradres meegegeven kunnen worden:
Veld 0120 – E-mailadres; op basis van het e-mailadres wordt in CASH de klant herkend of een nieuwe klant aangemaakt
Veld 0122 – Afstandsverkoop; dit veld bevat waarde A bij een afstandsverkoop
Veld 0103 – Relatienaam (B2B)
Veld 0104 – Ter attentie van een bepaalde persoon (B2B)
Veld 0105 – Adres (Straatnaam en huisnummer)
Veld 0107 – Postcode en plaats
Veld 0108 – Telefoonnummer
Veld 1829 – Voornaam of voorletters (B2C)
Veld 1831 – Achternaam (B2C)
Veld 0123 – Afleveradres (Straatnaam en huisnummer)
Veld 0124 – Postcode en plaats van het afleveradres
Veld 0130 – ISO-landcode
Veld 2332 – Betaalmethode
Veld 2333 – Betaald bedrag
Door deze velden met een verkooporder mee te geven handelt CASH automatisch de verwerking van de klant en het afleveradres af.
Voorwaardes import verkooporder met afstandsverkoop
Voor de import van een afstandsverkoop gelden de volgende voorwaardes:
- De import van een afstandsverkoop vereist een CASHWeb administratie
- Veld 0122 in record 2400 is gevuld met waarde: A
- Veld 130 in record 2400 bevat een ISO-code van een land binnen de EU, buiten Nederland
- Veld 2422 (Code OB) in record 2400 mag niet worden meegegeven met de import
- De aan de import gekoppelde klant heeft geen OB-nummer
De verkooporder
Klant Cobie Smulders bestelt 2 vulpennen:
1 ‘Vulpen Aurora Audacious red’ (VULPEN-AURO-AR) voor € 15,00
1 ‘Vulpen Zagoony Serenity blue’ (VULPEN-ZAGO-SB) voor € 17,50
Mevrouw Smulders is een B2B klant van het bedrijf ‘Software Gotowki’
Het bedrijfsadres is: Alexanderstraat 3, 2514 JL Den Haag
Telefoonnummer: 070-3560570
Haar e-mailadres: cobie@software_gotowki.nl
Op basis van deze gegevens kan de order in het CASH-XML formaat worden aangemaakt:
<CASH>
<R2400>
<F103>Software Gotowki</F103>
<F1829>Cobie</F1829>
<F1831>Smulders</F1831>
<F105>Alexanderstraat 3</F105>
<F107>2514 JL DEN HAAG</F107>
<F108>070-3560570</F108>
<F120>cobie@software_gotowki.nl</F120>
<F130>NL</F130>
<F123>Alexanderstraat 3</F123>
<F124>2514 JL DEN HAAG </F124>
</R2400>
<R2410>
<F2260>VULPEN-AURO-AR</F2260>
<F2410>1</F2410>
<F2267>1500</F2267>
</R2410>
<R2410>
<F2260>VULPEN-ZAGO-SB</F2260>
<F2410>1</F2410>
<F2267>1750</F2267>
</R2410>
</CASH>
- In dit voorbeeld worden velden 1829 en 1831 gebruikt voor de naam van mevrouw Smulders, omdat het een B2B klant betreft had de volledige naam ook in veld 0104 gezet kunnen worden
- Een verkooporder bestaat in CASH uit een kop (record 2400) en uit regels (record 2410), de regels die volgen op de kop horen automatisch bij de kop
API-request 4:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="https://www.cashweb.nl/?api">
<soapenv:Header/>
<soapenv:Body>
<api:Import>
<relatie>202943</relatie>
<email>helpdesk@cash.nl</email>
<pass>*********</pass>
<importData>
<![CDATA[<?xml version="1.0">
<CASH>
<R2400>
<F103>Software Gotowki</F103>
<F1829>Cobie</F1829>
<F1831>Smulders</F1831>
<F105>Alexanderstraat 3</F105>
<F107>2514 JL DEN HAAG</F107>
<F108>070-3560570</F108>
<F120>cobie@software_gotowki.nl</F120>
<F130>NL</F130>
<F123>Alexanderstraat 3</F123>
<F124>2514 JL DEN HAAG </F124>
</R2400>
<R2410>
<F2260>VULPEN-AURO-AR</F2260>
<F2410>1</F2410>
<F2267>1500</F2267>
</R2410>
<R2410>
<F2260>VULPEN-ZAGO-SB</F2260>
<F2410>1</F2410>
<F2267>1750</F2267>
</R2410>
</CASH>>]]>
</importData>
<administration>
<api:admCode>shop</api:admCode>
<api:admMap></api:admMap>
</administration>
<formaat>0</formaat>
</api:Import>
</soapenv:Body>
</soapenv:Envelope>
API-response 4:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://www.cashweb.nl/?api">
<SOAP-ENV:Body>
<SOAP-ENV:ImportResponse>
<response>
<ns1:code>1</ns1:code>
<ns1:message>Success</ns1:message>
</response>
<transaction>
<ns1:id>581a1780493bf</ns1:id>
<ns1:status>2</ns1:status>
<ns1:creation>2016-11-02 17:42:40</ns1:creation>
<ns1:lastUpdate>0000-00-00 00:00:00</ns1:lastUpdate>
<ns1:administration>
<ns1:admCode>shop</ns1:admCode>
<ns1:admMap>202943</ns1:admMap>
</ns1:administration>
<ns1:initiator>
<ns1:relation>16467</ns1:relation>
<ns1:user>30259</ns1:user>
</ns1:initiator>
<ns1:err/>
</transaction>
</SOAP-ENV:ImportResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
API-response 4 geeft aan dat de verwerking van de verkooporder succesvol is uitgevoerd. In CASH staat er vervolgens een verkooporder voor 2 vulpennen klaar voor deze klant.
De aangemaakte verkooporder in CASH met het afleveradres:
De bijbehorende verkooporderregels in CASH:
Op basis van het e-mailadres wordt de webshop klant gevonden of aangemaakt: