CASH Webshop koppeling

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:

  1. Ga naar Handel > Instellingen > Systeemvariabelen > F4 Veld V+I > F3 Stamgeg
  2. 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

    Uitgebreide uitleg API 3.0

    Instellingen voor CASHWin

    Recordindeling CASH Financieel

    Recordindeling CASH Handel

    CASHWeb API WSDL

     

    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:

    1. Het e-mailadres van de klant
    2. De naam en adresgegevens van de klant
    3. Het afleveradres
    4. 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:

    1. De import van een afstandsverkoop vereist een CASHWeb administratie
    2. Veld 0122 in record 2400 is gevuld met waarde: A
    3. Veld 130 in record 2400 bevat een ISO-code van een land binnen de EU, buiten Nederland
    4. Veld 2422 (Code OB) in record 2400 mag niet worden meegegeven met de import
    5. 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: