JTL
Status
Marktplätze
Statusmeldungen an Wawi weiterleiten setzt Wawi Version 1.5.7.2 voraus (da erst hier alle nötigen Tabelle in von JTL integriert wurden).
Core
Monitoring
Es wird nun auch die Arbeitsspeicherauslastung mitgemessen und zu erkennen, wo ggf. Instabilitäten herkommen oder wieviel Last unicorn verursacht.
LogViewer
Es werden mehr unnötige Lognachrichten aus Wawi Artikelwarnungen entfernt. Das erhöht die Lesbarkeit und Wartbarkeit.
JTL
Status
Filter
Der Benutzersuchfilter in Wawi wurde verbessert. Die Statusmeldungen von Marktplätzen werden nun effizienter anhand von Leerzeichen gesucht. Davor konnte leider gerade bei stark befüllten JTL-Wawi Datenbanken mit mehr als 50.000 Artikeln und Statusnachrichten die Suche sonst teilweise einige Minuten dauern.
JTL
Status
Fehlermeldungen, Warnungen, Informationen aus unicorn sind nun auch direkt oben rechts in Wawi über die Artikelfilter filterbar. Dadurch kann der Händler sich bequem alle Artikel mit Warnungen für Shop xy in Wawi anzeigen lassen. Die Nachrichten selbst findet er ebenso im Artikel in den EigenenFeldern, sowie in der Übersicht Eigener Abfragen am Artikel.
JTL
Status
Warnings, Fehlermeldungen, Informationen zu einem Artikel werden nun nicht mehr nur in der unicorn 2 Konfigurationsoberfläche angezeigt, sondern auch in der Wawi innerhalb der eigenen Übersichten. Somit kann ein Mitarbeiter aus dem Produktdatenteam des Händlers bequem aus der Wawi heraus feststellen, wieso ein Artikel beispielsweise nicht angelegt oder geupdatet werden kann am Marktplatz.
Otto
Gibt die API bei einem Quantityabgleich oder Stammdatenabgleich "is unknown" zurück, wird dies intern erkannt und die Stammdaten für einen neuen Upload vorgemerkt.
Otto
Die Updatefunktion für Artikel geht sparsamer mit API Calls um, um schneller abgleichen zu können. Es werden nicht mehr "ohne Verdacht" abfragen gemacht ob die Stammdaten des Artikels im Marktplatz existieren und ob der Artikel im Marktplatz existiert, wenn unicorn davon ausgeht, dass er bereits online ist. Gleichzeitig wurde das Errorhandling so erweitert, dass es den daraus womöglich neu entstehenden Fehlerfall "nicht gefunden" abfängt und dann die Stammdaten neu hochlädt (bzw für einen Upload markiert).
Rakuten
Der unicorn Proxy für Rakuten wurde abgeschaltet, nachdem der Marktplatz bereits vor mehreren Wochen abgeschaltet wurde.
Wayfair
Mehr Logging für den Fall, dass die SupplierId in einer Bestellung sich von der in den unicorn 2 Wayfair Einstellungen unterscheidet.
Otto
Es wird beim Abholen von Stornos auch der Grund als Anmerkung in der Bestellung und im Log in Wawi angezeigt, der entweder "Storniert durch Marktplatz" oder "Storniert durch Händler" sein kann.
Oberfläche
Es wird nun maximal 10 Sekunden nach der Erreichbarkeit unserer Lizenzserver geschaut, nicht länger.
Core
Oberfläche
Bei der Prüfung der Erreichbarkeit der Lizenzserver verwende den Lizenzkey vom Händler um auch fehlgeschlagene Prüfungen protokollieren zu können.
Idealo
Auch Artikel ohne EAN dürfen nun gelistet werden.
Idealo
Auch Artikel ohne HAN/MPN dürfen nun gelistet werden.
Idealo
Auch Artikel ohne Hersteller dürfen nun gelistet werden.
Otto
Es wurden mehrere veraltete Fehlermeldungen von Anfang 2020 entfernt, die Otto nun nicht mehr benutzt. Dadurch wird das ErrorHandling entschlackt was die Geschwindigkeit und die Wartbarkeit positiv beeinflusst.
Otto
Bei Deserialisierungsfehlern wird nun auch das original zu deserialisierende JSON mitgeloggt. Das macht es dem Support & Debuggen einfacher.
Windows
Weniger Logging in den EventManager (kein "service start" und "service stop" loggen, das spammt nur unnötig)
Otto
Die Zeit die der Core mit jeglichen Abgleichen wartet, wenn die Otto API einen Quota Error zurückgibt wurde nach Rücksprache mit Otto auf 5 Minuten verkürzt.
Rakuten
MarketplaceOfflineDatum gesetzt (bewusst 2 Wochen später, damit noch offene Orders abgeglichen werden)
LiveLog
Log Exclusion Messages erweitert, verhindert unnötiges Spamming. Erhöhrt Lesbarkeit und Wartbarkeit.
Otto
Wenn Otto einen QuotaError zurückgibt weil zu viele parallele Anfragen abgesendet werden, dann wird nicht sofort der Shop für 15 Min deaktiviert, sondern es wird erst 5 bis 15 Sekunden gewartet und es nochmal probiert. Gibt es dann erneut einen QuotaError, dann erst wird der Shop für 15 Minuten deaktiviert.
Otto
Die Fehlermeldung bei "restricted" Artikeln wurde um den Hinweis ergänzt, dass das Angebot des Händlers auf dieses Product vllt. einfach nur nicht die BuyBox hat.
Core
Shop
Linkprüfung: Die Prüfung ob ein Artikellink online ist und es ein JTL Shop ist wurde fehlerverzeihend erweitert. Es wird nun selbstständig mit "www" und ohne geprüft, egal was der Händler in Wawi angegeben hat.
Otto
Shop bei API Meldung, dass die Credentials nicht stimmen würden, nicht direkt deaktivieren, sondern erstmal nur für 2h suppressen und es danach autom. neu probieren. Klappt es dann wieder nicht (und wurde innerhalb der letzten 4h bereits suppressed) dann den Shop erst deaktivieren und den Händler per Mail warnen!
Otto
Mehr Logging im RefreshAccessToken
Otto
Wenn das RefreshAccessToken failed, wird ein neues AccessToken erzeugt.
FallbackRetourTracking
FallbackRetourTrackingId: Some more Logging.
Otto
Shop deaktivieren erst nach 20 (statt vorher 10) mal "Credentials Invalid" Meldung von Otto API (sicherer wegen Mutlithreading).
Otto
Wenn ein Shop deaktiviert werden muss wegen ungültiger Zugangsdaten, dann warnen wir zukünftig den Händler darüber per Mail, damit er darauf schnell reagieren kann.
Idealo
Sofortüberweisung fliegt ab dem 02.11.2020 aus Idealo Direktkauf raus.
FallbackRetourTracking
Wenn der Händler keine RetourenTrackingId in JTL-Wawi in der Bestellung hinterlegt hat, der Marktplatz jedoch zwingend eine benötigt, kann der Händler diese über ein FallbackRetourTracking in unicorn einstellen. Es wird in so einem Fall automatisch eine aus diesem hier hinterlegten Pool genommen. Gleichezitig wird der Händler bei niedrigem Stand gewarnt.
Otto
Ein Zuspammen des Logs bei Sendungen mit Artikeln die ein Gewicht eingetragen haben, wo der Händler aber nicht explizit das "PackagingUnitCount" Attribut gefüllt wurden nun von Logstufe "Warning" auf "Info" geändert, damit das Log nicht unnötigerweise bei der automatischen Korrektur durch unicorn zugespammt wird.
Otto
Es wurden einige try catches mit detailliertem Logging eingebaut um besser erkennen zu können, wo ggf. das Erstellen eines Objektes genau nicht funktioniert hat. Das sollte das spätere Debugging erleichtern.
Otto
Bei der GetProduct() ist "no variation found" in Ordnung und löst nun kein Warning mehr aus. Das kann in der Tat so sein, wenn das Produkt einfach nur neu ist.
Otto
NullReferenceExceptions die von Otto selbst kommen (nicht von uns) werden nun entsprechen ausgewertet und geloggt.
Otto
Generell wurden beim Logging mehr Details eingebaut um besser rausfinden zu können, wo ein Problem auftrat. Das sollte das spätere Debugging erleichtern.
Core
Tasks dürfen nun generell 10 Minuten (statt wie vorher nur 5) ohne Rückmeldung überleben, da dies für Otto teilweise nötig ist, da die API teilweise einige Minuten zur Response braucht.
Rewe
Preisupdate ging plötzlich nicht mehr durch seit dem 29.09.2020 gegen 13.30, bzw der Grundpreis war auf Rewe weg.
Datenbank
Keine Funktionale änderung, nur ein paar wenige Vorbereitungen zur suche der connestionString-fehler.
Etsy
Bei bestellungen wird nun auch das feld receipt.state aus etsy geladen und in Adresse.Bundesland übernommen
Otto
ErrorLogging weiter verfeinert.
Otto
DatenTypen der Attribute werden validiert, ungülitge werden automatisch übersprungen. Der Grund hierfür ist, dass wenn unicorn die vom Händler falsch befüllten Attributwerte überträgt, die Otto API diese Produkte garnicht akzeptieren würde. Überspringt unicorn diese Attribute aber, weil es intern schon erkennt, dass der Datentyp nicht passt und ist dann gleichzeitig dieses Attribut KEIN Pflichtattribut, kann das Produkt dennoch online gehen, was dem Händler stark entgegne kommt. Beispiel: Otto erwartet für das Attribut "Tiefe" den Datentyp "float", aber der Händler hat als Wert "2,5 cm" drin stehen.
Rewe
Auch Order.Completed Bestellungen werden verarbeitet. Dies ist nötig für Retouren.
Core
ArtikelBilder-Reihenfolge. Die Reihenfolge der Bilder wird nun auch beim Laden aus der DB berücksichtigt.
Otto
ErrorLogging erweitert, es werden nun weitere Informationen zum Ablehnungsgrund von Otto sowohl im Livelog, als auch in der Datenbank gespeichert. Das erleichtert dem User die Fehlersuche.
Otto
Attribute mit dem Feature "LEGAL" werden auch immer als Pflichtattribute importiert.
Otto
Mehr Details (aus dem Title) bei den Otto Error Messages. Diese weiteren Infos werden auch in der DB abgespeichert, das macht es dem Support leichter.
Core
Retouren brauchen jetzt nicht mehr zwingend ein Versandtdatum
Rewe
Rewe Bestellungszeitraum wird nun ausgewertet
Etsy
Etsy Bestellungszeitraum nun max 1 Jahr, nicht 31 Tage,
Etsy
VersandDienstleister werden nun immer übergeben bei ex. Tracking, nicht nur die bei Etsy bekannten.
Etsy
Probleme mit . und , bei Zahlen als Attributswerte (z.B. 1,50 m ) wurden behoben.
Core
Auflösung interne Condition Enum zu menschenlesbaren String per Enum-Description.
Core
Ein weiterer interner Zustand "unvollständig" wurde hinzugefügt
Otto
Wenn das Attribut "ProductLine" nicht ausgefüllt wurde, übertrage als Fallback den Artikelnamen.
Otto
Nutze für das Otto Angebotsbackend als "ProductName" lieber die Artikelnummer, statt der WawiId, damit es für den Händler besser lesbar im OttoBackend (OPC) ist.
Otto
Das Otto Artikelzustands Mapping in der GUI wurde eingebaut.
Core
Wenn ein Artikel zu einem Marktplatz hinzugefügt werden soll, es sich aber zeigt, dass dieser Artikel schon VOR dem hochladen auf dem Marktplatz vorhanden ist, dann markieren wir den Artikel danach intern zumindest als "bitte updaten", damit er einmal frisch mit den Daten aus Wawi geupdatet wird.
IndividualFeed
Steuer als Gleitkommazahl, statt als JSON des MwSt Objects darstellen.
Updater
Wenn der Updater Prozess dauerhaft offen bleibt, soll er durch den Core sicherheitshalber beendet werden. Das ist nur im Zeitfenster xx:15 bis xx:55 Uhr erlaubt.
Otto
Wenn der Hersteller oder eine Attributdefinition in seiner Groß/Kleinschreibung von unicorn automatisch korrigiert wird, loggt das unicorn nun als Warning für den Händler.
Otto
Die übermittelten Werte einer ProductDescription werden nochmal gesondert validiert und notfalls mit einem Warning geloggt, damit das die Fehlersuche des Händlers erleichtert.
Otto
Die übermittelten Werte einer ProductVariation werden nochmal gesondert validiert und notfalls mit einem Warning geloggt, damit das die Fehlersuche des Händlers erleichtert.
Otto
Die Methode zum bekommen von Attributen einer gezielt gesuchten Portalkateogrie wurde etwas effizienter gestaltet.
Otto
Den OriginalRequest im Feherfall nur loggen, wenn er auch gefüllt ist.
Otto
ItemError "MandatoryAttributeIsMissing" -> Der erklärende Text wurde etwas verbessert, also eindeutiger geschrieben, damit man eher weiß, wofür der Error steht.
Otto
Attribute die beim abholen als "Relevanz" "HIGH" von Otto bekommen, werden als Pflichtattribute in unicorn und Wawi importiert, da das Otto Produktdaten Team ein Produkt ohne diese ausgefüllten Attribute sowieso in jedem Fall ablehnen würde.
Otto
Die vom Händler vergebene Brand wird überprüft, ob diese in den erlaubten Brands von Otto vorkommt. Wenn nicht, wird der Händler direkt dazu im Log gewarnt-
Otto
Die vom Händler übergebene Brand wird auf Groß-/Kleinschreibungsfehler geprüft und automatisch korrigiert, da Otto CaseSensitiv arbeitet!
Otto
Übergebene Attribute werden geprüft, ob diese so bei Otto intern bekannt sind. Falls nicht, wird da Attribut als "Additional" geflagt, das ist ein "Muss" laut Otto.
Otto
Übergebene Attributdefinitionen die Otto intern kennt, werden auf Groß-/Kleinschreibung geprüft und ggf. wenn der Händler es falsch geschrieben hat, auch von unicorn automatisch korrigiert.
Otto
Übergebene Attributwerte die Otto intern kennt, werden auf Groß-/Kleinschreibung geprüft und ggf. wenn der Händler es falsch geschrieben hat, auch von unicorn automatisch korrigiert.
Otto
Wenn ein übergebenes Attribut Otto intern bekannt ist, wird auch geprüft ob Otto für das Attribut "FreiTexte" als Wert erlaubt oder Otto eine interne vorgegebene Liste hat, aus dem sicher der Händler nur einen Wert aussuchen darf. In letzterem Fall überprüft unicorn auch, ob der vom Händler übergebene Wert in dieser Liste von Otto vorkommt (und korrigiert ggf. Groß-/Kleinschreibungsfehler, da Otto case-sensitiv arbeite!).
Otto
unnötige Usings wurden entfernt.
Otto
Zur Erleichterung des Debuggings wird der Original Request im Fehlerfall nun mitgeloggt.
Otto
Die Caches für Brands und Attribute haben eine längere Lebensdauer. Diese wurde von 15 Minuten auf 1 Stunde erhöht.
Otto
anche Logs sind nur beim "Updaten" ein Warning und beim initalen Anlegen vollkommen in Ordnung und müssen daher nur als "Info" geloggt werden - das wurde nun umgesetzt.
Otto
Die MarketplaceStati "Rejected" und "Restricted" werden nun differenzierter betrachtet, da "Restricted" für alle neuen Otto Händler erstmal normal ist. Darauf wird der Händler auch im Log aufmerksam gemacht, dass er sich nun zur Freischaltung an den Account Manager von Otto wenden muss, damit dieser die neuen Produkte manuell prüft und freigibt.
Otto
Es wurden ein paar mehr Logs eingebaut, damit dem Händler und unserem Support klarer ist, was vor sich geht.
Metro
Auch Telefonnummern können nun übertragen werden, wenn vom Kunden während der Bestellung angegeben.
DHL
DHL unterstützt nun RetourenTrackingIdRange
DHL
DHL hat eine von außen aufrufbare Methode zum bekommen der Checksum erhalten
GLS
GLS unterstützt nun RetourenTrackingIdRange
GLS
GLS hat eine von außen aufrufbare Methode zum bekommen der Checksum erhalten
Hermes
Hermes unterstützt nun RetourenTrackingIdRange
Hermes
Hermes hat eine von außen aufrufbare Methode zum bekommen der Checksum erhalten
UPS
UPS unterstützt nun RetourenTrackingIdRange
UPS
UPS hat eine von außen aufrufbare Methode zum bekommen der Checksum erhalten
real
An real werden weitere infos zur verwendeten unicorn version und zur kdnr übertragen, das erleichtert die fehlersuche im fall der fälle mit dem real support erheblich
JTL
Beim kategorierabatt darf es keinen fallback auf shop "wawi global" geben, denn es gibt händler die eine kategorie "50% auf alles" haben, darin dann 50% kategorierabatt und in der kategorie ausgesuchte artikel aber im marktplatz wollen diese händler weder die kategorie, noch dei 50% rabatt auf diese artikel ;-)deshalb kategorierabatt nur oben, das heißt nur wenn es für den shop explizit eingestellt wurde.
Rakuten
Rakuten ReadOnly Collections für Mappings
Etsy
Etsy Bilder kann nicht gelöscht werden Fehler logging besser.
Oberfläche
References DevExpress besser.
Otto
Bei Feldern mit definierten Maximallängen, soll unicorn selbstständig längere Werte abschneiden um Fehler zu verhindern.
Otto
unicorn soll selbstständig die Werte vom Vaterartikel nehmen, wo Otto verlangt, dass diese je Kind gleich sind, wie zB Brand, ProductLine, ProductName, Manufacturer
Core
Der Versande der letzten x Minuten dürfen nicht gecached werden!
Datenbank
ULabel sollte nicht zu lange gecached werden, da der Logistican Teil sehr oft aktuelle Daten braucht
Rewe
commercetools Refrenz auf 472 geupdatet
IndividualFeed
Oberfläche
Beim IndividualFeed wird nun die Feed URL in der unicorn 2 Oberfläche sofort angezeigt und nicht erst nach Abspeichern der Zugangsdaten.
Core
VersionComparer und VersionUtils wurden gemerged.
Core
Die CacheLifetime für API Requests ist nun optional mit jedem Call individuell einstellbar.
Core
Eine vereinfachte List.IsNullOrEmpty - Erweiterung wurde implementiert.
Core
Die internen Versandinfos kennen nun auch die RetourenTrackingId einer Begleitretoure (zB im Mode Bereich nicht unüblich) insofern der Händler diese in Wawi angegeben hat udn der Marktplatz dies unterstützt.
Wayfair
Es kann nun vom Händler in der unicorn 2 Oberfläche selbst eingestellt werden, ob Wayfair Bestellungen bezahlt in Wawi importiert werden sollen oder unbezahlt.
Wayfair
Wayfair unterstütz nun auch Artikel ohne Bestandsführung, bzw. mit erlaubten Überverkäufen.
real
! Ausweitung der "verbotenen" ArtikelId Präfixe für real um einen internen Wert (dadurch Einsparung von unnötigen Calls zur real API)
Idealo
Das Format wie Zahlen übergeben werden im Feed wurde auf Wunsch von Idealo überarbeitet
Idealo
Es wurde eine Überprüfung eingebaut, die sicherstellt, dass der MinimumPrice (wenn überhaupt angegeben) mindestens 75% vom regulären Preis eines Idealo Artikels ist. Das ist eine Regel von Idealo und wir prüfen dessen Umsetzung bereits intern in unicorn, damit der ganze Feed nicht unnötiger Weise wegen eines einzelnen Artikels der gegen diese Regel verstoßen würde abgelehnt wird.
Idealo
Der neue Bestellstatus "REVOKING" wurde eingebaut und wird bei der Bestellabholung beachtet. Er steht für Orders die innerhalb kürzester Zeit nachdem der Kunde bestellt hat bereits vom Kunden storniert wurden (damit es hier nicht zu einem unnötigen Versand durch den Händler kommt).
IndividualFeed
der IndividualFeed untersützt nun auch HTML in der Beschreibung.
Core
Es wurde eine grundsätzliche Property für alle Marktplatz Connectoren geschaffen um erlaubte Retouren Carrier individuell angeben zu können (diese müssen nämlich nicht zwangsläufig die gleichen wie für den normalen Versand Hinweg zum Kunden sein (bei Otto unterscheiden diese sich zB).
Metro
MetroMarkets unterstützt nun sukzessive die Weitergabe eine Mail vom Kunden (eine Weiterleitungsmail). Ist diese aber noch nicht verhanden, wird weiterhin nach dem alten "nomail" - Verfahren eine valide EMail von unicorn emuliert.
Wish
Wish Option eingebaut um auszuwählen ob EUR oder USD an Wish per API gesendet werden soll.
Oberfläche
In die Oberfläceh wurde beim Start eine Prüfung des .Net Frameworks eingebaut und ob dies die Mindestvoraussetzungen für unicorn erfüllt (andernfalls gibt es direkt eine Warnung die darauf hinweist).
Template
Die DummyArtikel für die Vorschau von Templates wurden weiter ausgebaut, damit der Händler noch mehr Variablen direkt in der Vorschau übersichtlich testen kann.
Core
Das auffinden von Attributen wurde "fehlerverzeihender" gestaltet, konkret sind Leerzeichen nun egal.
Core
Der DatenbankCache kann nun auch bei Inner Joins greifen und nicht nur, wenn das SELECT Statement am Anfang der Queries steht.
Core
bessere Typisierung der GetValue Methoden beim Auswerten der DB Objekte (genauere Überprüfung des jeweiligen Types, davor konnte es ggf. zu falschen Interpretationen von null Values kommen).
Core
Neues Feature für RetourenTrackingIds eingebaut
DHL
Logistiker DHL: TrackingNummern werden von unicorn validiert vor dem Senden
GLS
Logistiker GLS: TrackingNummern werden von unicorn validiert vor dem Senden
Hermes
Logistiker Hermes: TrackingNummern werden von unicorn validiert vor dem Senden
UPS
Logistiker UPS: TrackingNummern werden von unicorn validiert vor dem Senden
Template
Template Engine erweitert um Variable "FinalPreis"
Core
Die Methode um das Land aus einem String zu finden wurden um Iso3 erweitert (statt nur wie bisher Name in Deutsch, Name in Landessprache, Name in Englisch und Iso2)
Core
Das Mapping für den Carrier "PostNL" wurde stark erweitert und reagiert nun auf 26 weitere Schreibweisen in der Wawi.
Oberfläche
In der unicorn 2 Oberfläche kann man in den Einstellungen nun wählen, ob die Marktplätze ausgeklappt (mit direkt sichtbaren Shops) oder eingeklappt (Shops nicht direkt sichtbar) dargesteltl werden sollen.
Rewe
Rewe Sets Fertig eingebaut und getestet
Core
Neues Marktplatzfeature: Bildergröße wurde eingebaut. Die Marktplatz Connectoren müssen dies aber noch implementieren (aktuell nur Rewe)
Core
UBestellung UsePlayground rausgenommen (wird eh nicht verwendet, und spart etliche ShopSettings.Loads, Cache hin oder her; Columns private und refactor
Core
TaskSyncBestellungRest überarbeitet, lesbarer und 100 Zeilen kürzer, ohne relevante änderungen
Core
c# 7 Tuple<> raus, ValueTuple () rein (performance, lesbarkeit)
Core
Refactoring: Die Converter für C# DateTime <> Unix Timestamp wurden grundlegend erneurt. Es wurde hierbei auf C#7.2 Funktionen gesetzt.
Core
Änderung auf .Net 4.7.2 (C# 7.2)
Wayfair
Wayfair: Es wurde ein unnötiger Check der Zugangsdaten übersprungen. Da wir den Zugang zum FTP selbst stellen, ist hier kein gesonderter Check nötig, die Ressourcen kann man sich sparen.
Otto
Otto Pagination on Orders
shipcloud
Oberfläche
Shipcloud: Bisher konnte man nur in den shipcloud Einstellungen die Logistiker TNT, Parcel.One, Packeta und CargoInternational auswählen. Das wurde nun auch direkt in den Wizard für neue shipcloud-Anbindungen ergänzt.