Dynamisch klantgegevens ophalen van een externe server#

Naast de oplossing om klantgegevens standaard te tonen in het NAW scherm van het bestelproces door middel van online/offline klantbeheer, is het ook mogelijk om klantgegevens dynamisch van een eigen server op te halen of te controleren

Klantgegevens, dynamisch ophalen van een externe server#

De gegevens worden van een externe server gehaald door middel van de aanroep van een script (ingestelde URL) die zelf gemaakt dient te worden. Deze manier van klantbeheer biedt veel mogelijkheden en extra flexibiliteit omdat het beheer van deze gegevens volledig aan de kant (backoffice) van de webshopeigenaar zelf ligt en omdat de gegevens voor elke pagina binnen de winkel beschikbaar zijn. Ook zijn de gegevens altijd up-to-date met de eigen backoffice omdat ze real-time worden opgehaald.

Om deze feature te kunnen gebruiken heb je nodig:

  • Kennis van een server-side taal (cgi, php, java, python, etc)
  • Een locatie om je script op te hosten en waar ook de klantgegevens in de backoffice beschikbaar zijn
  • Een manier om zelf klanten te laten inloggen of ze in ieder geval te voorzien van een User ID (of de login/klantbeheer van het systeem gebruiken)

Remote host#

De waarde (naam) van de Remote host is ook de naam van het script dat wordt aangeroepen door het systeem om de klantgegevens op te halen. Het script wordt aangeroepen door middel van een POST met de volgende variabelen:

Post parameters externe klantgegevens
userid klantnummer
shopid accountnummer van de winkel
User defined parameters parameters opgevoerd als querystring in de URL van de externe server

Wanneer het systeem geen User ID heeft om mee te geven aan het script, zal het script niet worden aangeroepen. Wanneer gebruik wordt gemaakt van het klantbeheer van het systeem zal een User ID altijd aanwezig zijn, maar wanneer klantbeheer niet wordt gebruikt zal er een User ID moeten worden meegegeven bij het aanroepen van de winkel. Daar moet een custom_userid variabele voor worden gebruikt. Deze variabele, die meegegeven wordt in de GET url van het systeem verschaft een User ID die gebruikt zal worden door het systeem bij de aanroep van uw winkel. De syntax is als volgt: [shop-url]?custom_userid=[uw userid]. Tevens worden alle overige variabelen die met custom_ beginnen meegegeven in de aanroep van de Remote host.

Voor de beveiliging van de gegevensuitwisseling kan bijvoorbeeld gebruik gemaakt worden van een sessie variabele (custom_sessionid o.i.d.). Ook kan het IP nummer van waaruit de aanroep gedaan wordt, gecontroleerd worden (IP range 178.208.62.0/24).

De gegevens die worden teruggegeven, worden in elke pagina beschikbaar gesteld.

XML document#

Het script dat wordt gemaakt moet een XML document teruggeven met het volgende formaat.

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0"?>
<rows>
<row type="customer">
<col name="credit">999</col>
<col name="email">klantnaam@klantdomein.nl</col>
<col name="name">klantnaam</col>
<col name="gender">male</col>
<col name="street">klantstraat 26</col>
<col name="remark">klant remarkt</col>
<col name="country">NL</col>
</row>
</rows>

Dit zijn telkens de gegevens van één user die geïdentificeerd wordt door de meegegeven User ID variabele bij de aanroep van je script (of door een meegegeven _custom variabele waarmee de klantgegevens uniek kunnen worden geïdentificeerd). De structuur van het document kan beschreven worden met de volgende DTD, het gebruik van een DTD is echter niet noodzakelijk.

1
2
3
4
5
<!ELEMENT rows (#PCDATA | row)*>
<!ELEMENT row (#PCDATA | col | row)*>
<!ATTLIST row type CDATA #IMPLIED>
<!ELEMENT col (#PCDATA)>
<!ATTLIST col name CDATA #IMPLIED>

De kolom <col name=”credit”>###</col> is gereserveerd voor het doorgeven van het krediet van een klant. De andere kolommen kunnen bestaan uit standaard NAW velden of zelf-gedefinieerde NAW velden. Voor zelf-gedefinieerde NAW velden kan de naam van het veld worden gebruikt (inclusief hoofdletters / leestekens), voor de standaard velden moet het onderstaande lijstje gebruikt worden voor het benoemen van de kolommen (de naam in de kolom 'Systeemnaam' uit onderstaande tabel). Zie ook deze link met info over annotaties.

Veld Systeemnaam
e-mail email
bedrijf company
afdeling department
naam/contactpersoon name
straat street
huisnummer streetnr
postcode zip
stad city
telefoon thuis telhome
telefoon werk telwork
telefoon mobiel telmob
fax fax
opmerking remark
provincie state
land country
initialen initials
klantnummer customerid
geslacht/aanhef gender
leeftijd age
tweede regel bedrijfsnaam company2
tweede regel adres street2
BTW nummer vatnumber
rekeningnummer bank/postbank accountnumber
naam rekeninghouder accountholder
plaats rekeninghouder accountholdercity

De NAW gegevens worden automatisch ingevuld in het adresscherm. Voor de afleveradres velden moet de prefix “delivery_” worden gebruikt, bijv. delivery_street voor het afleveradres. Voor zelf gedefinieerde velden moet het opgegeven label als kolomnaam gebruikt worden.

Custom lay-out#

De uitbreiding myshop-value:customer-field-<veldnaam> kan gebruikt worden om de informatie van de klant op te vragen. Veldnaam kent daarbij de volgende mogelijkheden: email, company, department, name, street , streetnr, zip, city, telhome, telwork, telmob, fax, remark,state, country, initials, customerid, gender, age, company2, street2, vatnumer, accountnumber, accountholder, accountholdercity. Zie de help m.b.t. eigen lay-out.

Dynamische controle klantgegevens#

Het is ook mogelijk om de klantgegevens op de eigen server dynamisch te controleren.
De gegevens worden van een externe server gehaald door middel van de aanroep van een script (ingestelde URL) die zelf gemaakt dient te worden. De gegevens zijn altijd up-to-date omdat ze real-time worden opgehaald.

Zie de tab hiernaast voor meer info hierover.

Dynamische controle klantgegevens#

Het is ook mogelijk om de klantgegevens op de eigen server dynamisch te controleren.
De gegevens worden van een externe server gehaald door middel van de aanroep van een script (ingestelde URL) die zelf gemaakt dient te worden. De gegevens zijn altijd up-to-date omdat ze real-time worden opgehaald.

Om deze opties te kunnen gebruiken heb je nodig:

  • Kennis van een server-side taal (cgi, php, java, python, etc)
  • Een locatie om je script op te hosten en waar ook de klantgegevens in de backoffice beschikbaar zijn

Remote host#

De aanroep bestaat uit een POST request naar de opgegeven remote server. In de request worden de adres velden meegegeven die zijn ingesteld voor de winkel. De remote validatie wordt alleen aangeroepen als er geen validatie fouten zijn gevonden bij de standaard validatie.

Het script wordt aangeroepen door middel van een POST met de volgende variabelen:

Post parameters externe klantgegevens
custom_userid klantnummer
shopid accountnummer van de winkel
userid klantnummer
orderline_count het aantal bestelregels
orderline_quantity

aantal producten voor een bestel regel. Bij 2 bestelregels is er een orderline_quantity0 en orderline_quantiy1
orderline_productid product nummer per product regel (werking analoog aan orderline quantity).
client_ip_address ip adres van de klant
NAW velden (zie tabel hieronder)

Wanneer het systeem geen User ID heeft om mee te geven aan het script, zal het script niet worden aangeroepen. Wanneer gebruik wordt gemaakt van het klantbeheer van het systeem zal een User ID altijd aanwezig zijn, maar wanneer klantbeheer van het systeem niet wordt gebruikt zal er een User ID moeten worden meegegeven bij het aanroepen van de winkel. Daar moet de custom_userid variabele voor worden gebruikt. Deze variabele, die meegegeven wordt in de GET url van het systeem verschaft een User ID die gebruikt zal worden door het systeem bij de aanroep van je winkel. De syntax is als volgt: [shop-url]?custom_userid=[uw userid]. Tevens worden alle overige variabelen die met custom_ beginnen meegegeven in de aanroep van de Remote host.

Voor de standaard adres velden worden de volgende veldnamen gebruikt in de remote call:

Systeemnaam Delivery velden
email
company dcompany
department ddepartment
name dname
street dstreet
streetnr dstreetnr
zip dzip
city dcity
telhome dtelhome
telwork dtelwork
telmob dtelmob
fax dfax
remark
state dstate
country dcountry
custom1 custom 1
custom2 custom 2
initials dinitials
customerid
gender dgender
age dage
company2 dcompany2
street2 dstreet2
vatnumber
accountnumber
accountholder
accountholdercity
newsletter
Als er in een winkel gebruik wordt gemaakt van user defined velden dan wordt het label van het veld door gegeven als naam van het veld.!!XML document

Het script dat wordt gemaakt moet een XML document teruggeven met het volgende formaat (voorbeeld van een return XML).

1 <?xml version="1.0"?>
2 <rows>
3 <row type="address_validation">
4 <col name="message">Dit is de melding die wordt weergegeven als er een remote validatie fout is</col>
5 <col name="valid">1</col>
6 </row>
7 </rows>

Als de waarde van het element <col name="valid"> gelijk is aan "1" dan worden de velden als correct gezien. De melding wordt niet weergegeven en de gebruiker gaat door naar het volgende scherm. Bij een waarde van "0" wordt de melding weergegeven en de gebruiker blijft in het NAW scherm.

Als er wat mis gaat bij de remote validatie, server is niet beschikbaar of het bericht kan niet worden gelezen dan wordt de invoer als correct beschouwd. Er verschijnt dan geen melding en de gebruiker kan verder met het volgende scherm.

Stel een vraag
Algemene Help
  1. Welkom bij mijnWinkel
  2. Trefwoorden
  3. Stappenplan
  4. Veelgestelde Vragen (FAQ)
  5. Handleidingen printen
  6. Abonnementen
    1. Affiliateshop
    2. Abonnementsvormen
    3. Abonnement beëindigen
    4. Abonnement uitbreiden
    5. Betaaltermijnen & kortingen
    6. Betaaltermijnen en kortingen boven euro 150
    7. Basic webwinkel
    8. B2C
    9. Enterprise ordersysteem
    10. Internetkassa Professional
    11. Internetkassa Basic
    12. Light shop
    13. Offerteshop
    14. B2B/Ordersysteem vaste klanten
    15. Professional webwinkel-startup
    16. Professional webwinkel
  7. Betalen
    1. Achteraf betalen
    2. Advies betaalmethoden
    3. Afterpay
    4. Beschikbare betaalsystemen
    5. Billink
    6. Buckaroo
    7. Directe betaalmethoden
    8. Docdata Payments
    9. Electronische facturen rechtsgeldig?
    10. Internetkassa (ABN AMRO)
    11. Icepay
    12. iDEAL algemeen
    13. iDEAL ABN AMRO
    14. iDEAL ING bank
    15. iDEAL Rabo bank Professional
    16. iDEAL Mollie
    17. Klarna
    18. Multisafepay
    19. Multisafepay Connect
    20. Ogone
    21. Omnikassa Rabobank
    22. Pay.nl
    23. PayPal
    24. Paypal Checkout
    25. Postcode.nl
    26. Sisow
    27. Vemt
    28. Online betaalmethoden
  8. Ipad shop
    1. Ipad nieuw
    2. Ipad doorschakelen
    3. Ipad tekst
    4. Ipad links
    5. Ipad producten
  9. Iphone shop
    1. Iphone shop
  10. Mogelijkheden
    1. Betaalsystemen
    2. Internetkassa
    3. Koppeling met Exact
    4. Koppeling met EBoekhouden
    5. Koppeling met osFinancials
    6. Koppeling met SW Retail
    7. Koppeling met Snelstart
    8. Overzicht koppelingen via mijnWinkel
    9. Staffelkortingen
  11. Tips en Handigheidjes
    1. Acties
    2. BTW
    3. Javascript
  12. Vragen vooraf
    1. Algemene voorwaarden
    2. KvK inschrijving benodigd?
    3. Powered by mijnWinkel
    4. Wet verkoop op afstand
  13. Vragen over de techniek
    1. Besturingssystemen en browsers
    2. Techniek achter mijnWinkel
  14. Vragen over de lay-out
    1. Blokken links,midden,rechts
    2. Voorwaarden blokken
    3. Eigen layout productlijst
    4. Gebruik skin
    5. CSS editor
    6. Layout betaalmethode
    7. Release 3.5
    8. Eigen layout meerinfo
    9. Instellen Productlijst
    10. Instellen Meerinfo
  15. Vragen over afbeeldingen
    1. Beheer productplaatjes
    2. Verschillende afmeting
    3. Instellen Plaatjes
  16. Vragen over zoeken en navigatie
    1. Achterliggende zoektechniek
    2. globalsearch
    3. Meerdere menu\'s
    4. Menu en filter
    5. Rechtstreeks linken
    6. Selecties maken
    7. Uitgebreid zoeken
  17. Webwinkel opzetten
    1. AffiliateSellvia
    2. BTW verhoging
    3. B2B release3
    4. Centraal Boekenhuis
    5. Dropshipspecialist
    6. Dynamische tab menu
    7. Gerelateerd productlijst blok
    8. CSS
    9. Gerelateerd productlijst blok
    10. Ipadshop
    11. Lees meer blok
    12. Link en text grid
    13. Nummering productlijst pagina
    14. Meerinfovelden
    15. Navigatie menu
    16. Naviatie top/footer menu
    17. Aanvragen extra shop
    18. Online productmanagement
    19. Online toevoegen producten
    20. Opzetten productlijst in Excel
    21. Pakje gemak
    22. Productvariaties (maten en kleuren)
    23. Producten in meerdere categorieen
    24. Schaduwpagina's
    25. Opzet taalshops
    26. Instellen taalkolom
    27. Taalswitch
    28. Valuta
    29. Valuta childlijst
    30. Verzendmethoden
    31. Wizard
  18. Winkel optimaliseren
    1. 12Return
    2. 404
    3. Admarkt
    4. Advanced backoffice
    5. Affiliate4you
    6. Andere talen
    7. Backoffice connector
    8. Beslist.nl
    9. Bestelknop approval
    10. Beveiligd bestelprocess https
    11. Blog
    12. Broodkruimelpad
    13. BTW EU
    14. Cadeaubonnen
    15. Canonical url
    16. Ciao
    17. Daisycon
    18. DHL
    19. Donatie
    20. eWarehousing
    21. Facebookshop
    22. Fashionchick.nl
    23. Google AdWords
    24. Google Analytics
    25. Google check pagina
    26. Google check producten
    27. Google check sitemap
    28. Google check xml
    29. Google check 404
    30. Google shopping
    31. Google zoekmachine
    32. HTML sitemap
    33. Rich Snippet
    34. Keendelivery
    35. Kelkoo
    36. Keuze afleveradres
    37. Kieskeurig
    38. Koopkeus
    39. Koopzeker
    40. Kortingscodes
    41. Laposta
    42. Mailchimp
    43. Marktplaats
    44. Mopinion
    45. Myaccount
    46. Optimalisatie meerinfo scherm
    47. Q-Invoice
    48. Redirects
    49. Remarketing tag Google
    50. Reviewmeter
    51. Robots.txt
    52. RSSFeed
    53. Beveiliging
    54. Schone url
    55. Sendcloud
    56. Social media blok
    57. Sitemaps
    58. Statistieken webwinkel
    59. Subpagina's
    60. Tradetracker
    61. Twenga
    62. Twitter
    63. UDesk
    64. Automatisch aanmaken pages
    65. URL opties
    66. Userlike
    67. Vakantiepunten
    68. Vergelijk.nl
    69. Verticale slider
    70. Volgorde bestellingen
    71. Webwinkelkeur
    72. Sortering bestellingen
    73. Zoekoptimalisatie via Google
Eigen layout (technisch)
Handleidingen
Nieuwsbrieven