S SISL docs PL

Installation

The plugin has two independent installations: the PHP module in Magento and the .NET microservice on the Optima server. Install order doesn't matter — it only works once both are configured and can see each other over the network.

1. Sisl.Sync.Service (Windows Server)

Server requirements

Step by step

1.1. Extract Sisl.Sync.Service-v0.1.0-win-x64.zip to C:\Sisl\sync\publish\ (or other location).

1.2. Open appsettings.Local.json (copy from appsettings.Local.json.example) and fill in:

{
  "Sisl": {
    "Backend": "optima",
    "ListenUrl": "http://0.0.0.0:5000",
    "SharedSecret": "<32-byte hex, openssl rand -hex 32>",
    "Optima": {
      "Server": "YOUR-SERVER\\OPTIMA",
      "Database": "CDN_Firma_Yours",
      "IntegratedSecurity": true,
      "TrustServerCertificate": true,
      "ConnectTimeoutSec": 10
    },
    "License": {
      "Key": "SISL-OPT-XXXX-XXXX-XXXX-XXXX",
      "ServerUrl": "https://license.sisl.pl",
      "ProductCode": "sisl_optima"
    }
  }
}

1.3. Grant the service account (NT AUTHORITY\SYSTEM) db_datareader access on the Comarch database:

USE [CDN_Firma_Yours];
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. Register as a Windows Service (PowerShell as 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 — bridge between Magento and Comarch ERP Optima"
sc.exe start SislSyncService

1.5. Open port 5000 in Windows Firewall (only for internal network / 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. Internal test:

Invoke-WebRequest http://localhost:5000/healthz | Select-Object -ExpandProperty Content

Expected response:

{"backend":"optimasqlclient","databaseName":"CDN_Firma_Yours","connected":true,
 "info":"products=143","license":{"valid":true,"reason":"valid"}}

2. Magento module

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

Manual install (from ZIP)

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

Required PHP extension

Magento 2.4.8+ requires ext-ftp. If you use Mark Shust's Docker image, add to your Dockerfile:

FROM markoshust/magento-php:8.3-fpm-2
USER root
RUN docker-php-ext-install ftp
USER app

3. Magento admin configuration

Stores → Configuration → SISL → Optima Connector

In section 0. License: - License key (received via email after purchase) - License server: https://license.sisl.pl (default)

In section 1. Connection: - Enabled: Yes - Sisl.Sync.Service URL: http://192.168.x.x:5000 (LAN IP of Optima server) - HMAC shared secret: same value as in appsettings.Local.json/SharedSecret - HTTP timeout: 15

Other sections: see Configuration →

4. First sync

After saving configuration:

SISL Optima → Dashboard in left sidebar → button "Sync products + stock now".

First run pulls all products from Optima into Magento. Time depends on SKU count (1000 products ≈ 15-30s).

5. Verification

SISL Optima → Diagnostics should show 14 green OK. If something is WARN/FAIL — click on it, the hint will show what to fix.

Next: Configuration →