OXOMI Integration .
Oxomi ist eine flexible und schnelle Plattform für Marketingunterlagen. Oxomi kann in Websites und anderen Systemen integriert werden.
TaskCenter
Es wurde eine neue Grundlageneinstellung "Oxomi" erstellt.

Hier kann der Benutzer, welcher für das Portal angemeldet wird, die Portal ID und der Geheimschlüssel, welcher von Oxomi übermittelt wurde, festgelegt werden.
Diese drei Parameter werden benötigt, damit der Access Token berechnet werden kann.
Wenn "Oxomi" aktiviert ist, wird im Fenster "Artikelergebnis", im PopUp Menu, "Oxomi" aktiviert.

Wenn nun auf "Oxomi" geklickt wird, werden alle ausgewählten Zeilen im Katalogportal angezeigt. Die Suche erfolgt über die Herstellernummer.
Web:
Um Oxomi zu integrieren, muss am Ende des </body> Tags folgender Code eingefügt werden.

Dieses Script kümmert sich dann um die weiteren Schritte. Es lädt das JQuery, falls es noch nicht vorhanden ist und stellt einen Basis-Stylesheet zur Verfügung, damit die Komponenten gut aussehen.
Oxomi_Ready()
Nachdem sämtliche Abhängigkeiten erfolgreich geladen wurden, wird die Funktion oxomi_ready() aufgerufen. Hier kann zum Beispiel die Bibliothek auf das Portal konfiguriert werden.

Portal: PortalID
AccessToken: wird benötigt wenn das Portal mit einem Login geschützt ist. Der AccessToken kann mittels einem von Oxomi bereitgestellten AccessTokenRechner, oder direkt im Code berechnet werden.
Wenn der AccessToken mit dem Rechner berechnet wird, ist dieser nur eine gewisse Zeit lang gültig und muss nach Ablauf wieder neu berechnet werden.
Falls der AccessToken im Code berechnet wird, hat dies den Vorteil, dass dieser, falls er abgelaufen ist, neu berechnet wird und somit immer Zugriff auf das Portal gestattet ist.
Roles: kann leer bleiben
User: Benutzer welcher angemeldet werden soll
Berechnung des AccessToken im Code (Web und ERP):
C# (Razor):
public void CalculateOxomiAccessToken() {
// Portalspezifischer Geheimschlüssel
string secret = "Einzigartig, wird von Oxomi übermittelt";
// Gewünschtes Portal
string portal = "portal id";
// Zugreifender Benutzer
string user = "benutzername";
// Gültigkeitszeitraum
string expires = (CurrentTimeMillis() / 1000 / 86400).ToString();
string accessToken = string.Empty;
// Hash-Berechnung
accessToken = CalculateMD5Hash(secret + CalculateMD5Hash(secret + portal + user + expires));
}
private long CurrentTimeMillis()
{
DateTime Jan1st1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return (long)(DateTime.UtcNow - Jan1st1970).TotalMilliseconds;
}
private string CalculateMD5Hash(string input)
{
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create();
byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
byte[] hash = md5.ComputeHash(inputBytes);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
{
sb.Append(hash[i].ToString("x2"));
}
return sb.ToString();
}
Oxomi Katalogportal öffnen:
Um ein Katalogportal zu öffnen, kann im oxomi_ready() folgender Code aufgerufen werden. "withMenu": true → es wird eine Menüleiste im Katalogportal angezeigt

Der Code kann auch beispielsweise von einem Button aufgerufen werden:
