pconnector

Documentatie

Begrippen

Zes ideeën waar de rest van de handleiding op leunt. Geen ervan is moeilijk, maar er twee door elkaar halen is de meest voorkomende reden dat een onboarding vastloopt, en het zijn de tweede en de derde die door elkaar gehaald worden.

Wat OFML-data is

Europese meubelfabrikanten publiceren hun programma's als OFML-data. Dat is geen prijslijst en geen productfeed. Het draagt de optiegroepen, de afhankelijkheden tussen opties, de afwerkingen, de prijzen en de 3D-geometrie, en die samen betekenen iets wat een feed niet kan uitdrukken: of een bepaalde combinatie überhaupt te bouwen is, en wat hij kost.

Dat onderscheid is de hele reden dat deze koppeling bestaat. Een variantensysteem in een shop kan twaalf optiegroepen opslaan. Het kan niet weten dat één armhoogte twee onderstellen uitsluit, dus een webshop die het product met de hand nabouwt verkoopt vrolijk iets wat de fabriek niet kan maken.

Daar volgen twee dingen uit, en ze bepalen of hier iets van op jou van toepassing is. De fabrikant moet OFML-data publiceren, en hij moet die catalogus met jouw account gedeeld hebben. Allebei is zijn beslissing, niet de onze en niet de jouwe. Weet je het niet zeker, zoek dat dan als eerste uit, want al het andere doet er pas toe als dit beantwoord is.

pCon.ui en pCon.basket

Allebei van EasternGraphics, allebei configureren ze dezelfde OFML-data, en ze zijn niet uitwisselbaar. Het ene licenseren geeft je het andere niet.

pCon.ui is de configurator die in de browser van een bezoeker draait, op een pagina van jou. Hij bedient anonieme bezoekers, wat precies is wat een webshop nodig heeft, en hij wordt toegestaan op basis van welke domeinen hem mogen tonen. Dit is het product onder de webshopkant van pconnector.

pCon.basket Online is de volledige configuratie- en offeringsomgeving waar je verkopers waarschijnlijk al mee werken. Hij is gelicenseerd per named user en weigert anonieme sessies, dus het aantal plekken dat je afneemt is het aantal mensen dat tegelijk kan configureren. Dit is het product onder de ERP-kant.

Al het andere in deze handleiding splitst langs die lijn. De webshopkant heeft een catalogusimport, een domeinwhitelist en een winkelwagen. De ERP-kant heeft geen van drieën en heeft in plaats daarvan een login en een plek.

Wat een gatekeeper is

Een gatekeeper is jouw instantie van een pCon-product: een configuratie bij EasternGraphics die bepaalt welke catalogi je ziet, in welke valuta, met welke btw-behandeling, of anonieme bezoekers mogen, en welke domeinen hem mogen tonen. Hij heeft een id.

In de praktijk betekent het dat de configurator op je productpagina geen algemeen gereedschap is dat naar jouw data wijst. Het is jouw instantie, met jouw catalogus en jouw prijzen, in jouw pagina. Twee klanten met dezelfde fabrikant zien verschillende prijzen, omdat ze verschillende gatekeepers hebben.

Een gatekeeper-id is niet geheim zoals een sleutel dat is, maar het is ook geen openbare informatie om rond te strooien: het identificeert je licentie. In deze koppeling staat hij centraal per klant en wordt hij bij het renderen in de configurator-URL gezet, en daarom is van instantie wisselen één wijziging in één scherm in plaats van een migratie over elk product.

Een instantie is daarnaast of een shop-instantie of een lead-instantie, en dat bepaalt EasternGraphics bij het inrichten. Een shop-instantie eindigt in de winkelwagen: de configuratie gaat naar je shop en wordt daar een orderregel. Een lead-instantie eindigt in een aanvraag: de bezoeker vult het formulier in de configurator in en EasternGraphics stuurt die aanvraag naar jou door. Eén instantie doet er één van en nooit allebei, en alleen EasternGraphics kan het omzetten. Je portaal leest rechtstreeks bij hen op welke van de twee je hebt, dus dit kun je nakijken in plaats van aannemen.

De domeinwhitelist

De configurator in de browser wordt toegestaan op domein. EasternGraphics houdt een lijst bij van de domeinen die jouw instantie mogen tonen, en een pagina op elk ander domein wordt geweigerd.

Drie dingen over die lijst zijn het waard om te weten voordat je een onboarding plant, want ze verrassen alle drie regelmatig:

  • Hij gaat met de hand, op aanvraag. Het is geen veld dat je zelf kunt aanpassen, en het is de enige stap in het hele traject die op iemand anders wacht
  • Er zijn geen wildcards. Elk subdomein is een aparte regel, dus je testomgeving en je live omgeving zijn twee aanvragen en niet één
  • Je krijgt één live domein plus twee ontwikkeldomeinen. Voor de meeste opzetten is dat genoeg en voor sommige krap, dus bedenk welke drie voordat je aanvraagt

Er is geen foutmelding die een bezoeker vertelt wat er aan de hand is. Een pagina op een onbekend domein krijgt simpelweg geen werkende configurator, en daarom leest een whitelist-probleem zo vaak als een fout in je eigen pagina. Het portaal haalt de echte lijst terug bij EasternGraphics, dus je kunt nakijken wat erop staat in plaats van te gokken.

De twee gescheiden werelden

Dit is waar een goed bureau als eerste naar vraagt, en het eerlijke antwoord is kort: de catalogusimport en de configurator zijn twee gescheiden kanalen die nooit een geheim delen.

Server naar server
  1. Je shop-admin
  2. pconnector
  3. De catalogus

Draagt een sleutel die aan jou is uitgegeven en die nooit in een browser komt. Dit is de kant die artikelen, prijzen en renders importeert.

In de browser
  1. Je productpagina
  2. De configurator
  3. Je winkelwagen

Draagt helemaal geen sleutel. Hij is toegestaan omdat EasternGraphics je domein herkent, en het antwoord komt ondertekend terug.

De twee delen nooit een geheim. Dat is het punt, geen detail.

De import loopt van jouw server naar de onze en draagt een sleutel die aan jou is uitgegeven. Die sleutel komt nooit in een browser, want niets in de browser heeft hem ooit nodig. De configurator draait in de browser van de bezoeker en draagt geen sleutel, want hij is toegestaan op grond van het domein waarop hij staat. En de stap waar de twee elkaar raken, een geconfigureerd item in de winkelwagen zetten, is een verzoek dat je eigen shop ontvangt, controleert en pas daarna uitvoert.

Het praktische gevolg: een sleutel die uitlekt kan niet configureren, en een pagina die wordt uitgelezen levert niets op waarmee je de catalogus opent. Er is geen enkel geheim waarvan het verlies iemand de hele koppeling in handen geeft.

Wie wat levert

Vier partijen, en de onboarding loopt het vaakst mis wanneer er twee allebei denken dat de ander iets regelt.

De fabrikant publiceert OFML-data en bepaalt of jouw account zijn catalogus mag zien. Niemand anders kan dat geven.

EasternGraphics licenseert je pCon-instantie en beheert de domeinwhitelist. Die licentie heb je rechtstreeks bij hen of via je distributeur. Wij verkopen hem niet door, en we zijn niet hun partner en niet hun reseller.

pconnector is de laag ertussen: hij praat namens jou met de catalogus, geeft je shop of ERP de instellingen die hij nodig heeft, en levert de adapter die het platformwerk doet. Hij bewaart je instellingen en je sleutels, en hij zet nooit je pCon-inloggegevens in je shop of je ERP.

Jij, of het bureau dat je platform onderhoudt, installeert de adapter, draait de import, en bepaalt hoe de configurator op de pagina staat. Het grootste deel van deze handleiding is voor wie dat ook is.

Wat als verbinding telt

Een verbinding is één shop of één ERP op één domein. Het is ook de eenheid die gefactureerd wordt, en daarom loont het om er precies over te zijn.

Een sleutel wordt uitgegeven voor een bepaalde site en wordt van elke andere geweigerd. Een verzoek dat helemaal geen site meldt wordt ook geweigerd, want anders zou het veld weglaten de manier eromheen zijn. Daarmee is een sleutel waardeloos om naar een tweede shop te kopiëren, en dat is de bedoeling: één inbraak hoort niet de inbraak van alle shops te zijn.

Test- en acceptatieomgevingen zijn ook verbindingen, en ze zijn gratis zolang ze als zodanig geregistreerd staan. Registreer ze liever dan dat je een testomgeving op een live sleutel zet: een sleutel die tussen omgevingen gedeeld wordt, is de sleutel die het vaakst in een publieke repository belandt.

Taal zit op twee plekken

Dit zorgt voor meer verwarring dan al het andere hierboven, dus het is een begrip en geen voetnoot.

De catalogusimport volgt een taalketen aan onze kant: een lijst talen die op volgorde geprobeerd wordt tot er één antwoordt. De configurator volgt de taal van de pagina waarin hij staat. Dat zijn twee verschillende instellingen, en ze ongelijk laten betekent dat de shop de ene taal toont en de configurator de andere.

Er zit een tweede val in de eerste. De keten valt niet per veld terug. Vraag je één taal en levert de fabrikant die niet, dan krijg je geen half vertaald artikel: je krijgt het artikelnummer en helemaal geen eigenschappen, terwijl de prijs en de render er prima uitzien. Daarom ziet een mislukte import er zo zelden uit als een mislukte import. Niet elke fabrikant levert elke taal, dus dit controleer je voordat je een merk onboardt en niet erna.

Verder