Naar de inhoud
SyncMyShop

Tools

OCI tester: controleer de winkelmand die je webshop terugstuurt

Plak de winkelmand die je webshop naar HOOK_URL stuurt. De tester leest elke regel, legt hem naast de veldlijst van OCI 5.0 en zegt per veld wat er niet klopt: naam, lengte, verplichte velden, getalformaat, eenheid en het totaal.

OCI-winkelmand controleren

Voorbeeld:

Plak een van drie vormen: regels als NEW_ITEM-PRICE[1]=17.08, de URL-gecodeerde body van het verzoek, of het HTML-formulier uit de broncode van de overdrachtspagina.

Of Ctrl+Enter in het tekstvak

De controle draait in je browser. Wat je plakt, gaat niet naar onze server en wordt nergens bewaard.

Wat de tester controleert

Elke regel komt uit de specificatie van OCI 5.0, paragraaf 3. Een fout is een overtreding van de specificatie. Een waarschuwing is iets wat inkoopsystemen vaak anders lezen dan je denkt, of een regel die per klant verschilt; bij elke bevinding staat de bron.

Controle Regel Soort
Veldnaam NEW_ITEM-<veld>[<regelnummer>], een van de 34 velden uit de tabel in 3.2 Fout bij een kapotte naam, waarschuwing bij een onbekend veld
Lengte Per veld, zoals DESCRIPTION 40, UNIT 3, CUST_FIELD5 50 Fout
Verplichte velden DESCRIPTION of MATNR, QUANTITY, UNIT zonder MATNR, CURRENCY bij een prijs Fout
Getalformaat QUANTITY en PRICE: 11 cijfers, een punt, 3 decimalen, geen duizendtalscheiding Fout
Hele getallen PRICEUNIT, LEADTIME, PARENT_ID Fout
Valuta ISO-code van drie letters, zoals EUR Fout
Eenheid Maximaal 3 tekens, een code en geen woord Fout bij de lengte, waarschuwing bij de vorm
Formulier Adres zonder parameters in action, methode POST Fout bij action, waarschuwing bij GET
Regelnummers Gaten in de nummering, een veld dat op één regel ontbreekt Waarschuwing
Totaal Aantal × prijs / prijseenheid per regel, opgeteld per valuta Uitkomst

Het voorbeeld is de winkelmand van Bakker Installatie B.V. uit OCI en PunchOut: 3 regels van 7 velden, samen 204,96 + 298,00 + 18,75 = 521,71 euro. Er zit één fout in. De omschrijving van regel 1 is 56 tekens lang, 16 meer dan NEW_ITEM-DESCRIPTION toestaat.

Wat de tester niet controleert

De tester ziet alleen de tekst die je plakt. Vier dingen vallen daarbuiten:

  • De inlog. Of USERNAME, PASSWORD en HOOK_URL goed binnenkomen, zie je alleen in een sessie vanuit het inkoopsysteem. Hoe die start werkt, staat in wat is een OCI koppeling.
  • De inrichting bij je klant. PCE is een geldige vorm, maar of die code in het SAP van je klant bestaat, weet alleen dat systeem. Hetzelfde geldt voor artikelgroepen in NEW_ITEM-MATGROUP.
  • Afspraken per systeem. AFAS leest btw uit NEW_ITEM-CUST_FIELD1, Elari heeft een eigen veldtabel. Die regels staan op OCI koppeling AFAS en OCI koppeling Spend Cloud.
  • De tekenset van het origineel. Je browser heeft de tekst al gedecodeerd. De tester ziet "geïsoleerd" als het al stuk is, maar niet in welke tekenset de pagina is verstuurd. Meer in tekencodering en UTF-8.

Zo haal je de winkelmand uit je webshop

Open de overdrachtspagina van je webshop met de ontwikkelaarstools van je browser. Twee plekken leveren bruikbare invoer:

  1. Netwerk. Klik op de overdrachtsknop, kies het POST-verzoek naar HOOK_URL en kopieer de payload. De tester leest de URL-gecodeerde body en regels in de vorm naam=waarde of naam: waarde.
  2. Broncode. Kopieer het form-element met de verborgen velden. Dan controleert de tester ook action en method.
<form method="post" action="https://inkoop.bakkerinstallatie.example/oci">
  <input type="hidden" name="sessie" value="7f3a">
  <input type="hidden" name="NEW_ITEM-QUANTITY[1]" value="12">
</form>

Velden zonder NEW_ITEM-, zoals sessie hierboven, toont de tester apart. Het inkoopsysteem verwacht ze terug zoals het ze in HOOK_URL meegaf.

Een OCI koppeling die blijft werken

Een winkelmand die vandaag door de tester komt, kan na een nieuw thema of een langere productnaam weer fout gaan. In een koppeling die wij bouwen, legt het log per sessie vast welke velden naar HOOK_URL gingen en wat er is afgekapt. Een afwijking zie je in het dashboard op het moment dat hij gebeurt.

Wat er bij een OCI koppeling komt kijken, van inlog tot order, staat op OCI koppeling voor je webshop. Hoe het per platform loopt, staat op OCI koppeling webshop.

Veelgestelde vragen

Gaat de winkelmand die ik plak naar jullie server?

Nee. Het lezen en controleren gebeurt in je browser, in het script van deze pagina. Er is geen adres waar de tekst naartoe gaat en er wordt niets bewaard. Sluit je de pagina, dan is de invoer weg.

Kan de tester een sessie met mijn webshop starten?

Nee. De tester stuurt niets en ontvangt niets; hij controleert alleen wat je plakt. Een echte sessie test je vanuit de testomgeving van je klant. AFAS heeft daarvoor de velden Test-URL en Export-Test-URL in het OCI-profiel, zie OCI koppeling AFAS.

Mijn klant accepteert een omschrijving van 50 tekens. Waarom zegt de tester dat het fout is?

De tester controleert tegen de specificatie van OCI 5.0, en die staat 40 tekens toe in NEW_ITEM-DESCRIPTION. Inkoopsystemen gaan er verschillend mee om: het ene kapt af zonder melding, het andere weigert de regel. AFAS leest bijvoorbeeld 30 tekens van NEW_ITEM-VENDORMAT, waar de specificatie 40 toestaat.

Welke velden moet een regel minimaal hebben?

NEW_ITEM-DESCRIPTION of NEW_ITEM-MATNR, en NEW_ITEM-QUANTITY. Zonder MATNR is NEW_ITEM-UNIT verplicht, en zodra er een prijs staat ook NEW_ITEM-CURRENCY. Welke velden je klant daarnaast leest, zoals artikelgroep of btw in een vrij veld, spreek je per klant af.

Vertel wat je nodig hebt

Vertel welke systemen je gebruikt en wat je wilt verbeteren. Je krijgt binnen één werkdag een persoonlijk antwoord. We helpen je de werkzaamheden helder te krijgen en spreken de prijs en planning af voordat je iets toezegt.

  • Je weet de prijs en de doorlooptijd voordat je iets toezegt
  • Wij zoeken uit welke koppeling het werk uit handen neemt
  • Wij verzorgen de bouw, hosting, bewaking en het onderhoud
  • Je team krijgt minder overtypwerk en minder uitzoekwerk

Leveranciers, producten, orders per dag, een ruwe schatting is prima.

Of mail direct: carsten@syncmyshop.com