Ga naar inhoud

Externe afhankelijkheden

Dit overzicht beschrijft de externe systemen waarop de Atraxion-webshop steunt. Geen credentials of inloggegevens zijn opgenomen. Zie Integraties voor de technische implementatie per client.


Overzichtstabel

Systeem Client-locatie Protocol Rol
Odoo ERP src/Odoo/ REST/JSON-RPC (HTTP) Primair ERP: facturen, partners, producten, stock, prijzen, orders, leveringsbonnen
Odoo-middleware src/Odoo/ REST (HTTP) Tussenlaag voor order- en partner-synchronisatie
Pay.nl paynl/sdk (Composer) REST (HTTPS) Betalingsgateway — aanmaken, statuscheck, refunds, webhooks
Transsmart src/Transsmart/ REST (HTTPS) Verzendtarieven, aanmaken zendingen, labels, tracking
DriveRight src/Atraxion/DriveRight/ + _core/model/classes/atx/vehicles/driveright/ REST (HTTPS) Voertuigdata: kenteken-lookup, maatvoering, fitment-criteria
Tyre24 src/Tyre24/ REST (HTTPS) Extern verkoopplatform: stockexport, orderimport, factuurinzending
Autodoc src/Autodoc/ REST/middleware (HTTPS) Extern verkoopplatform: stockexport en orderimport
Amazon SP-API src/Amazon/Fulfillment/ REST (HTTPS) Extern verkoopplatform: listings, orderimport, tracking-bevestiging
Qweon src/Qweon/ REST (HTTPS) Extern platform: band-listings exporteren/importeren
Rhinoman src/Rhinoman/ Bestand/FTP Stockbestand genereren voor Rhinoman-kanaal
Arteel src/Arteel/ REST (HTTPS) Loyaliteitsprogramma: punten toekennen, balans opvragen, uitbetalen
Cloudflare src/Cloudflare/ REST (HTTPS) CDN, DDoS-bescherming, DNS, caching van statische assets
Sentry sentry/sentry (Composer) + bootstrap.php HTTPS (DSN) Fout- en exception-monitoring in real-time
Matomo src/Matomo/ HTTP/HTTPS (tracking-pixel + API) Webanalytics (privacy-conform, eigen server)
VirusTotal src/VirusTotal/ REST (HTTPS) Virusscan van geüploade orderdocumenten
Evox src/Evox/ REST (HTTPS) Voertuigafbeeldingen (download per voertuig)
Facebook src/Facebook/ HTTPS (feed-bestand) Productfeed voor Facebook-catalogus
Leveranciers FTP _shopupdating/cronjobs/atx/suppliers/ FTP(S) Voorraadfeeds van leveranciers ophalen
MAK-FTP (simulator) _shopupdating/cronjobs/atx/vehicles/simulator/ FTP Velgsimulator-CSV's uploaden
Qteam FTP src/Atraxion/Qdis/ + _shopupdating/cronjobs/atx/orders/qteam_ftp_upload.php FTP Orderdata uploaden naar Qteam-partners
Maxityre src/Maxityre/ Bestand/import Importmapping voor Maxityre-bandfeeds
Wheelpope src/Wheelpope/ REST (HTTPS) Velgdata-integratie
Mailpit (lokaal) SMTP Lokale SMTP-opvanger (alleen dev, poort 1025)

Odoo ERP

Locatie: src/Odoo/

Odoo is het primaire ERP-systeem van Atraxion. De shop communiceert via een JSON-RPC/REST-client (src/Odoo/JsonRpcClient.php) rechtstreeks met Odoo én via een middleware-laag (src/Odoo/HttpMiddlewareClient.php).

Belangrijkste datafstromen:

  • Partners: klanten worden als Odoo-partners gesynchroniseerd (odoo:sync:partners, odoo:upload:partners).
  • Producten & prijzen: productdata en akkoordprijzen (Akprijs) komen van Odoo (odoo:sync:products, odoo:sync:product-prices).
  • Bestellingen: orders worden geüpload naar Odoo (odoo:upload:orders) en gesynchroniseerd (odoo:sync:orders).
  • Facturen & leveringsbonnen: worden gedownload van Odoo-middleware (middleware:download:invoices, middleware:download:delivery-slips).
  • Stock: Atraxion-eigen stock wordt naar Odoo gepusht (odoo:sync:atraxion-stock).

Transportprijzen komen ook van Odoo (Transsmart-pad): de shop vertrouwt de Odoo-prijs en accepteert ook €0 zonder harde country-gate. Zie Verzending.


Pay.nl

Package: paynl/sdk (Composer)

Pay.nl is de betalingsgateway voor alle betalingen in de shop. De shop maakt betalingen aan, controleert de betaalstatus en verwerkt terugbetalingen via de Pay.nl REST-API. Pay.nl stuurt betaalstatus-updates terug via webhooks (/payment/exchange).

Zie Betalingen.


Transsmart

Locatie: src/Transsmart/

Transsmart levert verzendtarieven en verwerkt de aanmaak van zendingen. De shop vraagt tarieven op via REST en bepaalt zo de verzendkosten bij checkout. Bij het aanmaken van een zending worden labels en tracking-informatie teruggeleverd. Als Transsmart geen tarief retourneert, valt de shop terug op de order_transport_price-tabel in de database.

Zie Verzending.


DriveRight

Locatie: src/Atraxion/DriveRight/ (moderne client) + _core/model/classes/atx/vehicles/driveright/ (legacy modellen)

DriveRight levert Nederlandse voertuigdata: kentekenopzoeking en fitment-criteria (welke bandmaten/velgen passen op welk voertuig). De cron updateDriveRight.php synchroniseert periodiek fabrikanten, modellen, voertuigen en velg-upsteps. Bij PCD-wijzigingen stuurt driveright:send-pcd-changes-mail een melding.

Zie Voertuigdata & fitment.


Externe verkoopplatformen

Tyre24

Locatie: src/Tyre24/

Tyre24 is een Europees band-handelsplatform. De shop exporteert stock-listings (t24:listings:tyres) en importeert orders die binnenkomen (t24:queue-orders, _shopupdating/cronjobs/atx/orders/getOrders.php). Facturen en tracking worden via Tyre24OrderUpdater naar de API gestuurd; t24:submit-invoice herprobeert late facturen door naar diezelfde updater te delegeren.

Autodoc

Locatie: src/Autodoc/

Autodoc is een ander extern verkoopplatform. Stock-export en orderimport verlopen gelijkaardig aan Tyre24.

Amazon SP-API

Locatie: src/Amazon/Fulfillment/

Amazon Seller Partner API. De shop exporteert stock en GBP-prijzen (exportStock.php), importeert orders (retrieveOrders.php) en confirmeert zendingen via tracking-upload (uploadTrackings.php).

Qweon

Locatie: src/Qweon/

Band-platform waarop listings worden gepusht en orders geïmporteerd via qweon:pull-tyres / qweon:push-tyres.

Rhinoman / Evox / Wheelpope

  • Rhinoman (src/Rhinoman/): genereren van een stockbestand voor de Rhinoman-distributeur.
  • Evox (src/Evox/): downloaden van voertuigafbeeldingen per voertuigtype.
  • Wheelpope (src/Wheelpope/): velgdata-integratie.

Order-matching voor alle platformen: Artnr → EAN → Fabrikantcode. Een niet-gematchte regel resulteert in een bewust zichtbare lege orderregel (geen stille verwerping). Zie Externe platformen.


Arteel

Locatie: src/Arteel/

Arteel beheert het loyaliteitsprogramma voor opt-in klanten. De shop kent punten toe na een bestelling (atx:loyalty:payout-confirmed-points) en synchroniseert klantprofielen via REST. Uitbetaling verloopt via het Arteel-portaal. Klanten die niet ingeschreven zijn, kunnen geen punten ontvangen of uitbetalen.

Zie Loyaliteit.


Cloudflare

Locatie: src/Cloudflare/CloudflareService.php

Cloudflare staat voor het productie-domein (www.atraxion.com) als CDN en DDoS-bescherming. Statische assets worden gecached. De CloudflareService biedt een interface om de Cloudflare-cache te purgen bij contentwijzigingen.


Sentry

Locatie: initialisatie in _www/appconfig/bootstrap.php via sentry/sentry (Composer)

Sentry vangt alle onbehandelde exceptions en PHP-fouten op in real-time. DSN en omgevingslabel worden geconfigureerd in environment_constants.php. Deploy-artefacten (class-not-found / EntityManagerClosed direct na release) zijn geen echte bugs.

Zie Observability.


Matomo

Locatie: src/Matomo/MatomoFacade.php

Matomo is de privacyvriendelijke webanalyticsoplossing op een zelf-gehoste instantie (matomo.atraxion.localhost lokaal, eigen server in productie). Paginaweergaven en events worden bijgehouden via de tracking-pixel en de Matomo PHP API.

Zie Observability.


VirusTotal

Locatie: src/VirusTotal/

Geüploade orderdocumenten (EDI-bijlagen, RMA-documenten) worden asynchroon gescand via de VirusTotal REST-API. Het command order-documents:check-virus-scan pollt de scanresultaten. Bij een positieve detectie stuurt infected-documents:send-notifications een melding.


Leveranciers-FTP

Leveranciers stellen stockfeeds beschikbaar via FTP(S)-servers. De scripts checkAllSupplierStock.php en checkSupplierStock.php downloaden periodiek de feeds en importeren de voorraden. Leveranciersconfiguratie (hostnamen, paden, inloggegevens) is opgeslagen in de database, niet in de repo.

Zie Voorraadimport.


MAK-simulator FTP

_shopupdating/cronjobs/atx/vehicles/simulator/sendMakFiles.php uploadt CSV-bestanden voor de velgsimulator naar een FTP-endpoint van MAK. Inloggegevens staan in de configuratie op de server.


Qteam FTP

src/Atraxion/Qdis/Command/QteamFtpUploadCommand.php en _shopupdating/cronjobs/atx/orders/qteam_ftp_upload.php uploaden orderdata naar Qteam-FTP-servers (configuratie per server-ID in de database).


Facebook

Locatie: src/Facebook/Command/FeedGenerateCommand.php

Genereert een productfeed (XML/CSV) voor de Facebook-catalogus. De feed wordt periodiek gegenereerd en via een publiek toegankelijke URL aangeboden aan Facebook.


Geen credentials in repo

API-sleutels, wachtwoorden en FTP-inloggegevens staan uitsluitend in _www/appconfig/environment_constants.php (nooit gecommit) of in de database-configuratietabellen op de server.