Zum Inhalt springen

OmniSeller.ini Referenz: Unterschied zwischen den Versionen

Aus HTK Wiki
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:


= OmniSeller.ini Referenz =
= OmniSeller.ini Referenz =
Zeile 10: Zeile 11:
Schluessel = Wert
Schluessel = Wert


</source>'''Hinweis:''' Bei Boolean-Werten gilt: <code>0</code> = deaktiviert, <code>1</code> = aktiviert.
</source>
 
'''Hinweis:''' Bei Boolean-Werten gilt: <code>0</code> = deaktiviert, <code>1</code> = aktiviert.


== Sektionen ==
== Sektionen ==
Zeile 17: Zeile 20:
Datenbankverbindung zur ERP-Datenbank (Sage 100).
Datenbankverbindung zur ERP-Datenbank (Sage 100).
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>ConnectionString</code>
| <code>ConnectionString</code>
|String
| String
|–
| –
|SQL Server Connection String
| SQL Server Connection String
|-
|-  
|<code>ConnectionStringEncrypted</code>
| <code>ConnectionStringEncrypted</code>
|0/1
| 0/1
|0
| 0
|Ob der ConnectionString verschlüsselt ist
| Ob der ConnectionString verschlüsselt ist
|}
|}
'''Beispiel:'''<source lang="ini">
'''Beispiel:'''<source lang="ini">
Zeile 40: Zeile 43:
ConnectionStringEncrypted = 0
ConnectionStringEncrypted = 0


</source>'''Hinweis:''' Der ConnectionString kann über das Setup oder den Service selbst verschlüsselt werden. Bei <code>ConnectionStringEncrypted = 1</code> wird DPAPI zur Entschlüsselung verwendet.
</source>
 
'''Hinweis:''' Der ConnectionString kann über das Setup oder den Service selbst verschlüsselt werden. Bei <code>ConnectionStringEncrypted = 1</code> wird DPAPI zur Entschlüsselung verwendet.


=== [Host] ===
=== [Host] ===
Netzwerk-Einstellungen für die TCP-Kommunikation.
Netzwerk-Einstellungen für die TCP-Kommunikation.
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>Port</code>
| <code>Port</code>
|Integer
| Integer
|10084
| 10084
|TCP-Port für Client-Signale (z.B. vom Setup)
| TCP-Port für Client-Signale (z.B. vom Setup)
|}
|}
'''Beispiel:'''<source lang="ini">
'''Beispiel:'''<source lang="ini">
Zeile 62: Zeile 67:


</source>
</source>
=== [OmniSellerAPI] ===
=== [OmniSellerAPI] ===
Verbindung zur OmniSeller Cloud-API.
Verbindung zur OmniSeller Cloud-API.
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>BaseURL</code>
| <code>BaseURL</code>
|String
| String
|<nowiki>https://api.omnisellerservices.de</nowiki>
| <nowiki>https://api.omnisellerservices.de</nowiki>
|API-Basis-URL
| API-Basis-URL
|-
|-  
| -
| -
| -
| -
|–
| –
| -
| -
|-
|-  
|<code>Heartbeat</code>
| <code>Heartbeat</code>
|0/1
| 0/1
|0
| 0
|Azure Service Bus Heartbeat aktivieren
| Azure Service Bus Heartbeat aktivieren
|-
|-  
|<code>Endpoint</code>
| <code>Endpoint</code>
|String
| String
|(intern)
| (intern)
|Optionaler Custom Service Bus Endpoint
| Optionaler Custom Service Bus Endpoint
|}
|}
'''Beispiel:'''<source lang="ini">
'''Beispiel:'''<source lang="ini">
Zeile 102: Zeile 106:


</source>
</source>
=== [ERP] ===
=== [ERP] ===
ERP-System Einstellungen.
ERP-System Einstellungen.
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>Type</code>
| <code>Type</code>
|Integer
| Integer
|0
| 0
|ERP-Typ (0 = Sage 100)
| ERP-Typ (0 = Sage 100)
|}
|}


Zeile 120: Zeile 123:
Cache-Einstellungen für Artikeldaten.
Cache-Einstellungen für Artikeldaten.
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>EnableTextCache</code>
| <code>EnableTextCache</code>
|0/1
| 0/1
|0
| 0
|Text-Cache für Artikeltexte aktivieren
| Text-Cache für Artikeltexte aktivieren
|-
|-  
|<code>EnableLazyLoad</code>
| <code>EnableLazyLoad</code>
|0/1
| 0/1
|0
| 0
|Lazy Loading für Cache aktivieren
| Lazy Loading für Cache aktivieren
|-
|-  
|<code>DailyFullRefreshHour</code>
| <code>DailyFullRefreshHour</code>
|Integer
| Integer
| -1
| -1
|Stunde für täglichen Cache-Refresh (-1 = deaktiviert)
| Stunde für täglichen Cache-Refresh (-1 = deaktiviert)
|}
|}
'''Beispiel:'''<source lang="ini">
'''Beispiel:'''<source lang="ini">
Zeile 151: Zeile 154:


</source>
</source>
=== [Upload] ===
=== [Upload] ===
Upload-Verhalten.
Upload-Verhalten.
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>DoStorageAreas</code>
| <code>DoStorageAreas</code>
|0/1
| 0/1
|0
| 0
|Lagerorte mit hochladen
| Lagerorte mit hochladen
|-
|-  
|<code>DoXMLMediaAttributs</code>
| <code>DoXMLMediaAttributs</code>
|0/1
| 0/1
|0
| 0
|XML-Media-Attribute verarbeiten
| XML-Media-Attribute verarbeiten
|}
|}


Zeile 174: Zeile 176:
JSON-Logging in die Datenbank.
JSON-Logging in die Datenbank.
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>RetentionDays</code>
| <code>RetentionDays</code>
|Integer
| Integer
|3
| 3
|Anzahl Tage die Log-Einträge aufbewahrt werden
| Anzahl Tage die Log-Einträge aufbewahrt werden
|-
|-  
|<code>DropRecreateOnCleanupFail</code>
| <code>DropRecreateOnCleanupFail</code>
|0/1
| 0/1
|1
| 1
|Tabelle neu anlegen wenn Cleanup fehlschlägt
| Tabelle neu anlegen wenn Cleanup fehlschlägt
|}
|}


Zeile 193: Zeile 195:
Spezielle Logging-Optionen.
Spezielle Logging-Optionen.
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>Pricelog</code>
| <code>Pricelog</code>
|0/1
| 0/1
|0
| 0
|Detailliertes Preis-Debugging aktivieren
| Detailliertes Preis-Debugging aktivieren
|}
|}
Bei <code>Pricelog = 1</code> wird eine Datei <code>preislogiclog.txt</code> im Service-Verzeichnis erstellt mit:
Bei <code>Pricelog = 1</code> wird eine Datei <code>preislogiclog.txt</code> im Service-Verzeichnis erstellt mit:


* Queue-Einträge die verarbeitet werden
* Queue-Einträge die verarbeitet werden
* Aktivierte Tracking-Optionen
* Aktivierte Tracking-Optionen
* SQL-Abfragen
* SQL-Abfragen
* Übersprungene Artikel und Gründe
* Übersprungene Artikel und Gründe


Zeile 216: Zeile 215:
Automatische Erkennung von Datenänderungen. Siehe auch: [[OmniSeller Upload-Service: Change Tracking]]
Automatische Erkennung von Datenänderungen. Siehe auch: [[OmniSeller Upload-Service: Change Tracking]]
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Standard
! Standard
!Beschreibung
! Beschreibung
|-
|-  
|<code>Enabled</code>
| <code>Enabled</code>
|0/1
| 0/1
|0
| 0
|'''Master-Switch''' – muss 1 sein damit Change Tracking funktioniert
| '''Master-Switch''' – muss 1 sein damit Change Tracking funktioniert
|-
|-  
|<code>IntervalMs</code>
| <code>IntervalMs</code>
|Integer
| Integer
|5000
| 5000
|Prüf-Intervall in Millisekunden
| Prüf-Intervall in Millisekunden
|}
|}


==== Tracking-Optionen ====
==== Tracking-Optionen ====
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Tabelle
! Tabelle
!Beschreibung
! Beschreibung
|-
|-  
|<code>TrackPrices</code>
| <code>TrackPrices</code>
|KHKPreislistenArtikel
| KHKPreislistenArtikel
|Einzelpreise in Preislisten
| Einzelpreise in Preislisten
|-
|-  
|<code>TrackKHKPreislisten</code>
| <code>TrackKHKPreislisten</code>
|KHKPreislisten
| KHKPreislisten
|Gültigkeitsänderung der Preisliste selbst
| Gültigkeitsänderung der Preisliste selbst
|-
|-  
|<code>TrackPriceListValidity</code>
| <code>TrackPriceListValidity</code>
|–
| –
|Täglicher Check ob Preislisten gültig/ungültig wurden
| Täglicher Check ob Preislisten gültig/ungültig wurden
|-
|-  
|<code>TrackAttributes</code>
| <code>TrackAttributes</code>
|oHTKAttributeEntities
| oHTKAttributeEntities
|Artikelattribute
| Artikelattribute
|-
|-  
|<code>TrackKHKArtikel</code>
| <code>TrackKHKArtikel</code>
|KHKArtikel
| KHKArtikel
|Artikel-Stammdaten
| Artikel-Stammdaten
|-
|-  
|<code>TrackKHKArtikelVarianten</code>
| <code>TrackKHKArtikelVarianten</code>
|KHKArtikelVarianten
| KHKArtikelVarianten
|Artikelvarianten
| Artikelvarianten
|-
|-  
|<code>TrackKHKArtikelLagerbewegungen</code>
|
|KHKArtikelLagerbewegungen
|
|Lagerbewegungen
|
|-
|-  
|<code>TrackKHKArtikelStueckliste</code>
| <code>TrackKHKArtikelStueckliste</code>
|KHKArtikelStueckliste
| KHKArtikelStueckliste
|Stücklisten
| Stücklisten
|-
|-  
|<code>TrackHTKOmniAlternativeSKU</code>
| <code>TrackHTKOmniAlternativeSKU</code>
|HTKOmniAlternativeSKU
| HTKOmniAlternativeSKU
|Alternative SKUs
| Alternative SKUs
|-
|-  
|<code>TrackOHTKSyncData</code>
| <code>TrackOHTKSyncData</code>
|oHTKSyncData
| oHTKSyncData
|Sync-Daten
| Sync-Daten (nur Trigger als Auslöser möglich)
|-
|-  
|<code>TrackOHTKSyncDataClient</code>
| <code>TrackOHTKSyncDataClient</code>
|oHTKSyncDataClient
| oHTKSyncDataClient
|Client-Sync-Daten
| Client-Sync-Daten (Medien)
|}
|}
'''Beispiel für Preis-Tracking:'''<source lang="ini">
'''Beispiel für Preis-Tracking:'''<source lang="ini">
Zeile 297: Zeile 296:


</source>
</source>
=== [Portal''N''] ===
=== [Portal''N''] ===
Portal-spezifische Einstellungen (N = Portal-ID).
Portal-spezifische Einstellungen (N = Portal-ID).
{| class="wikitable"
{| class="wikitable"
!Schlüssel
! Schlüssel
!Typ
! Typ
!Beschreibung
! Beschreibung
|-
|-  
|<code>Enabled</code>
| <code>Enabled</code>
|0/1
| 0/1
|Portal aktiviert
| Portal aktiviert
|-
|-  
|<code>Type</code>
| <code>Type</code>
|String
| String
|Portal-Typ (z.B. "Shopware6", "Magento2")
| Portal-Typ (z.B. "Shopware6", "Magento2")
|-
|-  
|<code>URL</code>
| <code>URL</code>
|String
| String
|Shop-URL
| Shop-URL
|-
|-  
|<code>APIKey</code>
| <code>APIKey</code>
|String
| String
|API-Schlüssel
| API-Schlüssel
|-
|-  
|<code>APISecret</code>
| <code>APISecret</code>
|String
| String
|API-Secret
| API-Secret
|}
|}
'''Beispiel:'''<source lang="ini">
'''Beispiel:'''<source lang="ini">
Zeile 340: Zeile 338:


</source>
</source>
== Vollständiges Beispiel ==
== Vollständiges Beispiel ==
<source lang="ini">
<source lang="ini">
Zeile 431: Zeile 428:


</source>
</source>
== Hinweise ==
== Hinweise ==


* Nach Änderungen an der INI-Datei muss der Service neu gestartet werden
* Nach Änderungen an der INI-Datei muss der Service neu gestartet werden
* Die Datei wird beim ersten Start automatisch mit Standardwerten erstellt
* Die Datei wird beim ersten Start automatisch mit Standardwerten erstellt
* Fehlende Schlüssel werden mit Standardwerten behandelt
* Fehlende Schlüssel werden mit Standardwerten behandelt
* Bei verschlüsseltem ConnectionString: Nicht manuell bearbeiten!
* Bei verschlüsseltem ConnectionString: Nicht manuell bearbeiten!


Zeile 445: Zeile 438:


* [[OmniSeller Upload-Service Installation]]
* [[OmniSeller Upload-Service Installation]]
* [[OmniSeller Upload-Service: Change Tracking]]
* [[OmniSeller Upload-Service: Change Tracking]]
* [[OmniSeller Preislogik]]
* [[OmniSeller Preislogik]]

Version vom 24. Februar 2026, 07:40 Uhr


OmniSeller.ini Referenz

Die OmniSeller.ini ist die zentrale Konfigurationsdatei des OmniSeller Upload-Service. Sie befindet sich im Installationsverzeichnis des Services.

Dateiformat

Die Datei verwendet das klassische INI-Format mit Sektionen und Schlüssel-Wert-Paaren:

[Sektion]

Schluessel = Wert

Hinweis: Bei Boolean-Werten gilt: 0 = deaktiviert, 1 = aktiviert.

Sektionen

[DatabaseSettings]

Datenbankverbindung zur ERP-Datenbank (Sage 100).

Schlüssel Typ Standard Beschreibung
ConnectionString String SQL Server Connection String
ConnectionStringEncrypted 0/1 0 Ob der ConnectionString verschlüsselt ist

Beispiel:

[DatabaseSettings]

ConnectionString = Server=SQLSERVER;Database=OLDemoReweAbfD#;User Id=sa;Password=geheim;

ConnectionStringEncrypted = 0

Hinweis: Der ConnectionString kann über das Setup oder den Service selbst verschlüsselt werden. Bei ConnectionStringEncrypted = 1 wird DPAPI zur Entschlüsselung verwendet.

[Host]

Netzwerk-Einstellungen für die TCP-Kommunikation.

Schlüssel Typ Standard Beschreibung
Port Integer 10084 TCP-Port für Client-Signale (z.B. vom Setup)

Beispiel:

[Host]

Port = 10084

[OmniSellerAPI]

Verbindung zur OmniSeller Cloud-API.

Schlüssel Typ Standard Beschreibung
BaseURL String https://api.omnisellerservices.de API-Basis-URL
- - -
Heartbeat 0/1 0 Azure Service Bus Heartbeat aktivieren
Endpoint String (intern) Optionaler Custom Service Bus Endpoint

Beispiel:

[OmniSellerAPI]

BaseURL = xyz

Heartbeat = 0

Endpoint =

[ERP]

ERP-System Einstellungen.

Schlüssel Typ Standard Beschreibung
Type Integer 0 ERP-Typ (0 = Sage 100)

[Cache]

Cache-Einstellungen für Artikeldaten.

Schlüssel Typ Standard Beschreibung
EnableTextCache 0/1 0 Text-Cache für Artikeltexte aktivieren
EnableLazyLoad 0/1 0 Lazy Loading für Cache aktivieren
DailyFullRefreshHour Integer -1 Stunde für täglichen Cache-Refresh (-1 = deaktiviert)

Beispiel:

[Cache]

EnableTextCache = 0

EnableLazyLoad = 1

DailyFullRefreshHour = 3

[Upload]

Upload-Verhalten.

Schlüssel Typ Standard Beschreibung
DoStorageAreas 0/1 0 Lagerorte mit hochladen
DoXMLMediaAttributs 0/1 0 XML-Media-Attribute verarbeiten

[JsonLog]

JSON-Logging in die Datenbank.

Schlüssel Typ Standard Beschreibung
RetentionDays Integer 3 Anzahl Tage die Log-Einträge aufbewahrt werden
DropRecreateOnCleanupFail 0/1 1 Tabelle neu anlegen wenn Cleanup fehlschlägt

[Log]

Spezielle Logging-Optionen.

Schlüssel Typ Standard Beschreibung
Pricelog 0/1 0 Detailliertes Preis-Debugging aktivieren

Bei Pricelog = 1 wird eine Datei preislogiclog.txt im Service-Verzeichnis erstellt mit:

  • Queue-Einträge die verarbeitet werden
  • Aktivierte Tracking-Optionen
  • SQL-Abfragen
  • Übersprungene Artikel und Gründe

[ChangeTracking]

Automatische Erkennung von Datenänderungen. Siehe auch: OmniSeller Upload-Service: Change Tracking

Schlüssel Typ Standard Beschreibung
Enabled 0/1 0 Master-Switch – muss 1 sein damit Change Tracking funktioniert
IntervalMs Integer 5000 Prüf-Intervall in Millisekunden

Tracking-Optionen

Schlüssel Tabelle Beschreibung
TrackPrices KHKPreislistenArtikel Einzelpreise in Preislisten
TrackKHKPreislisten KHKPreislisten Gültigkeitsänderung der Preisliste selbst
TrackPriceListValidity Täglicher Check ob Preislisten gültig/ungültig wurden
TrackAttributes oHTKAttributeEntities Artikelattribute
TrackKHKArtikel KHKArtikel Artikel-Stammdaten
TrackKHKArtikelVarianten KHKArtikelVarianten Artikelvarianten
TrackKHKArtikelStueckliste KHKArtikelStueckliste Stücklisten
TrackHTKOmniAlternativeSKU HTKOmniAlternativeSKU Alternative SKUs
TrackOHTKSyncData oHTKSyncData Sync-Daten (nur Trigger als Auslöser möglich)
TrackOHTKSyncDataClient oHTKSyncDataClient Client-Sync-Daten (Medien)

Beispiel für Preis-Tracking:

[ChangeTracking]

Enabled = 1

IntervalMs = 5000

TrackPrices = 1

TrackKHKPreislisten = 1

TrackPriceListValidity = 1

[PortalN]

Portal-spezifische Einstellungen (N = Portal-ID).

Schlüssel Typ Beschreibung
Enabled 0/1 Portal aktiviert
Type String Portal-Typ (z.B. "Shopware6", "Magento2")
URL String Shop-URL
APIKey String API-Schlüssel
APISecret String API-Secret

Beispiel:

[Portal1]

Enabled = 1

Type = Shopware6

URL = https://meinshop.de

APIKey = SWIA...

APISecret = ...

Vollständiges Beispiel

[DatabaseSettings]

ConnectionString = Server=SQLSERVER;Database=OLDemoReweAbfD#;Trusted_Connection=True;

ConnectionStringEncrypted = 0

[Host]

Port = 10084

[OmniSellerAPI]

BaseURL = https://api.xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Heartbeat = 0

Endpoint =

[ERP]

Type = 0

[Cache]

EnableTextCache = 0

EnableLazyLoad = 1

DailyFullRefreshHour = 3

[Upload]

DoStorageAreas = 0

DoXMLMediaAttributs = 0

[JsonLog]

RetentionDays = 3

DropRecreateOnCleanupFail = 1

[Log]

Pricelog = 0

[ChangeTracking]

Enabled = 1

IntervalMs = 5000

TrackPrices = 1

TrackKHKPreislisten = 1

TrackPriceListValidity = 1

TrackAttributes = 0

TrackKHKArtikel = 0

TrackKHKArtikelVarianten = 1

TrackKHKArtikelLagerbewegungen = 1

TrackKHKArtikelStueckliste = 0

TrackHTKOmniAlternativeSKU = 0

TrackOHTKSyncData = 0

TrackOHTKSyncDataClient = 0

[Portal1]

Enabled = 1

Type = Shopware6

URL = https://meinshop.de

APIKey = SWIA...

APISecret = ...

Hinweise

  • Nach Änderungen an der INI-Datei muss der Service neu gestartet werden
  • Die Datei wird beim ersten Start automatisch mit Standardwerten erstellt
  • Fehlende Schlüssel werden mit Standardwerten behandelt
  • Bei verschlüsseltem ConnectionString: Nicht manuell bearbeiten!

Siehe auch