S SISL docs EN

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

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 →