pconnector

Magento 2

Een pCon-productconfigurator in Magento 2

Een Magento 2-module die je fabrikantcatalogus uit pCon importeert, de 3D-configurator op je productpagina laadt en wegschrijft wat de klant configureerde. Hij installeert met Composer, is opgebouwd uit Magento's eigen constructies, en herschrijft niets in de core.

jouwshop.nl/zitmeubelen/loungestoel.html
pCon-configuratorEen loungestoel met een essenhouten onderstel, als 3D-model in de configurator

FABRIKANTC4C4-210

Meta-eigenschappen

SerieC4 Lounge
MateriaalEssen
OnderstelMassief essen, naturel

Overig

StofferingHaver (A)Terracotta (B)Grafiet (C)
Prijs€ 684,00€ 739,00€ 812,00
1In winkelwagen
Wat er in de winkelwagen komt
Artikel
C4-210-OATC4-210-TERC4-210-GRA
Variantcode
UPH=OAT;GR=A;FR=9016UPH=TER;GR=B;FR=9016UPH=GRA;GR=C;FR=9016
Onderdelen
3 artikelen
Prijs
€ 684,00€ 739,00€ 812,00

Wat de module aan Magento toevoegt

Drie dingen, allemaal binnen de admin en de storefront die je al draait.

Een catalogusbrowser in de admin

Catalog, pCon Catalog Import: loop de echte fabrikantboom door, vink de artikelen aan die je wilt en maak er in één keer producten van. Titel, specificatietabel, prijs, de render als productafbeelding, en merk en serie als attributen waarop je kunt filteren.

De configurator op de productpagina

Een block op de productweergave laadt de configurator in een iframe op je eigen domein, met een Configureer-knop naast Add to Cart. Er wordt niets in het product gebakken: de URL wordt op het moment van renderen samengesteld, dus een andere instance is een admin-wijziging en geen datamigratie.

Een echte orderregel

In winkelwagen post terug over een gesigneerde webhook. De module controleert het token, zet de geconfigureerde prijs op het quote-item en draagt de gekozen eigenschappen door de winkelwagen en de checkout heen naar de order.

Hoe hij installeert

Vier commando's en één instellingenscherm. Heeft je bureau ooit een betaalde Magento-extensie geïnstalleerd, dan komt hier niets onbekends voorbij.

  1. Repository en sleutel toevoegen

    De module staat niet op Packagist en komt dus uit een eigen, besloten Composer-repository. Die voeg je toe aan je project, en de sleutel die je in het portaal aanmaakt zet je in je auth.json, net als bij elke andere commerciële extensie.

  2. composer require, daarna setup:upgrade

    De module registreert zichzelf, voegt zijn productattributen toe via data patches en genereert bij installatie zijn eigen gedeelde secret, versleuteld opgeslagen. Er komt niets in de database dat je met de hand moet voorbereiden.

  3. Wijs hem naar je account

    Stores, Configuration bevat alle instellingen, achter een eigen ACL-resource. Zo kun je het catalogiseren uitbesteden zonder de sleutel uit handen te geven. De verbinding meldt zichzelf aan zodra hij voor het eerst belt.

  4. Importeren, en verkopen

    Catalogus doorlopen, artikelen selecteren, importeren. De producten die eruit komen dragen de artikelreferentie, dus vanaf dat moment stelt de productpagina de juiste configurator zelf samen.

Wat hij van je omgeving vraagt: Magento 2.4 of nieuwer, op PHP 8.3, 8.4 of 8.5. Dat declareert het pakket zelf, dus Composer controleert het voordat er iets geïnstalleerd wordt in plaats van dat je er achteraf achter komt. Het enige dat Composer niet voor je kan nakijken is max_input_vars: zet die op 5000, anders haalt een configuratie van twintig artikelen of meer de winkelwagen niet in één stuk.

Wat er in de order belandt

Dit is wat bepaalt of een configurator speelgoed is of verkoopgereedschap. Per geconfigureerde regel krijgt Magento:

  • De titel van de configuratie en het artikelnummer van de fabrikant, allebei volgend op de configuratie en niet op het catalogusproduct waar het begon
  • De geconfigureerde prijs, als custom price op het quote-item, zodat hij een herlaadbeurt en elke hernieuwde totalenberekening overleeft
  • De gekozen eigenschappen als additional options, die Magento zelf toont in de winkelwagen, de minicart en de checkout, en die bij het plaatsen worden overgenomen op de orderregel
  • De onderdeelartikelen onder de regel, elk met hun eigen nummer en prijs, zodat inkoop erop kan bestellen
  • De render, geïmporteerd in je eigen mediamap en gebruikt als thumbnail op de winkelwagenregel
  • Een link die exact dezelfde configuratie heropent, 24 uur geldig

Architectuur

Gebouwd met Magento's eigen constructies

De moeite waard om precies over te zijn, want het bepaalt wat een upgrade je later kost. Er worden geen core-klassen herschreven en geen templates gepatcht.

In de catalogus

  • De artikelreferentie en de handmatige URL-override zijn productattributen, toegevoegd via data patches
  • Elke pCon-eigenschap wordt een filterbaar select-attribuut, zodat layered navigation op de configuratie-opties zelf werkt
  • Merk en serie worden categorieën, want Magento heeft geen merktaxonomie om ze in te zetten
  • De import schrijft in default scope, zodat de data in het adminformulier verschijnt en in één keer voor alle store views geldt

In de winkelwagen en de order

  • Observers op de gewone quote- en order-events, geen herschreven winkelwagen
  • Een di.xml-plugin voor de thumbnail, en verder niets ingrijpenders
  • De webhook is een frontend-controller met een HMAC-token, dat hij controleert voordat er iets bij de quote in de buurt komt
  • Taal en btw komen uit het verbindingsprofiel, met een store view-uitzondering voor de shops die er een nodig hebben

De import loopt server-to-server achter een sleutel die nooit in de browser komt, de configurator draait op een domeinwhitelist, en in winkelwagen draagt een token dat je eigen shop verifieert. Drie gescheiden kanalen die nooit een geheim delen. Hoe dat in elkaar zit.

Updates lopen via Composer

Een Magento-extensie die je niet via Composer kunt bijwerken is een probleem bij de volgende deploy, geen gemakskwestie. Dit is dus een gewone besloten repository.

Nieuwe versies verschijnen in composer outdated en installeren metcomposer update. Composer controleert de checksum die hij van de repository kreeg voordat hij iets uitpakt, dus een pakket dat onderweg is aangeraakt wordt niet geïnstalleerd.

De downloadlink verloopt met opzet niet, precies andersom dan bij WooCommerce. Composer stuurt zijn eigen inloggegevens mee en schrijft de URL in jecomposer.lock, dus een link die na een dag doodgaat breekt de deploy die je volgende maand draait.

Een gepubliceerde release verandert daarna niet meer. Platform, versie, pakket, checksum en publicatiedatum liggen vast, verwijderen wordt geweigerd en depubliceren ook. Corrigeren betekent een nieuw versienummer, want dat is de enige manier waarop je lockfile iets blijft betekenen.

Geen licentiesleutel, geen aftelklok, geen kill switch. Er zit niets in de module dat je shop kan uitzetten. Loopt een abonnement af, dan houden de nieuwe versies op en blijft doen wat er staat gewoon werken. We verdienen de verlenging liever dan dat we je shop ervoor gijzelen.

Wat het kost

Magento-verbinding

€349per maand, per shop

Of €3.490 per jaar, en dat is tien maanden. Elke volgende shop onder hetzelfde account kost €199 per maand.

  • Catalogusimport en de configurator
  • Moduleversies en ondersteuning
  • Testomgevingen zijn gratis en staan als zodanig geregistreerd

Onboarding, eenmalig

€2500eenmalig

Installatie op jouw omgeving, je aanvraag bij EasternGraphics begeleiden, de attribuutmapping inrichten en de eerste import tegen een echte catalogus nalopen.

Alle bedragen zijn exclusief btw en exclusief de pCon-licentie die je bij EasternGraphics hebt. Magento staat hoger geprijsd dan WooCommerce omdat de omgevingen groter zijn: meer store views, meer deploystraat en meer dat moet blijven werken. Er is geen proefperiode: dit is een dienst met een implementatie, geen app die je aanzet.

Voordat dit kan werken

Je hebt een eigen pCon.ui-instance van EasternGraphics nodig, en zij moeten je shopdomein met de hand op de whitelist zetten. Dat is één live domein plus twee ontwikkeldomeinen, geen wildcards, en elk subdomein apart. Het is de enige stap in de hele onboarding die wij niet voor je kunnen doen, dus we zeggen het hardop in plaats van het in week drie samen te ontdekken. Het portaal haalt de echte status bij EasternGraphics op, zodat je zelf ziet waar je aanvraag staat.

Je fabrikanten moeten bovendien OFML-data publiceren en hun catalogus met jouw account gedeeld hebben. Dat is de vraag die al het andere bepaalt, en precies de vraag die we liever beantwoorden voordat je iets koopt.

Werk je al met pCon?

Geef dat door en welke Magento je draait, dan krijg je een duidelijk antwoord terug over wat we kunnen ontsluiten en wat ervoor nodig is. Het kost niets en je zit nergens aan vast.

Of mail naar info@bewisesolutions.com