Instalacja
Plugin to dwie niezależne instalacje: moduł PHP w Magento i mikrousługa .NET na serwerze Optimy. Można je instalować w dowolnej kolejności — działa dopiero gdy oba są skonfigurowane i widzą się po sieci.
1. Mikrousługa Sisl.Sync.Service (Windows Server)
Wymagania serwera
- Windows Server 2019 lub nowszy
- Comarch Optima zainstalowana, baza w SQL Server (lokalna lub zdalna)
- Konto Windows administratora (do instalacji service'u)
- Wolny port TCP 5000 (lub inny, do skonfigurowania)
Krok po kroku
1.1. Rozpakuj Sisl.Sync.Service-v0.1.0-win-x64.zip do C:\Sisl\sync\publish\ (lub innej ścieżki).
1.2. Otwórz appsettings.Local.json (skopiuj z appsettings.Local.json.example) i wypełnij:
{
"Sisl": {
"Backend": "optima",
"ListenUrl": "http://0.0.0.0:5000",
"SharedSecret": "<32-bajtowy hex, openssl rand -hex 32>",
"Optima": {
"Server": "TWOJ-SERWER\\OPTIMA",
"Database": "CDN_Firma_Twoja",
"IntegratedSecurity": true,
"TrustServerCertificate": true,
"ConnectTimeoutSec": 10
},
"License": {
"Key": "SISL-OPT-XXXX-XXXX-XXXX-XXXX",
"ServerUrl": "https://license.sisl.pl",
"ProductCode": "sisl_optima"
}
}
}
1.3. Daj kontu serwisu (NT AUTHORITY\SYSTEM) dostęp db_datareader do bazy Comarcha:
USE [CDN_Firma_Twoja];
CREATE LOGIN [NT AUTHORITY\SYSTEM] FROM WINDOWS;
CREATE USER [NT AUTHORITY\SYSTEM] FOR LOGIN [NT AUTHORITY\SYSTEM];
ALTER ROLE [db_datareader] ADD MEMBER [NT AUTHORITY\SYSTEM];
1.4. Zarejestruj jako Windows Service (PowerShell jako Administrator):
sc.exe create SislSyncService binPath= "C:\Sisl\sync\publish\Sisl.Sync.Service.exe" start= auto DisplayName= "SISL Optima Sync Service"
sc.exe description SislSyncService "SISL Sync — most między Magento a Comarch ERP Optima"
sc.exe start SislSyncService
1.5. Otwórz port 5000 w Windows Firewall (tylko dla sieci wewnętrznej / VPN):
New-NetFirewallRule -DisplayName "SISL Sync Service - LAN" `
-Direction Inbound -Protocol TCP -LocalPort 5000 `
-RemoteAddress "192.168.0.0/16","10.0.0.0/8","100.64.0.0/10" `
-Action Allow -Profile Any
1.6. Test wewnętrzny:
Invoke-WebRequest http://localhost:5000/healthz | Select-Object -ExpandProperty Content
Oczekiwana odpowiedź:
{"backend":"optimasqlclient","databaseName":"CDN_Firma_Twoja","connected":true,
"info":"products=143","license":{"valid":true,"reason":"valid"}}
2. Moduł Magento
Instalacja przez composer (zalecana)
cd /var/www/html
composer config repositories.sisl composer https://repo.sisl.pl
composer require sisl/module-optima:^0.1
bin/magento module:enable Sisl_Optima
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
Instalacja ręczna (z ZIP-a)
cd /var/www/html
mkdir -p app/code/Sisl
unzip Sisl_Optima-v0.3.0.zip -d app/code/Sisl/
bin/magento module:enable Sisl_Optima
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush
Wymagana zmiana PHP
Magento 2.4.8+ wymaga rozszerzenia ext-ftp. Jeśli używasz Dockera od Mark Shusta, dodaj do swojego Dockerfile:
FROM markoshust/magento-php:8.3-fpm-2
USER root
RUN docker-php-ext-install ftp
USER app
3. Konfiguracja w admin Magento
Stores → Configuration → SISL → Optima Connector
W sekcji 0. Licencja:
- Klucz licencji (otrzymasz mailem po zakupie)
- Serwer licencyjny: https://license.sisl.pl (domyślnie)
W sekcji 1. Połączenie:
- Włączone: Yes
- URL Sisl.Sync.Service: http://192.168.x.x:5000 (LAN IP serwera Optimy)
- HMAC shared secret: ta sama wartość co w appsettings.Local.json/SharedSecret
- HTTP timeout: 15
Pozostałe sekcje: zobacz Konfiguracja →
4. Pierwszy sync
Po zapisaniu konfiguracji:
SISL Optima → Dashboard w lewej kolumnie → przycisk "Synchronizuj produkty + stany teraz".
Pierwszy run przeciągnie wszystkie produkty z Optimy do Magento. Czas zależy od ilości SKU (1000 produktów ≈ 15-30s).
5. Weryfikacja
SISL Optima → Diagnostyka powinno pokazać 14 zielonych OK. Jeśli któryś WARN/FAIL — kliknij w niego, podpowiedź pokaże co naprawić.
Następny krok: Konfiguracja →