...
Expand |
---|
|
30.11.2023 → neuer Eingangsparameter “predfefinedsearchterm" hinzugefügt 07.09.2023 → neuer Eingangsparameter “suppliernamecursive“ hinzugefügt 09.08.2023 → neuer Eingangsparameter “disableMetaTag” hinzugefügt 09.08.2023 → neuen Eingangsparameter “excludefilters” hinzugefügt 02.08.2023 → neuen Eingangsparameter “usemultitree” hinzugefügt 28.07.2023 → neuen Eingangsparameter “usesubstitutes” hinzugefügt 28.07.2023 → neuen Eingangsparameter “usedocuments” hinzugefügt 28.07.2023 → neuen Eingangsparameter “usebimcad” hinzugefügt 10.05.2023 → Erweiterung der “predefinedFilters” um die optionalen Felder “disabled” & “hidden” 10.05.2023 → neues Event “selectedarticle“ hinzugefügt 10.05.2023 → neuen Eingangsparameter “articleselectionmode“ hinzugefügt 24.11.2022 → neues Event pdflinkextended 30.09.2022 → neuer Eingangsparameter “downloadinnewtabtarget“ hinzugefügt 28.09.2022 → neue Eingangsparameter für externe Links hinzugefügt (externallinkid, externalinkchannelid, widgetstate) 26.09.2022 → Einbindung über Widget-Loader V2.0.0 hinzugefügt 09.08.2022 → Eingangsevent closeAllDialogs hinzugefügt 19.07.222 → pdflink Event hinzugefügt 06.07.2022 04.05.2022 → Screenshots ausgetauscht 22.03.22 → Hinzufügen dialogstatus 02.03.2022 → Umstellen Widget-Loader-Version auf 1.0.1 02.03.2022 → Umstellen URLs von GC nach OpenDatacheck 28.01.2022 → Erstellen der Dokumentation als Einzelseite
InhaltInhalt WidgetParameter “xs-deepsearch” Beispielparameter Beispielintegration Widget-Loader V1.x.x -Loader V2.x.xBeispielevent “shopsearch” Beispielevent “shopcart” Beispielevent “status” Beispielcode (PHP) Alle Widgets werden über den “xs-loader” eingebunden. Bitte machen Sie sich mit der Dokumentation XS Widget Integration / XS-Loader https://itek-wissen.atlassian.net/wiki/spaces/SOF/pages/2841313293 vertraut.
Parameter “xs-deepsearch”Eingang | Ab Version |
---|
Parameter | Pflicht | Beschreibung | Beispielwert |
---|
| |
---|
channelid | Nein | Wenn eine ChannelID angegeben wird, wird die Anzeige der DeepSearch auf diese angefragten Kanäle eingeschrenkt. Die ChannelIDs müssen dabei immer in einem Array übergeben werden. Der Benutzer muss dem angegeben Channel zugeordnet am System zugeordnet sein. | [2, 5] | Vor 2.0.19 | channelfocus | Nein | Gibt an welcher Channel nach dem Starten des Widgets fokussiert werden soll. Wenn nicht angegeben oder die ChannelID nicht vorhanden ist, wird der erste Channel fokussiert. | 5 | Vor 2.0.19 | predefinedarchivedfiltervalue | Nein | Gibt an ob der Archiviert Filter beim Aufruf auf den gewünschten Wert gesetzt ist. Mögliche Werte: | true | Vor 2.0.19 | prefermanufacturerlogoview | Nein | Gibt an, ob die Herstelleransicht verwendet werden soll bis: Nur Dokumente eines Herstellers im Ergebnisraum vorliegen Ein oder mehrere Hersteller explizit ausgewählt wurden Wird der Parameter Herstellerübersicht nicht gesetzt wird der Standard, also die Ergebnisliste mit den Dokumenten angezeigt
Mögliche Werte: | true | Vor 2.0.19 | externalsearch | Nein | | false | Vor 2.0.19 | usebaudocs | Nein | Integration des BauDocs-Widget innerhalb der Artikeldetails | false | Vor 2.0.19 | baudocsaccesstoken | Ja, wenn “usebaudocs” = true | OAuth2 Zugriffstoken für das BauDocssystem. Dieses Token muss zuvor vom integrierenden System am BauDocssystem angefragt werden. | - | Vor 2.0.19 | baudocsrefreshtoken | Ja, wenn “usebaudocs” = true | OAuth2 Refreshtoken für das BauDocssystem. Dieses Token muss zuvor vom integrierenden System am BauDocssystem angefragt werden. | - | Vor 2.0.19 | manufactureridtype | Ja, wenn “usebaudocs” = true | Der IDTyp der bei einer BauDocsanfrage zum Identifizieren / Mappen mitgesendet wird. Diese Funktionalität steht nur zur Verfügung, wenn eine IDHUB Integration beauftragt wurde. | odc | Vor 2.0.19 | videodefaultposter | Nein | Im Web verfügbares Bild das beim starten des Videos angezeigt wird, wenn kein Videoposter vorhanden ist. | https://url.png | Vor 2.0.19 | removeroundbracketsinsuppliername | Nein | Entfernt Texte die im Lieferantennamen in Klammern umschlossen sind. Beispiel: “Lieferant(abc)” wird in der Oberfläche ersetzt durch “Lieferant”. Standardwert ist false. | true | Vor 2.0.19 | removesquarebracketsinsuppliername | Nein | Entfernt Texte die im Lieferantennamen in eckigen Klammern umschlossen sind. Beispiel: “Lieferant[abc]” wird in der Oberfläche ersetzt durch “Lieferant”. Standardwert ist false. | true | Vor 2.0.19 | widgetstate | Nein | Initialisiert das Widget nach einem Rücksprung. | c2l0ZXMvZGVmYXVsdC9maWxlcy9pbmZvcGFja2FnZS8yLzEzMDEvMTYzNTE3MjczMi9wYWdlL3RodW1ibmFpbHMvMTAzMTkyNjRfOTA2LnBkZi5qcGVn | Vor 2.0.19 | style | Nein | JSON-Objekt zur Definition der Primär- und Sekundär-Farbe des Widgets. Das Objekt hat zwei Felder: | Code Block |
---|
"style":{
"primarycolor": "#616161",
"secondarycolor": "#D3D3D3"
} |
| Vor 2.0.19 | predfefinedsearchterm | Nein | Mit diesem Parameter ist es möglich den Suchbegriff vor zu belegen. Der übergebene Wert wird bei der initialen Suche verwendet und taucht im Suchschlitz auf. Wird der Parameter nicht angegeben wird die Suche ohne Suchbegriff gestartet. | Code Block |
---|
"predfefinedsearchterm": "Waschtisch" |
| 2.0.20 | predifinedfilters | Nein | Filter die beim Einsprung in das DeepSearch-Widget vorausgewählt seien sollen. Die Filtereinstellung kann pro Kanal vorgenommen werden. Felder im Es gibt die Filtertypen “Auswahl” (eine Liste von Filteroptionen) und “Bereich” (Einschränkung per minimal und maximal Wert z.B. bei Preisen). Im Feld filters können beide Typen verwendet werden. Felder für den Typ “Auswahl”: name : Der Name des Filters
values : Eine Liste von Filteroptionen die vorausgewählt seien sollen
disabled : Dieser Filter wird vorausgewählt und kann über die DeepSearchoberfläche nur teilweise geändert werden. Es könne die gewählten Filter abgewählt werden, bis nur noch einer von den vorausgewählten vorhanden ist. Ein zurücksetzen dieses Filters setzt die Werte wieder auf den ausgangszustand zurück. Damit ist gewährleistet das die maximale vordefinierte Ergebnismenge nicht verlassen werden kann.
hidden : Dieser Filter wird vorausgewählt und wird in der DeepSearch nicht angezeigt. Dieser kann über das Frontend nicht verändert werden.
Felder für den Typ “Bereich”: name : Der Name des Filters
minvalue : Untere Grenze der Auswahl
maxvalue : Obere Grenze der Auswahl
| Code Block |
---|
"predifinedfilters":[
{
"channelid": 1,
"filters":[
{
"name": "warengruppe",
"values": ["Washlets", "WCs"]
"disabled": false,
"hidden": true
},
{
"name": "preis",
"minvalue": 100,
"maxvalue": 10000
}
]
},
{
"channelid": 2,
"filters": [
{
"name": "infoPackageName.name",
"values": ["Preisliste", "Price List"]
"disabled": true,
}
]
}
] |
| Vor 2.0.19 | excludefilters | nein | Filter die Werte auschließen. Das Verhalten ist gleichzusetzen mit einer Blacklist. Die Filtereinstellung kann pro Kanal vorgenommen werden. Felder im Es gibt die Filtertypen “Auswahl” (eine Liste von Filteroptionen) und “Bereich” (Einschränkung per minimal und maximal Wert z.B. bei Preisen). Im Feld filters können beide Typen verwendet werden. Felder für den Typ “Auswahl”: | Code Block |
---|
| "excludefilters":[
{
"channelid": 1,
"filters":[
{
"name": "warengruppe",
"values": ["Washlets", "WCs"]
}
},
{
"channelid": 2,
"filters": [
{
"name": "infoPackageName.name",
"values": ["Preisliste", "Price List"]
}
]
}
] |
| Vor 2.0.19 | pdfviewer | nein | Das Objekt dient als Konfigurationsobjekt für den PDF-Viewer Aktuell gibt es nur eine Oberkategorie Alle Werte werden als Pixel-Werte implementiert. Eine Einheit muss nicht zwingend angegeben werden. | Code Block |
---|
| "pdfviewer":{
"position":{
"top": "150px",
"right": "20px",
"bottom": "50px",
"left": "20px"
}
} |
| Vor 2.0.19 | downloadinnewtab | Nein | Wird der Parameter auf true gesetzt, so öffnet sich beim klick auf den Downloadbutton ein neuer Tab und die Datei wird heruntergeladen | Code Block |
---|
{
...
"downloadinnewtab": true
} |
|
| Vor 2.0.19 | downloadinnewtabtarget | Nein | In Verbindung mit “downloadinnewtab” zu verwenden. Wird nur verwendet, wenn “downloadinnewtab” auf true gesetzt ist Gibt das Ziel an, das die Download-URL öffnen soll Im Standard oder wenn kein Wert gesetzt ist, wird “_blank“ verwendet | Code Block |
---|
{
...
"downloadinnewtabtarget": "_parent"
} |
| | Vor 2.0.19 | externallinkid | Nein | Die link ID der hochgeladenen Datei, die beim Aufruf des Widgets geöffnet werden soll. Muss zusammen mit “externallinkchannelid” gesetzt werden | Code Block |
---|
{
...
"externallinkid": "4233358a-52ca-4656-ac4e-f8a4305143da"
} |
| Vor 2.0.19 | externallinkchannelid | Nein | Der Kanal in dem die Datei, die mit “externallinkid” referenziert wurde, hinterlegt ist. Muss zusammen mit “externallinkid” gesetzt werden | Code Block |
---|
{
...
"externallinkchannelid": 2
} |
| Vor 2.0.19 | widgetstate | Nein | Alle GET-Parameter der Deep-Search als Base64 String. Damit kann eine bestimmte Ansicht sofort beim Öffnen der Deep-Search geladen werden. | Code Block |
---|
{
...
"widgetstate":"eyJhcHBTdGF0ZSI6eyJ0ZXJtIjoiIiwiZm9jdXMiOjIsInRhYmRhdGEiOiJbe1widGFiXCI6MCxcImNoYW5uZWxpZFwiOjEsXCJkYXRhXCI6e1wicGFcIjowLFwicmFcIjoyNSxcImZjYVwiOjEwLFwiZmFcIjp7XCJzZWxlY3Rpb25cIjpbe1wiY2F0ZWdvcnlcIjpcImhlcnN0ZWxsZXJOYW1lXCIsXCJvcHRpb25zXCI6W1wiUmljaHRlcm1laWVyU3VwcGxpZXJcIl19XSxcInJhbmdlXCI6W119LFwic2NhXCI6XCJcIixcInNvYVwiOlwiXCIsXCJ2bWFcIjpcInRcIixcInJmYlwiOlt7XCJjb2x1bW5OYW1lXCI6XCJwcmVpc1wiLFwiZmxvb3JcIjowLFwiY2VpbGluZ1wiOjMwMzk5LjI1fV19fSx7XCJ0YWJcIjoxLFwiY2hhbm5lbGlkXCI6NTIsXCJkYXRhXCI6e1wicGRcIjowLFwicmRcIjoyNSxcImZjZFwiOjEwLFwiZmRcIjp7XCJzZWxlY3Rpb25cIjpbe1wiY2F0ZWdvcnlcIjpcInN1cHBsaWVyTmFtZVwiLFwib3B0aW9uc1wiOltcIlJpY2h0ZXJtZWllclN1cHBsaWVyXCJdfV0sXCJyYW5nZVwiOltdfSxcInNjZFwiOlwiXCIsXCJzb2RcIjpcIlwiLFwidm1kXCI6XCJjXCIsXCJyZmJcIjpbXX19LHtcInRhYlwiOjEsXCJjaGFubmVsaWRcIjo0OCxcImRhdGFcIjp7XCJwZFwiOjAsXCJyZFwiOjI1LFwiZmNkXCI6MTAsXCJmZFwiOntcInNlbGVjdGlvblwiOlt7XCJjYXRlZ29yeVwiOlwic3VwcGxpZXJOYW1lXCIsXCJvcHRpb25zXCI6W1wiUmljaHRlcm1laWVyU3VwcGxpZXJcIl19XSxcInJhbmdlXCI6W119LFwic2NkXCI6XCJcIixcInNvZFwiOlwiXCIsXCJ2bWRcIjpcImNcIixcInJmYlwiOltdfX0se1widGFiXCI6MSxcImNoYW5uZWxpZFwiOjIsXCJkYXRhXCI6e1wicGRcIjowLFwicmRcIjoyNSxcImZjZFwiOjEwLFwiZmRcIjp7XCJzZWxlY3Rpb25cIjpbe1wiY2F0ZWdvcnlcIjpcInN1cHBsaWVyTmFtZVwiLFwib3B0aW9uc1wiOltcIlJpY2h0ZXJtZWllclN1cHBsaWVyXCJdfV0sXCJyYW5nZVwiOltdfSxcInNjZFwiOlwiXCIsXCJzb2RcIjpcIlwiLFwidm1kXCI6XCJjXCIsXCJyZmJcIjpbXX19LHtcInRhYlwiOjEsXCJjaGFubmVsaWRcIjo1MCxcImRhdGFcIjp7XCJwZFwiOjAsXCJyZFwiOjI1LFwiZmNkXCI6MTAsXCJmZFwiOntcInNlbGVjdGlvblwiOlt7XCJjYXRlZ29yeVwiOlwic3VwcGxpZXJOYW1lXCIsXCJvcHRpb25zXCI6W1wiUmljaHRlcm1laWVyU3VwcGxpZXJcIl19XSxcInJhbmdlXCI6W119LFwic2NkXCI6XCJcIixcInNvZFwiOlwiXCIsXCJ2bWRcIjpcImNcIixcInJmYlwiOltdfX0se1widGFiXCI6MSxcImNoYW5uZWxpZFwiOjYsXCJkYXRhXCI6e1wicGRcIjowLFwicmRcIjoyNSxcImZjZFwiOjEwLFwiZmRcIjp7XCJzZWxlY3Rpb25cIjpbe1wiY2F0ZWdvcnlcIjpcInN1cHBsaWVyTmFtZVwiLFwib3B0aW9uc1wiOltcIlJpY2h0ZXJtZWllclN1cHBsaWVyXCJdfV0sXCJyYW5nZVwiOltdfSxcInNjZFwiOlwiXCIsXCJzb2RcIjpcIlwiLFwidm1kXCI6XCJjXCIsXCJyZmJcIjpbXX19LHtcInRhYlwiOjIsXCJjaGFubmVsaWRcIjo0NCxcImRhdGFcIjp7XCJwZG93XCI6MCxcInJkb3dcIjoyNSxcImZjZG93XCI6MTAsXCJmZG93XCI6e1wic2VsZWN0aW9uXCI6W3tcImNhdGVnb3J5XCI6XCJzdXBwbGllck5hbWVcIixcIm9wdGlvbnNcIjpbXCI1XCJdfV0sXCJyYW5nZVwiOltdfSxcInNjZG93XCI6XCJkYXRlXCIsXCJzb2Rvd1wiOlwiZGVzY1wiLFwidm1kb3dcIjpcInRcIixcInJmYlwiOltdfX1dIn0sInBkZlN0YXRlIjp7InNlYXJjaFRlcm0iOiJzcGV6aWZpa2F0aW9uIiwic2VsZWN0ZWRQYWdlIjoxLCJ1cGxvYWRJRCI6NTQ1LCJtYW51ZmFjdHVyZXJJZCI6IlJpY2h0ZXJtZWllclN1cHBsaWVyIiwiY2hhbm5lbElEIjo0OCwib3B0aW9ucyI6WyJhbWF6b24iXSwiaGFzRGVlcHNlYXJjaCI6dHJ1ZSwiY2hhbm5lbFNldHRpbmdIYXNTaG9wY2FydCI6dHJ1ZSwiY2hhbm5lbFNldHRpbmdIYXNDbGlwcGluZyI6ZmFsc2UsImNoYW5uZWxTZXR0aW5nSGFzQ2xpcHBpbmdEaWFsb2ciOmZhbHNlLCJjaGFubmVsU2V0dGluZ0hhc1Nob3BTZWFyY2giOnRydWUsImNoYW5uZWxTZXR0aW5nU2hvd0V4dGVybmFsU2VhcmNoIjpmYWxzZSwiY2hhbm5lbFNldHRpbmdzQ2FuRG93bmxvYWQiOmZhbHNlLCJwZGZTZWFyY2hFeGFjdE1hdGNoIjpmYWxzZSwidGh1bWJuYWlsUGF0aCI6Imh0dHBzOi8veHNwb3J0YWwtdGVzdC5pdGVrLmRlL3dlYnNlcnZpY2VodWIvRGF0ZWlhYnJ1Zk9NRD90eXBlPUxPJmZpbGVJRD1jMmwwWlhNdlpHVm1ZWFZzZEM5bWFXeGxjeTlwYm1admNHRmphMkZuWlM4eEx6VXZNVFl6TlRVd01URTROaTkwYUhWdFltNWhhV3h6TDJKdFpXTmhkRjh5TURBMUxuQmtaaTVxY0dWbiIsInVwbG9hZERlc2NyaXB0aW9uIjoiQmVzY2hyZWlidW5nIERldXRzY2giLCJkb3dubG9hZEluTmV3VGFiIjpmYWxzZX19"
} |
| Vor 2.0.19 | articleselectionmode | Nein | Zeigt in der Artikelliste einen Button “Hinzufügen” an der beim drücken das Ausgangsevent “selectedarticle” auslößt. Standardwert ist false. | true | Vor 2.0.19 | usesubstitutes | Nein | Integration des Substitute-Widgets (alternativartikel) innerhalb der Artikeldetails. Dieses Feature kann nur Verwendet werden, wenn dies am System und für den Kanal aktiviert wurde. Über diesen Parameter kann es bei der Integration deaktiviert werden. Standardwert ist true. | false | Vor 2.0.19 | usedocuments | Nein | Integration des XS-Documents-Widgets (Bibliothek) innerhalb der Artikeldetails. Dieses Feature kann nur Verwendet werden, wenn dies am System und für den Kanal aktiviert wurde. Über diesen Parameter kann es bei der Integration deaktiviert werden. Standardwert ist true. | false | Vor 2.0.19 | usebimcad | Nein | Integration des BIM / CAD Widgets innerhalb der Artikeldetails. Dieses Feature kann nur Verwendet werden, wenn dies am System und für den Kanal aktiviert wurde. Über diesen Parameter kann es bei der Integration deaktiviert werden. Standardwert ist true. | false | Vor 2.0.19 | usemultitree | Nein | Anzeige des Baums als Filter in der Artikelsuche. Dieses Feature kann nur Verwendet werden, wenn dies am System und für den Kanal aktiviert wurde. Des weiteren muss eine Definition des Baumes am Kanal gepflegt worden sein. Über diesen Parameter kann es bei der Integration deaktiviert werden. Standardwert ist true. | false | Vor 2.0.19 | disableMetaTag | Nein | Das XS-DeepSearch-Widget bindet ein meta-Tag ein. Dieses meta-Tag ist wie folgt definiert: Code Block |
---|
<meta name="viewport" content="width=device-width, initial-scale=1"> |
Das Tag ist essenziell für die Darstellung des Widgets auf mobilen Endgeräten. Bei der Einbindung des Widgets in Apps kann der Tag zu Problemen führen. Mit diesem Parameter lässt sich steuern, ob der meta-Tag angelegt wird. Der meta-Tag kann dann beispielsweise von der einbinden Webseite zur Verfügung gestellt werden. Zu beachten ist, dass, falls der Tag abgeschaltet wird, für eine korrekte Darstellung auf mobilen Endgeräten keine Gewähr übernommen wird. Standardwert ist false. | true | Vor 2.0.19 | suppliernamecursive | Nein | Der Parameter bestimmt, ob der Herstellername in der OpenBIB in kursiv angezeigt wird. Bei true würden die Namen kursiv angezeigt werden: Image ModifiedBei false würden die Namen nicht kursiv angezeigt werden: Image Modified | | | shopsearch | Nein | Dieses Event wird nur ausgegeben, wenn diese Funktion für den entsprechenden Kanal angeschaltet wurde. Das Event beinhaltet folgende zwei Informationen. searchterm manufacturerid callback thumbnailurl: String, URL zum Thumbnail des Dokumentes. Bei Abruf muss der OAuth2 Token im Header der Anfrage mitgegeben werden. uploaddescription: String, Uploadbeschreibung des Dokumentes widgetstate: String, Status des Widgets für Rücksprung. Muss dem Widget beim Rücksprung in den Parametern übergeben werden um den Status wiederherzustellen.
| Code Block |
---|
{
"searchterm":"test",
"manufacturerid":"testid"
"callback": {
"searchterm":"test",
"manufacturerid":"testid",
"thumbnailurl": "https://2.0.open-datacheck.de/webservicehub/DateiabrufOMD?type=LO&fileID=c2l0ZXMvZGVmYXVsdC9maWxlcy9pbmZvcGFja2FnZS8yLzEzMDEvMTYzNTE3MjczMi90aHVtYm5haWxzLzEwMzE5MjY0LnBkZi5qcGVn"
"uploaddescription": "Installation 2021"
"widgetstate": "c2l0ZXMvZGVmYXVsdC9maWxlcy9pbmZvcGFja2FnZS8yLzEzMDEvMTYzNTE3MjczMi9wYWdlL3RodW1ibmFpbHMvMTAzMTkyNjRfOTA2LnBkZi5qcGVn"
}
} |
| Vor 2.0.19 | shopcart | Nein | Dieses Event wird nur ausgegeben, wenn diese Funktion für den entsprechenden Kanal angeschaltet wurde. thumbnailurl: String, URL zum Thumbnail des Dokumentes. Bei Abruf muss der OAuth2 Token im Header der Anfrage mitgegeben werden. uploaddescription: String, Uploadbeschreibung des Dokumentes widgetstate: String, Status des Widgets für Rücksprung. Muss dem Widget beim Rücksprung in den Parametern übergeben werden um den Status wiederherzustellen.
| Code Block |
---|
{
"searchterm":"test",
"manufacturerid":"testid",
"thumbnailurl": "https://2.0.open-datacheck.de/webservicehub/DateiabrufOMD?type=LO&fileID=c2l0ZXMvZGVmYXVsdC9maWxlcy9pbmZvcGFja2FnZS8yLzEzMDEvMTYzNTE3MjczMi90aHVtYm5haWxzLzEwMzE5MjY0LnBkZi5qcGVn"
"uploaddescription": "Installation 2021"
"widgetstate": "c2l0ZXMvZGVmYXVsdC9maWxlcy9pbmZvcGFja2FnZS8yLzEzMDEvMTYzNTE3MjczMi9wYWdlL3RodW1ibmFpbHMvMTAzMTkyNjRfOTA2LnBkZi5qcGVn"
} |
| Vor 2.0.19 | status | ja | Dieses Event wird immer beim Initialisieren ausgegeben. | | Vor 2.0.19 | dialogstatus | Nein | Dieses Event wird beim öffnen und schließen eines Dialoges ausgegeben. Werte: | | | Vor 2.0.19 | pdflink | Nein | Dieses Event wird bei einem Klick auf einen externen Link in einem PDF Dokument ausgegeben. | Ausgabe des im PDF Dokument angegebene Wert für den externen Link als String | Vor 2.0.19 | pdflinkextended | Nein | Dieses Event wird zusätzlich zum Event “pdflink” ausgelöst und beinhaltet ein callback-Attribut, das für den Rücksprung ins Widget verwendet werden kann. Die Attribute in des Callback-Events sind: searchterm manufacturerid thumbnailurl uploaddescription widgetstate
| Beispielausgabe des Events: Code Block |
---|
{
link: "article://502151000"
callback: {
{
"searchterm":"test",
"manufacturerid":"testid"
"thumbnailurl": "https://2.0.open-datacheck.de/webservicehub/DateiabrufOMD?type=LO&fileID=c2l0ZXMvZGVmYXVsdC9maWxlcy9pbmZvcGFja2FnZS8yLzEzMDEvMTYzNTE3MjczMi90aHVtYm5haWxzLzEwMzE5MjY0LnBkZi5qcGVn"
"uploaddescription": "Installation 2021"
"widgetstate": "c2l0ZXMvZGVmYXVsdC9maWxlcy9pbmZvcGFja2FnZS8yLzEzMDEvMTYzNTE3MjczMi9wYWdlL3RodW1ibmFpbHMvMTAzMTkyNjRfOTA2LnBkZi5qcGVn"
}
}
} |
| Vor 2.0.19 | selectedarticle | Nein | Dieses Event wird nur ausgegeben, wenn der Eingangsparameter “articleselectionmode” auf “true” gesetzt ist. Dann wird beim klicken auf den Button “Hinzufügen” in der Artikelliste das Event ausgelöst. Die Attribute des Events: | Beispielausgabe: Code Block |
---|
| {
"productInstanceId": "Broetje§|§818575-623452§|§1682326405000",
"productInstanceIdBase64": "QnJvZXRqZcKnfMKnODE4NTc1LTYyMzQ1MsKnfMKnMTY4MjMyNjQwNTAwMA",
"productId": "Broetje§|§818575-623452",
"productIdBase64": "QnJvZXRqZcKnfMKnODE4NTc1LTYyMzQ1Mg",
"supplierId": "Broetje",
"supplierPid": |
| "818575-623452"
}Vor 2.0.19 | Eingangsevents | | closeAlldialogs | | Dieses Event kann an das Widget emittet werden. Das Widget fängt das Event und schließt daraufhin alle zu Zeit geöffneten Dialogfenster. | Beispielaufruf: Code Block |
---|
document.querySelector("xs-deepsearch").dispatchEvent(new Event("closeAllDialogs")) |
| Vor 2.0.19 | Beispielparameter Code Block |
---|
{
"channelid" : [2,1],
"externalsearch" : false,
"usebaudocs" : false,
"removeroundbracketsinsuppliername" : true,
"removesquarebracketsinsuppliername" : true,
"style":{
"primarycolor": "#616161",
"secondarycolor": "#D3D3D3"
},
"pdfviewer":{
"position":{
"top": "150px",
"right": "20px",
"bottom": "50px",
"left": "20px"
}
}
} |
BeispielintegrationFolgendes Codesnippet in den HTML DOM einbetten. Code Block |
---|
<!-- Widget -->
<xs-loader
accesstoken="[acccesstoken]"
refreshtoken="[refreshtoken]"
targeturl="https://2.0.open-datacheck.de"
widget="xs-deepsearch"
widgetmode="true"
language="de"
parameter="eyJjaGFubmVsaWQiOjIsImV4dGVybmFsc2VhcmNoIjpmYWxzZSwidXNlYmF1ZG9jcyI6ZmFsc2V9">
</xs-loader>
<!-- Widget Resourcen -->
<script src="https://widget.itek.de/xs-loader/1.0.1/runtime.js" defer></script>
<script src="https://widget.itek.de/xs-loader/1.0.1/polyfills.js" defer></script>
<script src="https://widget.itek.de/xs-loader/1.0.1/main.js" defer></script> |
Code Block |
---|
<!-- Widget -->
<xs-loader
accesstoken="[acccesstoken]"
refreshtoken="[refreshtoken]"
targeturl="https://2.0.open-datacheck.de"
widget="xs-deepsearch"
widgetmode="true"
language="de"
parameter="eyJjaGFubmVsaWQiOjIsImV4dGVybmFsc2VhcmNoIjpmYWxzZSwidXNlYmF1ZG9jcyI6ZmFsc2V9">
</xs-loader>
<!-- Widget Resourcen -->
<link rel="stylesheet" href="https://widget.itek.de/xs-loader/2.0.0/styles.css">
<noscript><link rel="stylesheet" href="https://widget.itek.de/xs-loader/2.0.0/styles.css"></noscript>
<script src="https://widget.itek.de/xs-loader/2.0.0/xs-loader.js" defer></script> |
Beispielevent “shopsearch”Folgendes Codebeispiel wartet auf das Rückgabevent “shopsearch” von der DeepSearch. Code Block |
---|
<script defer>
// Auf ein Event vom Widget "xs-loader" warten.
//Wenn das Event "true" ist, kann ein Eventlistener für die DeepSearch registriert werden
const loader_element = document.querySelector('xs-loader');
loader_element.addEventListener('loadfinished', (loadEvent) => {
console.log("Load finished: " + loadEvent.detail);
// Auf ein Event vom Widget warten.
const widget_status = document.querySelector('xs-deepsearch');
widget_status.addEventListener('shopsearch', (statusEvent) => {
console.log('"shopsearch" emitted: ' + statusEvent.detail)
});
});
</script> |
Beispielevent “shopcart”Folgendes Codebeispiel wartet auf das Rückgabevent “shopcart” von der DeepSearch. Code Block |
---|
<script defer>
// Auf ein Event vom Widget "xs-loader" warten.
//Wenn das Event "true" ist, kann ein Eventlistener für die DeepSearch registriert werden
const loader_element = document.querySelector('xs-loader');
loader_element.addEventListener('loadfinished', (loadEvent) => {
console.log("Load finished: " + loadEvent.detail);
// Auf ein Event vom Widget warten.
const widget_status = document.querySelector('xs-deepsearch');
widget_status.addEventListener('shopcart', (statusEvent) => {
console.log('"shopcart" emitted: ' + statusEvent.detail)
});
});
</script> |
Beispielevent “status”Folgendes Codebeispiel wartet auf das Rückgabevent “status” von der DeepSearch. Code Block |
---|
<script defer>
// Auf ein Event vom Widget "xs-loader" warten.
//Wenn das Event "true" ist, kann ein Eventlistener für die DeepSearch registriert werden
const loader_element = document.querySelector('xs-loader');
loader_element.addEventListener('loadfinished', (loadEvent) => {
console.log("Load finished: " + loadEvent.detail);
// Auf ein Event vom Widget warten.
const widget_status = document.querySelector('xs-deepsearch');
widget_status.addEventListener('status', (statusEvent) => {
console.log('"status" emitted: ' + statusEvent.detail)
});
});
</script> |
Beispielcode (PHP) Code Block |
---|
Code Block |
---|
Code Block |
---|
Code Block |
---|
|
Parameter “xs-deepsearch-shadow-dom”
...
Eingang
...
Parameter
...
Pflicht
...
Beschreibung
...
Beispielwert
...
channelid
...
Nein
...
Wenn eine ChannelID angegeben wird, wird die Anzeige der DeepSearch auf diese angefragten Kanäle eingeschrenkt. Die ChannelIDs müssen dabei immer in einem Array übergeben werden.
Der Benutzer muss dem angegeben Channel zugeordnet am System zugeordnet sein.
...
[2, 5]
...
channelfocus
...
Nein
...
Gibt an welcher Channel nach dem Starten des Widgets fokussiert werden soll. Wenn nicht angegeben oder die ChannelID nicht vorhanden ist, wird der erste Channel fokussiert.
...
5
...
predefinedarchivedfiltervalue
...
Nein
...
Gibt an ob der Archiviert Filter beim Aufruf auf den gewünschten Wert gesetzt ist.
Mögliche Werte:
false = Zeigt alle Dokumente die nicht archiviert sind an
true = Zeigt alle Dokumente die archiviert sind an
...
true
...
prefermanufacturerlogoview
...
Nein
...
Gibt an, ob die Herstelleransicht verwendet werden soll bis:
Nur Dokumente eines Herstellers im Ergebnisraum vorliegen
Ein oder mehrere Hersteller explizit ausgewählt wurden
Wird der Parameter Herstellerübersicht nicht gesetzt wird der Standard, also die Ergebnisliste mit den Dokumenten angezeigt
Mögliche Werte:
true = Herstelleransicht wird bevorzugt
false = Standardverhalten
...
true
...
externalsearch
...
Nein
...
...
false
...
usebaudocs
...
Nein
...
Integration des BauDocs-Widget innerhalb der Artikeldetails
...
false
...
baudocsaccesstoken
...
Ja, wenn “usebaudocs” = true
...
OAuth2 Zugriffstoken für das BauDocssystem. Dieses Token muss zuvor vom integrierenden System am BauDocssystem angefragt werden.
...
-
...
baudocsrefreshtoken
...
Ja, wenn “usebaudocs” = true
...
OAuth2 Refreshtoken für das BauDocssystem. Dieses Token muss zuvor vom integrierenden System am BauDocssystem angefragt werden.
...
-
...
manufactureridtype
...
Ja, wenn “usebaudocs” = true
...
Der IDTyp der bei einer BauDocsanfrage zum Identifizieren / Mappen mitgesendet wird.
Diese Funktionalität steht nur zur Verfügung, wenn eine IDHUB Integration beauftragt wurde.
...
odc
...
videodefaultposter
...
Nein
...
Im Web verfügbares Bild das beim starten des Videos angezeigt wird, wenn kein Videoposter vorhanden ist.
...
https://url.png
...
removeroundbracketsinsuppliername
...
Nein
...
Entfernt Texte die im Lieferantennamen in Klammern umschlossen sind. Beispiel: “Lieferant(abc)” wird in der Oberfläche ersetzt durch “Lieferant”.
Standardwert ist false.
...
true
...
removesquarebracketsinsuppliername
...
Nein
...
Entfernt Texte die im Lieferantennamen in eckigen Klammern umschlossen sind. Beispiel: “Lieferant[abc]” wird in der Oberfläche ersetzt durch “Lieferant”.
Standardwert ist false.
...
true
...
widgetstate
...
Nein
...
Initialisiert das Widget nach einem Rücksprung.
...
c2l0ZXMvZGVmYXVsdC9maWxlcy9pbmZvcGFja2FnZS8yLzEzMDEvMTYzNTE3MjczMi9wYWdlL3RodW1ibmFpbHMvMTAzMTkyNjRfOTA2LnBkZi5qcGVn
...
style
...
Nein
...
JSON-Objekt zur Definition der Primär- und Sekundär-Farbe des Widgets. Das Objekt hat zwei Felder:
primarycolor
: Primärfarbe. Als Wert wird ein Hexadezimal-String erwartet (Beispiel: "#616161"
).
secondarycolor
: Sekundärfarbe. Als Wert wird ein Hexadezimal-String erwartet (Beispiel: "#D3D3D3"
).
...
Code Block |
---|
"style":{
"primarycolor": "#616161",
"secondarycolor": "#D3D3D3"
} |
...
predifinedfilters
...
Nein
...
Filter die beim Einsprung in das DeepSearch-Widget vorausgewählt seien sollen. Die Filtereinstellung kann pro Kanal vorgenommen werden.
Felder im
channelid
: Die Id des Channels auf die der Filter angewandt werden soll.
filters
: Eine Liste von vorausgewählten Filtern.
Es gibt die Filtertypen “Auswahl” (eine Liste von Filteroptionen) und “Bereich” (Einschränkung per minimal und maximal Wert z.B. bei Preisen). Im Feld filters
können beide Typen verwendet werden.
Felder für den Typ “Auswahl”:
name
: Der Name des Filters
values
: Eine Liste von Filteroptionen die vorausgewählt seien sollen
disabled
: Dieser Filter wird vorausgewählt und kann über die DeepSearchoberfläche nur teilweise geändert werden. Es könne die gewählten Filter abgewählt werden, bis nur noch einer von den vorausgewählten vorhanden ist. Ein zurücksetzen dieses Filters setzt die Werte wieder auf den ausgangszustand zurück. Damit ist gewährleistet das die maximale vordefinierte Ergebnismenge nicht verlassen werden kann.
hidden
: Dieser Filter wird vorausgewählt und wird in der DeepSearch nicht angezeigt. Dieser kann über das Frontend nicht verändert werden.
Felder für den Typ “Bereich”:
name
: Der Name des Filters
minvalue
: Untere Grenze der Auswahl
maxvalue
: Obere Grenze der Auswahl
...
Code Block |
---|
|
"predifinedfilters":[
{
"channelid": 1,
"filters":[
{
"name": "warengruppe",
"values": ["Washlets", "WCs"]
"disabled": false,
"hidden": true
},
{
"name": "preis",
"minvalue": 100,
"maxvalue": 10000
}
]
},
{
"channelid": 2,
"filters": [
{
"name": "infoPackageName.name",
"values": ["Preisliste", "Price List"]
"disabled": true,
}
]
}
] |
...
pdfviewer
...
nein
...
Das Objekt dient als Konfigurationsobjekt für den PDF-Viewer
Aktuell gibt es nur eine Oberkategorie
Alle Werte werden als Pixel-Werte implementiert. Eine Einheit muss nicht zwingend angegeben werden.
...
Code Block |
---|
"pdfviewer":{
"position":{
"top": "150px",
"right": "20px",
"bottom": "50px",
"left": "20px"
}
} |
...
downloadinnewtab
...
Nein
...
Wird der Parameter auf true gesetzt, so öffnet sich beim klick auf den Downloadbutton ein neuer Tab und die Datei wird heruntergeladen
Code Block |
---|
{
...
"downloadinnewtab": true
} |
...
downloadinnewtabtarget
...
Nein
...
In Verbindung mit “downloadinnewtab” zu verwenden. Wird nur verwendet, wenn “downloadinnewtab” auf true gesetzt ist
Gibt das Ziel an, das die Download-URL öffnen soll
Im Standard oder wenn kein Wert gesetzt ist, wird “_blank“ verwendet
Code Block |
---|
{
...
"downloadinnewtabtarget": "_parent"
} |
...
externallinkid
...
Nein
...
Die link ID der hochgeladenen Datei, die beim Aufruf des Widgets geöffnet werden soll.
Muss zusammen mit “externallinkchannelid” gesetzt werden
...
Code Block |
---|
{
...
"externallinkid": "4233358a-52ca-4656-ac4e-f8a4305143da"
} |
...
externallinkchannelid
...
Nein
...
Der Kanal in dem die Datei, die mit “externallinkid” referenziert wurde, hinterlegt ist.
Muss zusammen mit “externallinkid” gesetzt werden
...
Code Block |
---|
{
...
"externallinkchannelid": 2
} |
...
widgetstate
...
Nein
...
Alle GET-Parameter der Deep-Search als Base64 String.
Damit kann eine bestimmte Ansicht sofort beim Öffnen der Deep-Search geladen werden.
...
Code Block |
---|
{
...
"widgetstate":"eyJhcHBTdGF0ZSI6eyJ0ZXJtIjoiIiwiZm9jdXMiOjIsInRhYmRhdGEiOiJbe1widGFiXCI6MCxcImNoYW5uZWxpZFwiOjEsXCJkYXRhXCI6e1wicGFcIjowLFwicmFcIjoyNSxcImZjYVwiOjEwLFwiZmFcIjp7XCJzZWxlY3Rpb25cIjpbe1wiY2F0ZWdvcnlcIjpcImhlcnN0ZWxsZXJOYW1lXCIsXCJvcHRpb25zXCI6W1wiUmljaHRlcm1laWVyU3VwcGxpZXJcIl19XSxcInJhbmdlXCI6W119LFwic2NhXCI6XCJcIixcInNvYVwiOlwiXCIsXCJ2bWFcIjpcInRcIixcInJmYlwiOlt7XCJjb2x1bW5OYW1lXCI6XCJwcmVpc1wiLFwiZmxvb3JcIjowLFwiY2VpbGluZ1wiOjMwMzk5LjI1fV19fSx7XCJ0YWJcIjoxLFwiY2hhbm5lbGlkXCI6NTIsXCJkYXRhXCI6e1wicGRcIjowLFwicmRcIjoyNSxcImZjZFwiOjEwLFwiZmRcIjp7XCJzZWxlY3Rpb25cIjpbe1wiY2F0ZWdvcnlcIjpcInN1cHBsaWVyTmFtZVwiLFwib3B0aW9uc1wiOltcIlJpY2h0ZXJtZWllclN1cHBsaWVyXCJdfV0sXCJyYW5nZVwiOltdfSxcInNjZFwiOlwiXCIsXCJzb2RcIjpcIlwiLFwidm1kXCI6XCJjXCIsXCJyZmJcIjpbXX19LHtcInRhYlwiOjEsXCJjaGFubmVsaWRcIjo0OCxcImRhdGFcIjp7XCJwZFwiOjAsXCJyZFwiOjI1LFwiZmNkXCI6MTAsXCJmZFwiOntcInNlbGVjdGlvblwiOlt7XCJjYXRlZ29yeVwiOlwic3VwcGxpZXJOYW1lXCIsXCJvcHRpb25zXCI6W1wiUmljaHRlcm1laWVyU3VwcGxpZXJcIl19XSxcInJhbmdlXCI6W119LFwic2NkXCI6XCJcIixcInNvZFwiOlwiXCIsXCJ2bWRcIjpcImNcIixcInJmYlwiOltdfX0se1widGFiXCI6MSxcImNoYW5uZWxpZFwiOjIsXCJkYXRhXCI6e1wicGRcIjowLFwicmRcIjoyNSxcImZjZFwiOjEwLFwiZmRcIjp7XCJzZWxlY3Rpb25cIjpbe1wiY2F0ZWdvcnlcIjpcInN1cHBsaWVyTmFtZVwiLFwib3B0aW9uc1wiOltcIlJpY2h0ZXJtZWllclN1cHBsaWVyXCJdfV0sXCJyYW5nZVwiOltdfSxcInNjZFwiOlwiXCIsXCJzb2RcIjpcIlwiLFwidm1kXCI6XCJjXCIsXCJyZmJcIjpbXX19LHtcInRhYlwiOjEsXCJjaGFubmVsaWRcIjo1MCxcImRhdGFcIjp7XCJwZFwiOjAsXCJyZFwiOjI1LFwiZmNkXCI6MTAsXCJmZFwiOntcInNlbGVjdGlvblwiOlt7XCJjYXRlZ29yeVwiOlwic3VwcGxpZXJOYW1lXCIsXCJvcHRpb25zXCI6W1wiUmljaHRlcm1laWVyU3VwcGxpZXJcIl19XSxcInJhbmdlXCI6W119LFwic2NkXCI6XCJcIixcInNvZFwiOlwiXCIsXCJ2bWRcIjpcImNcIixcInJmYlwiOltdfX0se1widGFiXCI6MSxcImNoYW5uZWxpZFwiOjYsXCJkYXRhXCI6e1wicGRcIjowLFwicmRcIjoyNSxcImZjZFwiOjEwLFwiZmRcIjp7XCJzZWxlY3Rpb25cIjpbe1wiY2F0ZWdvcnlcIjpcInN1cHBsaWVyTmFtZVwiLFwib3B0aW9uc1wiOltcIlJpY2h0ZXJtZWllclN1cHBsaWVyXCJdfV0sXCJyYW5nZVwiOltdfSxcInNjZFwiOlwiXCIsXCJzb2RcIjpcIlwiLFwidm1kXCI6XCJjXCIsXCJyZmJcIjpbXX19LHtcInRhYlwiOjIsXCJjaGFubmVsaWRcIjo0NCxcImRhdGFcIjp7XCJwZG93XCI6MCxcInJkb3dcIjoyNSxcImZjZG93XCI6MTAsXCJmZG93XCI6e1wic2VsZWN0aW9uXCI6W3tcImNhdGVnb3J5XCI6XCJzdXBwbGllck5hbWVcIixcIm9wdGlvbnNcIjpbXCI1XCJdfV0sXCJyYW5nZVwiOltdfSxcInNjZG93XCI6XCJkYXRlXCIsXCJzb2Rvd1wiOlwiZGVzY1wiLFwidm1kb3dcIjpcInRcIixcInJmYlwiOltdfX1dIn0sInBkZlN0YXRlIjp7InNlYXJjaFRlcm0iOiJzcGV6aWZpa2F0aW9uIiwic2VsZWN0ZWRQYWdlIjoxLCJ1cGxvYWRJRCI6NTQ1LCJtYW51ZmFjdHVyZXJJZCI6IlJpY2h0ZXJtZWllclN1cHBsaWVyIiwiY2hhbm5lbElEIjo0OCwib3B0aW9ucyI6WyJhbWF6b24iXSwiaGFzRGVlcHNlYXJjaCI6dHJ1ZSwiY2hhbm5lbFNldHRpbmdIYXNTaG9wY2FydCI6dHJ1ZSwiY2hhbm5lbFNldHRpbmdIYXNDbGlwcGluZyI6ZmFsc2UsImNoYW5uZWxTZXR0aW5nSGFzQ2xpcHBpbmdEaWFsb2ciOmZhbHNlLCJjaGFubmVsU2V0dGluZ0hhc1Nob3BTZWFyY2giOnRydWUsImNoYW5uZWxTZXR0aW5nU2hvd0V4dGVybmFsU2VhcmNoIjpmYWxzZSwiY2hhbm5lbFNldHRpbmdzQ2FuRG93bmxvYWQiOmZhbHNlLCJwZGZTZWFyY2hFeGFjdE1hdGNoIjpmYWxzZSwidGh1bWJuYWlsUGF0aCI6Imh0dHBzOi8veHNwb3J0YWwtdGVzdC5pdGVrLmRlL3dlYnNlcnZpY2VodWIvRGF0ZWlhYnJ1Zk9NRD90eXBlPUxPJmZpbGVJRD1jMmwwWlhNdlpHVm1ZWFZzZEM5bWFXeGxjeTlwYm1admNHRmphMkZuWlM4eEx6VXZNVFl6TlRVd01URTROaTkwYUhWdFltNWhhV3h6TDJKdFpXTmhkRjh5TURBMUxuQmtaaTVxY0dWbiIsInVwbG9hZERlc2NyaXB0aW9uIjoiQmVzY2hyZWlidW5nIERldXRzY2giLCJkb3dubG9hZEluTmV3VGFiIjpmYWxzZX19"
} |
...
articleselectionmode
...
Nein
...
Zeigt in der Artikelliste einen Button “Hinzufügen” an der beim drücken das Ausgangsevent “selectedarticle” auslößt.
Standardwert ist false.
...
true
...
usesubstitutes
...
Nein
...
Integration des Substitute-Widgets (alternativartikel) innerhalb der Artikeldetails. Dieses Feature kann nur Verwendet werden, wenn dies am System und für den Kanal aktiviert wurde. Über diesen Parameter kann es bei der Integration deaktiviert werden.
Standardwert ist true.
...
false
...
usedocuments
...
Nein
...
Integration des XS-Documents-Widgets (Bibliothek) innerhalb der Artikeldetails. Dieses Feature kann nur Verwendet werden, wenn dies am System und für den Kanal aktiviert wurde. Über diesen Parameter kann es bei der Integration deaktiviert werden.
Standardwert ist true.
...
false
...
usebimcad
...
Nein
...
Integration des BIM / CAD Widgets innerhalb der Artikeldetails. Dieses Feature kann nur Verwendet werden, wenn dies am System und für den Kanal aktiviert wurde. Über diesen Parameter kann es bei der Integration deaktiviert werden.
Standardwert ist true.
...
false
...
Ausgang
...
shopsearch
...
Nein
...
Dieses Event wird nur ausgegeben, wenn diese Funktion für den entsprechenden Kanal angeschaltet wurde.
Das Event beinhaltet folgende zwei Informationen.
searchterm
manufacturerid
callback
thumbnailurl: String, URL zum Thumbnail des Dokumentes. Bei Abruf muss der OAuth2 Token im Header der Anfrage mitgegeben werden.
uploaddescription: String, Uploadbeschreibung des Dokumentes
widgetstate: String, Status des Widgets für Rücksprung. Muss dem Widget beim Rücksprung in den Parametern übergeben werden um den Status wiederherzustellen.
...
Code Block |
---|
{
"searchterm":"test",
"manufacturerid":"testid"
"callback": {
"searchterm":"test",
"manufacturerid":"testid",
"thumbnailurl": "https://2.0.open-datacheck.de/webservicehub/DateiabrufOMD?type=LO&fileID=c2l0ZXMvZGVmYXVsdC9maWxlcy9pbmZvcGFja2FnZS8yLzEzMDEvMTYzNTE3MjczMi90aHVtYm5haWxzLzEwMzE5MjY0LnBkZi5qcGVn"
"uploaddescription": "Installation 2021"
"widgetstate": "c2l0ZXMvZGVmYXVsdC9maWxlcy9pbmZvcGFja2FnZS8yLzEzMDEvMTYzNTE3MjczMi9wYWdlL3RodW1ibmFpbHMvMTAzMTkyNjRfOTA2LnBkZi5qcGVn"
}
} |
...
shopcart
...
Nein
...
Dieses Event wird nur ausgegeben, wenn diese Funktion für den entsprechenden Kanal angeschaltet wurde.
thumbnailurl: String, URL zum Thumbnail des Dokumentes. Bei Abruf muss der OAuth2 Token im Header der Anfrage mitgegeben werden.
uploaddescription: String, Uploadbeschreibung des Dokumentes
widgetstate: String, Status des Widgets für Rücksprung. Muss dem Widget beim Rücksprung in den Parametern übergeben werden um den Status wiederherzustellen.
...
Code Block |
---|
{
"searchterm":"test",
"manufacturerid":"testid",
"thumbnailurl": "https://2.0.open-datacheck.de/webservicehub/DateiabrufOMD?type=LO&fileID=c2l0ZXMvZGVmYXVsdC9maWxlcy9pbmZvcGFja2FnZS8yLzEzMDEvMTYzNTE3MjczMi90aHVtYm5haWxzLzEwMzE5MjY0LnBkZi5qcGVn"
"uploaddescription": "Installation 2021"
"widgetstate": "c2l0ZXMvZGVmYXVsdC9maWxlcy9pbmZvcGFja2FnZS8yLzEzMDEvMTYzNTE3MjczMi9wYWdlL3RodW1ibmFpbHMvMTAzMTkyNjRfOTA2LnBkZi5qcGVn"
} |
...
status
...
ja
...
Dieses Event wird immer beim Initialisieren ausgegeben.
...
...
dialogstatus
...
Nein
...
Dieses Event wird beim öffnen und schließen eines Dialoges ausgegeben. Werte:
...
pdflink
...
Nein
...
Dieses Event wird bei einem Klick auf einen externen Link in einem PDF Dokument ausgegeben.
...
Ausgabe des im PDF Dokument angegebene Wert für den externen Link als String
...
pdflinkextended
...
Nein
...
Dieses Event wird zusätzlich zum Event “pdflink” ausgelöst und beinhaltet ein callback-Attribut, das für den Rücksprung ins Widget verwendet werden kann.
Die Attribute in des Callback-Events sind:
searchterm
manufacturerid
thumbnailurl
uploaddescription
widgetstate
...
Beispielausgabe des Events:
Code Block |
---|
{
link: "article://502151000"
callback: {
{
"searchterm":"test",
"manufacturerid":"testid"
"thumbnailurl": "https://2.0.open-datacheck.de/webservicehub/DateiabrufOMD?type=LO&fileID=c2l0ZXMvZGVmYXVsdC9maWxlcy9pbmZvcGFja2FnZS8yLzEzMDEvMTYzNTE3MjczMi90aHVtYm5haWxzLzEwMzE5MjY0LnBkZi5qcGVn"
"uploaddescription": "Installation 2021"
"widgetstate": "c2l0ZXMvZGVmYXVsdC9maWxlcy9pbmZvcGFja2FnZS8yLzEzMDEvMTYzNTE3MjczMi9wYWdlL3RodW1ibmFpbHMvMTAzMTkyNjRfOTA2LnBkZi5qcGVn"
}
}
} |
...
selectedarticle
...
Nein
...
Dieses Event wird nur ausgegeben, wenn der Eingangsparameter “articleselectionmode” auf “true” gesetzt ist. Dann wird beim klicken auf den Button “Hinzufügen” in der Artikelliste das Event ausgelöst.
Die Attribute des Events:
productInstanceId
productInstanceIdBase64 (optional)
productId
productIdBase64 (optional)
supplierId
supplierPid (optional)
...
Beispielausgabe:
Code Block |
---|
{
"productInstanceId": "Broetje§|§818575-623452§|§1682326405000",
"productInstanceIdBase64": "QnJvZXRqZcKnfMKnODE4NTc1LTYyMzQ1MsKnfMKnMTY4MjMyNjQwNTAwMA",
"productId": "Broetje§|§818575-623452",
"productIdBase64": "QnJvZXRqZcKnfMKnODE4NTc1LTYyMzQ1Mg",
"supplierId": "Broetje",
"supplierPid": "818575-623452"
} |
...
usemultitree
...
Nein
...
Anzeige des Baums als Filter in der Artikelsuche. Dieses Feature kann nur Verwendet werden, wenn dies am System und für den Kanal aktiviert wurde. Des weiteren muss eine Definition des Baumes am Kanal gepflegt worden sein. Über diesen Parameter kann es bei der Integration deaktiviert werden.
Standardwert ist true.
...
false
| Vor 2.0.19 | Eingangsevents | | closeAlldialogs | | Dieses Event kann an das Widget emittet werden. Das Widget fängt das Event und schließt daraufhin alle zu Zeit geöffneten Dialogfenster. | Beispielaufruf: Code Block |
---|
document.querySelector("xs-deepsearch |
|
|
...
").dispatchEvent(new Event("closeAllDialogs")) |
| Vor 2.0.19 |
Beispielparameter |
breakoutMode | wide | {
"channelid" : [2,1],
"externalsearch" : false,
"usebaudocs" : false,
"removeroundbracketsinsuppliername" : true,
"removesquarebracketsinsuppliername" : true,
"style":{
"primarycolor": "#616161",
"secondarycolor": "#D3D3D3"
},
"pdfviewer":{
"position":{
"top": "150px",
"right": "20px",
"bottom": "50px",
"left": "20px"
}
}
} |
BeispielintegrationFolgendes Codesnippet in den HTML DOM einbetten. |
|
<!-- Widget -->
<xs-loader
accesstoken="[acccesstoken]"
refreshtoken="[refreshtoken]"
targeturl="https://2.0.open-datacheck.de"
widget="xs-deepsearch | -shadow-dom"
widgetmode="true"
language="de"
parameter="eyJjaGFubmVsaWQiOjIsImV4dGVybmFsc2VhcmNoIjpmYWxzZSwidXNlYmF1ZG9jcyI6ZmFsc2V9">
</xs-loader>
<!-- Widget Resourcen -->
<script src="https://widget.itek.de/xs-loader/1.0.1/runtime.js" defer></script>
<script src="https://widget.itek.de/xs-loader/1.0.1/polyfills.js" defer></script>
<script src="https://widget.itek.de/xs-loader/1.0.1/main.js" defer></script> |
Code Block |
---|
<!-- Widget -->
<xs-loader
accesstoken="[acccesstoken]"
refreshtoken="[refreshtoken]"
targeturl="https://2.0.open-datacheck.de"
widget="xs-deepsearch | -shadow-dom"
widgetmode="true"
language="de"
parameter="eyJjaGFubmVsaWQiOjIsImV4dGVybmFsc2VhcmNoIjpmYWxzZSwidXNlYmF1ZG9jcyI6ZmFsc2V9">
</xs-loader>
<!-- Widget Resourcen -->
<link rel="stylesheet" href="https://widget.itek.de/xs-loader/2.0.0/styles.css">
<noscript><link rel="stylesheet" href="https://widget.itek.de/xs-loader/2.0.0/styles.css"></noscript>
<script src="https://widget.itek.de/xs-loader/2.0.0/xs-loader.js" defer></script> |
Beispielevent “shopsearch”Folgendes Codebeispiel wartet auf das Rückgabevent “shopsearch” von der DeepSearch. |
|
<script defer>
// Auf ein Event vom Widget "xs-loader" warten.
//Wenn das Event "true" ist, kann ein Eventlistener für die DeepSearch registriert werden
const loader_element = document.querySelector('xs-loader');
loader_element.addEventListener('loadfinished', (loadEvent) => {
console.log("Load finished: " + loadEvent.detail);
// Auf ein Event vom Widget warten.
const widget_status = document.querySelector('xs-deepsearch | -shadow-dom');
widget_status.addEventListener('shopsearch', (statusEvent) => {
console.log('"shopsearch" emitted: ' + statusEvent.detail)
});
});
</script> |
Beispielevent “shopcart”Folgendes Codebeispiel wartet auf das Rückgabevent “shopcart” von der DeepSearch. |
breakoutMode | wide |
---|
<script defer>
// Auf ein Event vom Widget "xs-loader" warten.
//Wenn das Event "true" ist, kann ein Eventlistener für die DeepSearch registriert werden
const loader_element = document.querySelector('xs-loader');
loader_element.addEventListener('loadfinished', (loadEvent) => {
console.log("Load finished: " + loadEvent.detail);
// Auf ein Event vom Widget warten.
const widget_status = document.querySelector('xs-deepsearch | -shadow-dom');
widget_status.addEventListener('shopcart', (statusEvent) => {
console.log('"shopcart" emitted: ' + statusEvent.detail)
});
});
</script> |
Beispielevent “status”Folgendes Codebeispiel wartet auf das Rückgabevent “status” von der DeepSearch. |
---|
|
<script defer>
// Auf ein Event vom Widget "xs-loader" warten.
//Wenn das Event "true" ist, kann ein Eventlistener für die DeepSearch registriert werden
const loader_element = document.querySelector('xs-loader');
loader_element.addEventListener('loadfinished', (loadEvent) => {
console.log("Load finished: " + loadEvent.detail);
// Auf ein Event vom Widget warten.
const widget_status = document.querySelector('xs-deepsearch | -shadow-dom');
widget_status.addEventListener('status', (statusEvent) => {
console.log('"status" emitted: ' + statusEvent.detail)
});
});
</script> |
Beispielcode (PHP) |
...
Expand |
---|
title | Beispielintegration "DeepSearch"Widget-Loader V1.x.x Code Block |
---|
| <?php
$systemURL = "https://2.0.open-datacheck.de"; // URL der Anlage, von der das Widget eingebunden werden soll
$systemUsername = ""; // Benutzer auf der Anlage
$systemPassword = ""; // Passwort des Anlagen-Benutzeres
$xsloaderVersion = "1.0.1"; // Version des XS-Loader Widgets
$params = array(
'grant_type' => 'password',
'client_id' => 'article_search_client',
'username'=> $systemUsername,
'password' => $systemPassword,
'scope' => 'customer_portal_view_article_data_30',
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $systemURL . "/oauth2/token");
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$json_deepsearch = json_decode($result, true);
curl_close($ch);
?>
<html>
<head>
<title>Widget Integration Test</title>
</head>
<body>
<noscript>
DeepSearch funktioniert nur mit aktiviertem Javascript.
</noscript>
<!-- vor das widget-->
<link rel="stylesheet" href="https://widget.itek.de/xs-loader/<?php echo $xsloaderVersion ?>/styles.css">
<noscript><link rel="stylesheet" href="https://widget.itek.de/xs-loader/<?php echo $xsloaderVersion ?>/styles.css"></noscript>
<script src="https://widget.itek.de/xs-loader/<?php echo $xsloaderVersion ?>/runtime.js" defer></script>
<script src="https://widget.itek.de/xs-loader/<?php echo $xsloaderVersion ?>/polyfills.js" defer></script>
<script src="https://widget.itek.de/xs-loader/<?php echo $xsloaderVersion ?>/main.js" defer></script>
<!-- Widget -->
<xs-loader widget="xs-deepsearch-shadow-dom" accesstoken="<?php echo $json_deepsearch['access_token'];?>" refreshtoken="<?php echo $json_deepsearch['refresh_token'];?>" targeturl="<?php echo $systemURL ?>" language="de" widgetmode=true ></xs-loader>
</body>
</html> |
Widget-Loader V2.x.x Code Block |
---|
<?php
$systemURL = "https://2.0.open-datacheck.de"; // URL der Anlage, von der das Widget eingebunden werden soll
$systemUsername = ""; // Benutzer auf der Anlage
$systemPassword = ""; // Passwort des Anlagen-Benutzeres
$xsloaderVersion = "2.0.0"; // Version des XS-Loader Widgets
$params = array(
'grant_type' => 'password',
'client_id' => 'article_search_client',
'username'=> $systemUsername,
'password' => $systemPassword,
'scope' => 'customer_portal_view_article_data_30',
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $systemURL . "/oauth2/token");
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$json_deepsearch = json_decode($result, true);
curl_close($ch);
?>
<html>
<head>
<title>Widget Integration Test</title>
</head>
<body>
<noscript>
DeepSearch funktioniert nur mit aktiviertem Javascript.
</noscript>
<!-- vor das widget-->
<link rel="stylesheet" href="https://widget.itek.de/xs-loader/<?php echo $xsloaderVersion;?>/styles.css">
<script src="https://widget.itek.de/xs-loader/<?php echo $xsloaderVersion ?>/xs-loader.js" defer></script>
<!-- Widget -->
<xs-loader widget="xs-deepsearch-shadow-dom" accesstoken="<?php echo $json_deepsearch['access_token'];?>" refreshtoken="<?php echo $json_deepsearch['refresh_token'];?>" targeturl="<?php echo $systemURL ?>" language="de" widgetmode=true ></xs-loader>
</body>
</html> |
|
expand |
title | Beispielintegration "DeepSearch" mit BauDocs |
---|
|
Widget-Loader V1.x.x Code Block |
---|
| <?php
$systemURL = "https://2.0.open-datacheck.de"; // URL der Anlage, von der das Widget eingebunden werden soll
$systemUsername = ""; // Benutzer auf der Anlage
$systemPassword = ""; // Passwort des Anlagen-Benutzeres
$xsloaderVersion = "1.0.1"; // Version des XS-Loader Widgets
$phpDebug = true; // Debugmode für den PHP Teil
$phpDisableSSLVerify = true;
//BauDocs Parameter
$systemManufacturerIdType = "TODO"; // ID-Typ der Anlage im ID-Hub
$baudocsClientId = 'TODO'; // Client-Id auf dem Baudocs-System
$baudocsClientSecret = "TODO"; // Secret des Clients
$baudocsUsername = "TODO"; // Benutzer auf dem Baudocs-System
$baudocsPassword = "TODO"; // Passwort des Baudocs-Benutzers
$params = array(
'grant_type' => 'password',
'client_id' => 'article_search_client',
'username'=> $systemUsername,
'password' => $systemPassword,
'scope' => 'customer_portal_view_article_data_30',
);
try{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $systemURL . "/oauth2/token");
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if( $phpDisableSSLVerify) {
//Disable CURLOPT_SSL_VERIFYHOST and CURLOPT_SSL_VERIFYPEER by
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
}
$result = curl_exec($ch);
if(curl_exec($ch) === false && $phpDebug)
{
echo 'Curl-Fehler: ' . curl_error($ch);
}
$json_deepsearch = json_decode($result, true);
}catch (Exception $e) {
if( $phpDebug)
{
echo 'Exception abgefangen: ', $e->getMessage(), "\n";
}
}
curl_close($ch);
$params = array(
'grant_type' => 'password',
'client_id' => $baudocsClientId,
'client_secret' => $baudocsClientSecret,
'username'=> $baudocsUsername,
'password' => $baudocsPassword,
'scope' => 'consumer',
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://plattform.baudocs.de/backend/oauth/token");
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$json_baudocs = json_decode($result, true);
$parameters = new stdClass();
$parameters->usebaudocs = true;
$parameters->baudocsaccesstoken = $json_baudocs['access_token'];
$parameters->baudocsrefreshtoken = $json_baudocs['refresh_token'];
$parameters->manufactureridtype = $systemManufacturerIdType;
?>
<html>
<head>
<title>Widget Integration Test</title>
</head>
<body>
<noscript>
DeepSearch funktioniert nur mit aktiviertem Javascript.
</noscript>
<!-- Widgetcontainer an die Stelle kopieren, wo das Widget angezeugt werden soll -->
<div id="widget-container" class="widget-container" >
<!-- vor das widget-->
<noscript>Deepsearch funktioniert nur mit aktiviertem Javascript.</noscript>
<link rel="stylesheet" href="https://widget.itek.de/xs-loader/<?php echo $xsloaderVersion ?>/styles.css">
<noscript><link rel="stylesheet" href="https://widget.itek.de/xs-loader/<?php echo $xsloaderVersion ?>/styles.css"></noscript>
<script src="https://widget.itek.de/xs-loader/<?php echo $xsloaderVersion ?>/runtime.js" defer></script>
<script src="https://widget.itek.de/xs-loader/<?php echo $xsloaderVersion ?>/polyfills.js" defer></script>
<script src="https://widget.itek.de/xs-loader/<?php echo $xsloaderVersion ?>/main.js" defer></script>
<!-- Widget -->
<xs-loader widget="xs-deepsearch-shadow-dom" accesstoken="<?php echo $json_deepsearch['access_token'];?>" refreshtoken="<?php echo $json_deepsearch['refresh_token'];?>" targeturl="<?php echo $systemURL ?>" language="de" widgetmode=true parameter="<?php base64_encode(json_encode((array)$parameters)) ?>"></xs-loader>
</div>
</body>
</html>
|
Widget-Loader V2.x.x Code Block |
---|
<?php
$systemURL = "https://2.0.open-datacheck.de"; // URL der Anlage, von der das Widget eingebunden werden soll
$systemUsername = ""; // Benutzer auf der Anlage
$systemPassword = ""; // Passwort des Anlagen-Benutzeres
$xsloaderVersion = "2.0.1"; // Version des XS-Loader Widgets
$phpDebug = true; // Debugmode für den PHP Teil
$phpDisableSSLVerify = true;
//BauDocs Parameter
$systemManufacturerIdType = "TODO"; // ID-Typ der Anlage im ID-Hub
$baudocsClientId = 'TODO'; // Client-Id auf dem Baudocs-System
$baudocsClientSecret = "TODO"; // Secret des Clients
$baudocsUsername = "TODO"; // Benutzer auf dem Baudocs-System
$baudocsPassword = "TODO"; // Passwort des Baudocs-Benutzers
$params = array(
'grant_type' => 'password',
'client_id' => 'article_search_client',
'username'=> $systemUsername,
'password' => $systemPassword,
'scope' => 'customer_portal_view_article_data_30',
);
try{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $systemURL . "/oauth2/token");
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if( $phpDisableSSLVerify) {
//Disable CURLOPT_SSL_VERIFYHOST and CURLOPT_SSL_VERIFYPEER by
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
}
$result = curl_exec($ch);
if(curl_exec($ch) === false && $phpDebug)
{
echo 'Curl-Fehler: ' . curl_error($ch);
}
$json_deepsearch = json_decode($result, true);
}catch (Exception $e) {
if( $phpDebug)
{
echo 'Exception abgefangen: ', $e->getMessage(), "\n";
}
}
curl_close($ch);
$params = array(
'grant_type' => 'password',
'client_id' => $baudocsClientId,
'client_secret' => $baudocsClientSecret,
'username'=> $baudocsUsername,
'password' => $baudocsPassword,
'scope' => 'consumer',
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://plattform.baudocs.de/backend/oauth/token");
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$json_baudocs = json_decode($result, true);
$parameters = new stdClass();
$parameters->usebaudocs = true;
$parameters->baudocsaccesstoken = $json_baudocs['access_token'];
$parameters->baudocsrefreshtoken = $json_baudocs['refresh_token'];
$parameters->manufactureridtype = $systemManufacturerIdType;
?>
<html>
<head>
<title>Widget Integration Test</title>
</head>
<body>
<noscript>
DeepSearch funktioniert nur mit aktiviertem Javascript.
</noscript>
<!-- Widgetcontainer an die Stelle kopieren, wo das Widget angezeugt werden soll -->
<div id="widget-container" class="widget-container" >
<!-- vor das widget-->
<noscript>Deepsearch funktioniert nur mit aktiviertem Javascript.</noscript>
<link rel="stylesheet" href="https://widget.itek.de/xs-loader/<?php echo $xsloaderVersion;?>/styles.css">
<script src="https://widget.itek.de/xs-loader/<?php echo $xsloaderVersion ?>/xs-loader.js" defer></script>
<!-- Widget -->
<xs-loader widget="xs-deepsearch-shadow-dom" accesstoken="<?php echo $json_deepsearch['access_token'];?>" refreshtoken="<?php echo $json_deepsearch['refresh_token'];?>" targeturl="<?php echo $systemURL ?>" language="de" widgetmode=true parameter="<?php base64_encode(json_encode((array)$parameters)) ?>"></xs-loader>
</div>
</body>
</html> |
|