Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Expand
titleChangelog
  • 09.08.2023 → neuer Eingangsparameter disableMetaTag

  • 24.11.2022 → neuer Eingangsparameter “showArchivedDocs”

  • 21.11.2022 → Neuen Eingangsparameter “widgetstate” und Ausgangsevent “pdflinkextended“ hinzugefügt

  • 30.09.2022 → Neuen Eingangsparameter “downloadinnewtabtarget“ hinzugefügt

  • 26.09.2022 → Einbindung über Widget-Loader V2.0.0 hinzugefügt

  • 09.08.2022 → Eingangsevent closeAllDialogs hinzugefügt

  • 19.07.22: PDFlink hinzugefügt

  • 14.07.2022 → Dokumentation Suchlogik hinzugefügt

  • 06.07.2022

    • shopcart Event erweitert

    • dialogstatus Event hinzugefügt

    • Parameter style und pdfviewer hinzugefügt

  • 04.05.2022 → Screenshots ausgetauscht

  • 14.04.2022 → Neuen Parameter searchRequest hinzugefügt. Spezifikation der Eingangsparameter angepasst.

  • 02.03.2022 → Beispieleinbindung ergänzt

  • 02.03.2022 → Umstellen Widget-Loader-Version auf 1.0.1

  • 02.03.2022 → Umstellen URLs von GC nach OpenDatacheck

  • 01.12.2022 → neuer Status not_found

  • 28.01.2022 → Erstellen der Dokumentation als Einzelseite

...

Auf dieser Seite finden Sie die technischen Beschreibungen der Großhandels Bibliothek. Es wird also beschrieben wie Sie die Bibliothek in Ihrem System einbinden können. Hiermit können Sie Dokumente aufrufen und z.B. auch Dokumente aufrufen und den Inhalt innerhalb des Dokumentes den Inhalt durchsuchen. Im Folgenden finden Sie das Inhaltsverzeichnis zu dieser Seite:

...

Eingang

Parameter

Pflicht

Beschreibung

Beispielwert

channelid

Ja

Kanalid die als Grundlage für die Suche verwendet werden soll.

2

searchRequest

nein

Es muss entweder der Parameter searchRequest oder die Kombination von searchterm und manufacturerid übergeben werden

Struktur zur Übergabe von lieferantenspezifischen Suchbegriffen.

  • Es muß mindestens ein Objekt in searchRequest enthalten sein.

  • Inerhalb dieses Objekts ist das Attribut searchTerm Pflicht.

  • Wird darin auch das Attribut manufacturerid verwendet, so muß dieses mindestens eine Id enthalten.

Code Block
{
	"searchRequest": [{
			"searchTerms": [
				"Suchbegriff 1"
			],
			"manufacturerid": [
				"Lieferant 1",
				"Lieferant 2"
			]
		},
		{
			"searchTerms": [
				"Suchbegriff 2",
				"Suchbegriff 3"
			],
			"manufacturerid": [
				"Lieferant 2"
			]
		}
	]
}

searchterm

nein

Es muss entweder der Parameter searchRequest oder searchterm übergeben werden.

Suchbegriff der zum Durchsuchen der Dokumente im Kanal verwendet wird.

test

manufacturerid

Nein

Wird der Parameter searchRequest verwendet, so darf dieser Parameter nicht verwendet werden.

Liste von HerstellerID’s zum einschränken der Suche. Wenn keine ID’s angegeben wurden, werden alle Dokumente nach dem “searchterm” innerhalb des Kanals durchsucht.

[“COSMO”,”Oventrop”]

manufactureridtype

Nein

Der Id-Typ, welcher bei einer Anfrage verwendet wird. Das Feld muss nur gesetzt werden, wenn die manufacturerid von einem anderen System verwendet werden soll. Dabei müssen alle manufacturerids vom selben Typ sein.

Diese Funktionalität steht nur zur Verfügung, wenn eine IDHUB Integration beauftragt wurde.

Wird dieser Parameter nicht übertragen, so werden die übergebenen manufacturerid vom angefragten System verwendet.

Der manufactureridtype bezieht sich sowohl auf den Parameter manufacturerid als auch auf die Property manufacturerid in dem Objekt des Parameters searchRequest.

odc

maxsize

Nein

Maximale Anzahl der Einzelseiten die angezeigt werden sollen.

100

maxpagesperdocument

Nein

Maximale Anzahl der Einzelseiten die pro Dokument zurückgeliefert werden. Wenn nicht angegeben wird 5 als Defaultwert verwendet.

5

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"
}

pdfviewer

nein

Das Objekt dient als Konfigurationsobjekt für den PDF-Viewer

Aktuell gibt es nur eine Oberkategorie

  • position

    • top

    • right

    • bottom

    • left

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"
}

showArchivedDocs

Nein

Der Parameter sorgt dafür, je nachdem welchen String man übergibt, ob nur Archivierte oder keine Archivierte oder alle angezeigt werden.

Folgende Werte können angegeben werden:

  • “archived“ ← zeigt nur Archivierte Dokumente an und keine nicht Archivierten Dokumente

  • “notArchived“ ← zeigt keine Archivierte Dokumente an, nur nicht Archivierten Dokumente

  • “all“ ← zeigt alle Dokumente an, also archiviert und nicht archiviert

Hinweis: Wert “all“ ist nicht zwingend notwendig, da dieser Wert defaultmäßig gesetzt wird, wenn der Parameter nicht bzw. leer übergeben wird

Code Block
{ 
  ...
  “showArchivedDocs“: “archived“
}

widgetstate

Nein

Alle GET-Parameter des XS-Documents-Widget als Base64 String.

Damit kann eine bestimmte Ansicht sofort beim Öffnen der Deep-Search geladen werden.

In Kombination mit dem “pdflinkextended“-Event verwendbar

Code Block
{
  ...
   "widgetstate": "eyJzZWFyY2hUZXJtIjoid2Fzc2VyeuRobGVyIHdhc3NlcnphZWhsZXIgd2HfZXJ65GhsZXIiLCJzZWxlY3RlZFBhZ2UiOjc3LCJ1cGxvYWRJRCI6MzEsImV4dGVybmFsVXBsb2FkSUQiOiI1NDlmZDIxNi0zYTJkLTQ3MmQtODgyOS0yOGFkN2EyNTc3MGIiLCJtYW51ZmFjdHVyZXJJZCI6WyJKUC1UZXN0bGllZmVyYW50IiwiYWRtaW5sZnIxIiwiU0FJTjAxIl0sImNoYW5uZWxJRCI6Miwib3B0aW9ucyI6W10sImhhc0RlZXBzZWFyY2giOnRydWUsImNoYW5uZWxTZXR0aW5nSGFzU2hvcGNhcnQiOmZhbHNlLCJjaGFubmVsU2V0dGluZ0hhc0NsaXBwaW5nIjpmYWxzZSwiY2hhbm5lbFNldHRpbmdIYXNDbGlwcGluZ0RpYWxvZyI6ZmFsc2UsImNoYW5uZWxTZXR0aW5nSGFzU2hvcFNlYXJjaCI6ZmFsc2UsImNoYW5uZWxTZXR0aW5nU2hvd0V4dGVybmFsU2VhcmNoIjpmYWxzZSwidGh1bWJuYWlsUGF0aCI6Imh0dHBzOi8veHNwb3J0YWwtaW50ZWdyYXRpb24uaXRlay5kZS93ZWJzZXJ2aWNlaHViL0RhdGVpYWJydWZPTUQ/dHlwZT1MTyZmaWxlSUQ9YzJsMFpYTXZaR1ZtWVhWc2RDOW1hV3hsY3k5cGJtWnZjR0ZqYTJGblpTOHhMekV2TVRZMk5qTTBPREE1T0M5MGFIVnRZbTVoYVd4ekwwTER0bkp1WlhJdFVISmxhWE5zYVhOMFpTMUlaV2w2ZFc1bkxUQTFMVEl3TWpJdWNHUm1MbXB3WldjPSZ0a249MTA3Mjc0ODZmZjAyZmMyZWYyNzY0ZTUzZjFhOTE2MGFkN2VhYjAzMyIsInVwbG9hZERlc2NyaXB0aW9uIjoiQvZybmVyIFByZWlzbGxpc3RlIn0="
}

disableMetaTag

Nein

Das XS-Documents-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

Ausgang

status

ja

Dieses Event wird immer beim Initialisieren ausgegeben.

  • error

  • complete

  • found

  • not_found

 

shopsearch

Nein

Dieses Event wird nur ausgegeben, wenn diese Funktion für den entsprechenden Kanal angeschaltet wurde.

Das Event beinhaltet folgende zwei Informationen.

  • searchterm

    • String / Kann leer sein

  • manufacturerid

    • String / Kann leer sein

  • 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"
}

 

dialogstatus

Nein

Dieses Event wird beim öffnen und schließen eines Dialoges ausgegeben. Werte:

  • open

  • close

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"
      }
  }
}

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-documents").dispatchEvent(new Event("closeAllDialogs"))

...

  • Aufbereitung der einzelnen Suchbegriffe in searchTerms wie in Fall 1

  • Die Aufbereiteten Suchbegriffe werden mittels Oder-Operator verknüpft.

  • Das Feld manufacturerid dient als zusätzlicher Filter. Die einzelnen IDs werden Oder verknüpft.

  • manufacturerid und searchterm werden mittels Und-Operator verknüpft.

  • Die Suchrequests im Array searchRequest werden Oder verknüpft.

  • Gefundene Dokumente die auf mindestens einen der Suchrequests passen.

...

Beispielabbildung

...

Beispielparameter

Code Block
breakoutModewide
{
  "channelid":2,
  "searchterm":"test",
  "manufacturerid":"testid",
  "manufactureridtype":"opendatacheck_shk",
  "maxsize":100,
  "style":{
    "primarycolor": "#616161",
    "secondarycolor": "#D3D3D3"
  },
  "pdfviewer":{
             "position":{
                   "top": "150px",
                   "right": "20px",
                   "bottom": "50px",
                   "left": "20px"
             }
    }
}

...