update
This commit is contained in:
167
.paul/codebase/integrations.md
Normal file
167
.paul/codebase/integrations.md
Normal file
@@ -0,0 +1,167 @@
|
||||
# External Integrations
|
||||
|
||||
**Analysis Date:** 2026-05-10
|
||||
|
||||
## APIs & External Services
|
||||
|
||||
### Payment Gateways
|
||||
|
||||
- **PayNow (BLIK / bank transfer / card)** — `modules/paynow/paynow.php` (v1.6.35)
|
||||
- SDK: `pay-now-php-sdk` (Guzzle HTTP, PSR-7)
|
||||
- Auth: API key / signature (configured in module back-office)
|
||||
- Functions: payment authorization, refund, GDPR
|
||||
- Webhook: payment status notification with retry/stop logic
|
||||
|
||||
- **Santander eRaty (installment credit)** — `modules/santandercredit/santandercredit.php` (v5.5)
|
||||
- PL-specific Santander Consumer Bank
|
||||
- Calculator widget + simulator iframe
|
||||
- Hooks: order state confirmation
|
||||
|
||||
- **Check Payment** — `modules/ps_checkpayment/`
|
||||
- **Wire Transfer** — `modules/ps_wirepayment/`
|
||||
|
||||
### Marketplace
|
||||
|
||||
- **Empik Marketplace** — `modules/empikmarketplace/empikmarketplace.php` (v1.6.5)
|
||||
- Guzzle HTTP client
|
||||
- Symfony DI container
|
||||
- Sync orders, products, inventory with Empik.com
|
||||
- Cron controllers — `modules/empikmarketplace/controllers/cron/`
|
||||
|
||||
### Shipping & Logistics
|
||||
|
||||
- **DPD Polska** — `modules/dpdpoland/dpdpoland.php`
|
||||
- Custom API integration — `modules/dpdpoland/config.api.php`
|
||||
- Manifest, package, pickup webservices
|
||||
- PDF label generation
|
||||
|
||||
### Reviews & Ratings
|
||||
|
||||
- **Ceneo.pl Trusted Reviews** — `modules/ceneo_trustedreviews/ceneo_trustedreviews.php` (v1.0.1)
|
||||
- **eKomi Ratings & Reviews** — `modules/ekomiratingsandreviews/ekomiratingsandreviews.php`
|
||||
- API: `https://plugins-dashboard.ekomiapps.de/api/v1/order`
|
||||
- Validation: `https://api.ekomi.de/v3/getSettings`
|
||||
- Cron-based export
|
||||
- **eKomi SFF (Shop Feedback Form)** — `modules/ekomiSff/`
|
||||
- **PrestaShop Product Comments** — `modules/productcomments/`
|
||||
|
||||
### Analytics & Tracking
|
||||
|
||||
- **Google Analytics 4 Pro** — `modules/pdgoogleanalytycs4pro/pdgoogleanalytycs4pro.php` (v1.0.2)
|
||||
- SDK: `br33f/php-ga4-mp` (GA4 Measurement Protocol)
|
||||
- Enhanced conversions with phone (uses `libphonenumber-for-php`)
|
||||
- Refund tracking, Google Ads (AW) conversions, Merchant Center
|
||||
|
||||
- **Google Merchant Center Pro** — `modules/pdgooglemerchantcenterpro/`
|
||||
|
||||
- **BAE Commerce Tracking** — `modules/baecommercetracking/baecommercetracking.php` (v1.0.6)
|
||||
- GA + Google Ads conversion + Facebook Pixel events
|
||||
|
||||
- **Facebook Conversion Pixel** — `modules/fbpixel/fbpixel.php` (v2.0.2)
|
||||
- Purchase event injection at order confirmation
|
||||
|
||||
- **20+ PrestaShop stats modules** — `modules/dash*`, `modules/stats*`
|
||||
|
||||
### Customer Communication
|
||||
|
||||
- **Smartsupp Live Chat** — `modules/smartsupp/smartsupp.php`
|
||||
|
||||
### Spam / Bot Protection
|
||||
|
||||
- **Google reCAPTCHA** — `modules/eicaptcha/vendor/google/recaptcha/`
|
||||
- Also referenced in `buy-by-phone.php` (key hardcoded — see `concerns.md`)
|
||||
|
||||
### Content / SEO
|
||||
|
||||
- **XML Feeds** — `modules/xmlfeeds/`
|
||||
- **Google Sitemap** — `modules/gsitemap/`
|
||||
- **Advanced SEO Pro** — `modules/arseopro/`
|
||||
- **Link Rewriter** — `modules/x13linkrewrite/`
|
||||
|
||||
### Product / Content Management
|
||||
|
||||
- **App Page Builder** — `modules/appagebuilder/` (CodeMirror editor)
|
||||
- **Cross-Sell Pro (custom)** — `modules/crosssellpro/`
|
||||
- **Image Hover Effects** — `modules/ybc_productimagehover/`
|
||||
- **WebP Optimization** — `modules/x13webp/` (uses `.htaccess` rewrite)
|
||||
|
||||
### GDPR / Security
|
||||
|
||||
- **GDPR Data Privacy** — `modules/ps_dataprivacy/`
|
||||
- **Cookies Plus** — `modules/cookiesplus/`
|
||||
- **Security Watcher** — `modules/securitywatcher/`
|
||||
|
||||
### External XML Feed (custom script)
|
||||
|
||||
- `import-product.php` fetches `https://amz.com.pl/bazy-produktow-export/produkty-amz.xml` for batch product updates
|
||||
|
||||
## Data Storage
|
||||
|
||||
**Database:**
|
||||
- MySQL with InnoDB
|
||||
- Connection: `app/config/parameters.php` (DB host, name, user, password — currently committed; see `concerns.md`)
|
||||
- DB prefix: `materac_` (schema `admin_drmaterac`)
|
||||
- ORM: PrestaShop `ObjectModel` (front-office), Doctrine (admin Symfony layer)
|
||||
|
||||
**File Storage:**
|
||||
- Local filesystem (PrestaShop default)
|
||||
- Image variants in `img/` (PrestaShop core layout)
|
||||
- WebP variants generated by `modules/x13webp/`
|
||||
|
||||
**Caching:**
|
||||
- Memcached configured but disabled — `app/config/parameters.php` (`ps_caching: CacheMemcached`, `ps_cache_enable: false`)
|
||||
- `modules/pagecache/` — page-level cache module (uses override of `Hook.php`)
|
||||
|
||||
## Authentication & Identity
|
||||
|
||||
**Customer auth:**
|
||||
- PrestaShop core (cookies + DB)
|
||||
|
||||
**Admin auth:**
|
||||
- Symfony Security via `iadmin/` AppKernel
|
||||
- Custom-named admin folder is *not* a security control (security through obscurity — see `concerns.md`)
|
||||
|
||||
**Service auth (per-integration):**
|
||||
- API keys / OAuth tokens stored in PrestaShop `Configuration` (DB `ps_configuration` / `materac_configuration` table) per module
|
||||
|
||||
## Email / SMTP
|
||||
|
||||
- SMTP at `127.0.0.1:25` — `app/config/parameters.php`
|
||||
- PrestaShop mail templates: `mails/{en,pl}/`
|
||||
- Custom transactional: `buy-by-phone.php` uses bundled `phpmailer/` (with hardcoded SMTP credentials — see `concerns.md`)
|
||||
|
||||
## Multi-Domain Routing
|
||||
|
||||
- Two domains served from one install — `.htaccess`
|
||||
- `drmaterac.pl` (primary)
|
||||
- `lulandia.pl` (secondary)
|
||||
- Per-domain image rewrite + WebP fallback rules
|
||||
|
||||
## Webhooks
|
||||
|
||||
**Incoming:**
|
||||
- PayNow payment notifications — `modules/paynow/` controllers
|
||||
- Empik Marketplace cron callbacks — `modules/empikmarketplace/controllers/cron/`
|
||||
- eKomi cron-based order export
|
||||
|
||||
**Outgoing:**
|
||||
- GA4 Measurement Protocol — `modules/pdgoogleanalytycs4pro/`
|
||||
- Facebook Pixel events — `modules/fbpixel/`
|
||||
- Empik order/inventory sync — `modules/empikmarketplace/`
|
||||
|
||||
## Environment Configuration
|
||||
|
||||
- All secrets currently in `app/config/parameters.php` (committed) — DB password, app secret, cookie keys
|
||||
- No `.env` / `.env.example` mechanism in use
|
||||
- **Rotation required** for any credential exposed in git history (see `concerns.md`)
|
||||
|
||||
## CI/CD & Deployment
|
||||
|
||||
- No CI workflows detected (no `.github/workflows/`, no `.gitlab-ci.yml`)
|
||||
- Deploy method appears manual / FTP — daily Polish changelog at `changelog/YYYY-MM-DD.md`
|
||||
- `iadmin/autoupgrade/` contains `prestashop_1.7.5.1.zip` — appears to be an upgrade payload left in webroot
|
||||
|
||||
---
|
||||
|
||||
*Integration audit: 2026-05-10*
|
||||
*Update when adding/removing external services*
|
||||
Reference in New Issue
Block a user