Dynamisch ophalen van product (voorraad) gegevens#

Naast het dynamisch ophalen van klantgegevens, kortingscode en verzendkosten is het ook mogelijk om dynamisch productgegevens op te halen. Denkbijvoorbeeld aan voorraad-informatie.

Om deze feature te kunnen gebruiken heeft u nodig:

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

Remote host

De waarde (naam) van de Remote host is ook de naam van het script dat wordt aangeroepen door mijnWinkel om de productgegevens 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
productid_count het aantal producten waarvoor de gegevens worden opgevraagd
productid0…n product identificatienummers van de producten waarvoor de gegevens opgehaald moeten worden
orderquantity<N>het aantal dat in de winkelwagen zit van een bepaald product, de <N> word vervangen door het volgnummer van het product, gelijk aan de productid<N> waarde

Omdat ook de userid wordt meegegeven kan op deze manier ook klantspecifieke productdata worden opgehaald zoals bijvoorbeeld prijsinformatie welke per klant varieert.

Wanneer gebruik wordt gemaakt van mijnWinkel.nl klantbeheer zal er altijd een userid aanwezig zijn, maar wanneer mijnWinkel.nlklantbeheer niet wordt gebruikt zal er een userid moeten worden meegegeven bij het aanroepen van de winkel. Daar moet custom_userid variabele voor worden gebruikt. Deze variabele, die meegegeven wordt in de GET url van mijnWinkel verschaft een userid die gebruikt zal worden door mijnWinkel.nl 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, gecheckt worden (IP range 178.208.62.0/24).

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

De lijst van product-identificatienummers waarvan de gegevens opgehaald moeten worden, worden doorgegeven met de parameters productid0=<product nummer>&productid1=<product nummer>….productid<n>=<product nummer>. Het volgnummer van de parameter komt daarbij overeen met de volgorde op het scherm. De parameter productid0 komt overeen met het eerste product op het scherm en bijv. productid11 met het twaalfde product op het scherm. Het aantal producten waarvoor de gegevens opgevraagd wordt, wordt aangegeven door de parameter productid_count.

Het mijnWinkel.nl systeem verwacht als antwoord op het verzoek een XML document met daarin de gegevens van de producten (zie het onderstaande XML voorbeeld). Met behulp van de attribuutwaarde “catalog” voor het attribuut type van het element <row>, wordt er aangegeven dat het om productlijst gegevens gaat. Daarnaast heeft elk <row> element ook een index attribuut. De waarde van het index attribuut moet overeen komen met het volgnummer gebruikt in de aanroep. De gegevens van productid0 moeten dus teruggegeven worden in het element <row type=”catalog” index=”0”></row> en de product gegevens van bijv. productid11 in het element <row type=”catalog” index=”11”></row>. De volgorde van de <row> elementen in het XML document zijn hierdoor niet van belang.

XML document#

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?xml version="1.0"?>
<rows>
<row type="catalog" index="0">
<col name="stock">6</col>
<col name="kleur">wit</col>
<col name="naam">test 1</col>
<row>
<row type="catalog" index="1">
<col name="stock">1</col>
<col name="kleur">geel</col>
<col name="naam">test 2</col>
<row>
<row type="catalog" index="5">
<col name="kleur">geel</col>
<col name="stock">5</col>
<col name="naam">test 5</col>
<row>
<row type="catalog" index="3">
<col name="kleur">oranje 3</col>
<col name="naam">test 3</col>
<col name="stock">3</col>
<row>
<row type="catalog" index="6">
<col name="kleur">paars</col>
<col name="naam">test 6</col>
<col name="stock">6</col>
</row>
</rows>

De structuur van het document kan beschreven worden met de volgende DTD. Het gebruik van een DTD is echter niet noodzakelijk.

<!ELEMENT rows (#PCDATA | row)*>
<!ELEMENT row (#PCDATA | col | row)*>
<!ATTLIST row type CDATA #IMPLIED>
<!ATTLIST row index CDATA #IMPLIED>
<!ELEMENT col (#PCDATA)>
<!ATTLIST col name CDATA #IMPLIED>

De kolom <col name=”stock”>###</col> is gereserveerd voor het doorgeven van voorraad-gegevens van een product. De voorraad-waarde wordt daarbij automatisch gekoppeld aan de voorraad-kolom als deze beschikbaar is. De andere kolommen worden automatisch gekoppeld aan de kolommen met dezelfde naam. Bij het ontbreken van een kolom in de externe gegevens (het XML document) wordt het gegeven uit de lokaal opgeslagen productlijst gebruikt. Zie ook deze link met info over annotaties.

Het eerste product in het XML document bepaalt welke kolommen overschreven kunnen worden. In het bovenstaande XML document worden hierdoor alleen de kolommen kleur, naam en stock overschreven als deze een waarde hebben. Andere kolommen in het XML document worden overgeslagen.

Custom lay-out#

De $name-reseller$ uitbreiding myshop-value:customer-field-<veldnaam> kan door de uitbreiding 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.

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
  19. Winkel beheren
    1. Backoffice koppeling
    2. Beheren emailaddressen
    3. Cookiebeleid
    4. Cookiewetgeving
    5. Dynamisch ophalen klantgegevens
    6. Dynamisch klantgegevens ophalen
    7. Dynamisch ophalen skins
    8. Externe orderstatus update
    9. Favorietenlijstje
    10. Kassasysteem
    11. Koppeling met Exact
    12. MyParcel
    13. Onderwater Login
    14. Online Verzendservice PostNL
    15. Orderbeheer
    16. PostNL
    17. PostNLCheckout
    18. Reeleezee
    19. Reeleezee nieuw
    20. Sisow Esend
    21. Track and Trace
    22. Van de Scheur Logistiek
    23. Voorraadbeheer (algemeen)
    24. Voorraadbeheer buiten mijnWinkel.nl om
    25. Verzendmethoden PostNL
    26. Winkelwagen delen
    27. Winkelwagen delen
    28. XML orderdocument
    29. OvergangBuckaroo3.0
Eigen layout (technisch)
Handleidingen
Nieuwsbrieven