Es gibt eigentlich nichts, was nicht gibt. Vor allem in unserer vernetzten Welt stehen viele Informationen zur Verfügung, auch über APIs, die man nur abrufen muss. Wer nun in der Covid-19-Pandemie wissen will, ob es bei seinem DM um die Ecke noch Klopapier gibt, der kann sich dazu mit ein wenig Aufwand ein Widget aufs iPhone basteln. Wir erklären Euch, wie es funktioniert, und auch, wie Ihr die Information im Terminal am Mac oder Windows-PC abfragen könnt.
Marco Dengel machte sich die Mühe mit der Scriptable-App ein Widget anzufertigen, das den Restbestand an Klopapier in einem DM-Drogeriemarkt anzeigt. Möglich macht dies eine Produkt-API, an der man die Verfügbarkeit abfragen kann.
Ihr benötigt dafür in jedem Fall ein iPhone, iPad oder einen iPod touch mit iOS 14 oder neuer und die App Scriptable in Version 1.5 oder neuer.
Marco Dengel stellt den Quellcode freundlicherweise auf Github bereit. Diesen Quellcode müsst Ihr lediglich in die Scriptable-App am iPhone eingeben.
Scriptable ist eine App, die Euch ermöglich mittels Javascript Aufgaben am iPhone (oder andernorts) auszuführen. Ihr könnt Euch dann zum Beispiel über Benachrichtigungen informieren lassen, wenn Euer Webserver nicht erreichbar ist, oder wenn, wie in diesem Fall, bei DM das Klopapier knapp wird.
DM stellt dazu offenbar eine API bereit und diese fragt Dengel in seinem Code mittels JSON-Objekt ab, wertet die Informationen aus und gibt sie über das Widget aus.
Ihr geht folgendermaßen vor, wenn Ihr das Klopapier-Widget installieren möchtet:
Öffnet den „Store Finder“ auf der Webseite von DM. Tippt dann in der Ergebnisliste auf „weitere Details“. Während die Übersichtskarte sich verändert, passt DM aber auch die URL an. In der URL seht Ihr dann die ID Eures Ladengeschäfts.
Beispiel: Ein DM bei uns in der Nähe hat die ID 2764, die sich aus dem URL https://www.dm.de/store/de-2764/niederzier/rurbenden-2
ergibt.
Marco Dengel hat in seinem Script alle Klopapier-Sorten fest programmiert, filtert aber das „feuchte“ Klopapier heraus. Wenn Ihr ein wenig Ahnung von Javascript habt, oder zumindest der englischen Sprache mächtig seid, könnt Ihr das Script schnell so anpassen, dass ein anderes Produkt abgefragt wird, Babywindeln vielleicht, oder Tofu, oder nur eine spezielle Sorte Klopapier.
DM stellt die API bereit, entsprechend ist es nicht illegal sie abzufragen. Aber vermutlich hat der Drogeriemarkt-Betreiber die API nicht für diese Zwecke erdacht. Sollte es DM irgendwann zu viel Datenaufkommen sein, könnte der Anbieter sich entscheiden, die API nur noch privat mit passenden Schlüsseln anzubieten. Dann wäre das Widget hinfällig. Aber solange können wir uns daran erfreuen.
Vielen Dank an Marco Dengel für diese sinnvolle Verwendung von modernster Technik. ;)
Um eine Abfrage einfach per Terminal in Windows, macOS oder Linux zu starten, reicht der folgende Befehl:
curl -s " products.dm.de/store-availabi" | jq '[.storeAvailabilities[][0].stockLevel] | add'
Ihr müsst ganz am Ende natürlich auch die Store-ID anpassen. Amüsant ist, wenn Nutzer dies nun noch automatisieren und regelmäßig den Stand diverser Ladengeschäfte abfragen.
Bekam seinen ersten PC mit sieben Jahren, einen XT mit 4 MHz und Monochrom-Monitor. Registrierte die erste Domain im Jahr 1998, vorher auch in Mailboxen aktiv, bei AOL und Compuserve. Studierte Computer Science (Anwendungsentwicklung) in Wuppertal und Informatik und Soziologie, Linguistik und Literatur in Aachen. Veröffentlichte bereits einen Roman.