Was ist eigentlich die Clickworker API – Teil 2

12.07.2011

clickworker APIIm ersten Techtalk-Artikel habe ich die verschiedenen Wege beschrieben, auf welchen die Daten der Kunden in die clickworker-Plattform gelangen können. Neben der Beauftragung und Bearbeitung über unser Solutions-Team und der Selbstbedienung über den Marktplatz hat vor allem die automatisierte Übermittlung der Aufträge und Ergebnisse bei umfangreicheren Aufträgen viele Vorteile für den Kunden. Einer der größten ist, dass man nicht jeden Datensatz selbst per Mail oder Browser übermitteln und Ergebnisse abrufen muss, sondern alle Prozesse vollständig automatisieren kann.

Um die Abläufe bei der REST API-Beauftragung zu beschreiben, schauen wir uns ein Beispielprojekt näher an. Der Einfachheit halber besteht es aus nur einem Arbeitsschritt:

Wir haben eine große Sammlung von vielen tausend Bildern und möchten jedes dieser Bilder einer von 4 Kategorien zuordnen lassen. Dazu wird ein neues Projekt aufgesetzt, bei dem jeder der Aufträge eines dieser Bilder und eine Liste der möglichen Kategorien anzeigt. Der Clickworker soll für dieses Bild dann eine der Kategorien auswählen. Für ein Bild, das Tennisspieler während eines Matches zeigt, müsste er dann z.B. die Kategorie “Sport” auswählen.

Für jedes Bild, das wir kategorisiert haben möchten, muss die Adresse des Bildes und die möglichen Kategorien an den clickworker-REST-API-Server gesendet werden. Für unser erstes Bild wählen wir als URL des Bildes “//www.clickworker.com/images/image_1.png” und als mögliche Kategorien: Sport, Freizeit, Arbeit, Musik.

Technisch werden diese Daten als xml-Datei gesendet. Als Beispiel hier die Übermittlung mit dem Programm cURL:

clickworker API

Wir senden also zum Einen die projektunabhängigen und immer erforderlichen Daten, wie die API-Version, einen Timestamp und die Auftragskennung (“kategorisierung”), zum Anderen die für die Bearbeitung dieses Teiljobs nötigen Informationen wie „picture_url“ für die Adresse des Bildes und „cat1“ bis „cat4“ für die möglichen Kategorien. Als Antwort auf diesen Aufruf, erhalten wir eine Taskkennung, die wir zum Abholen der Ergebnisse benötigen:

clickworker API

Auf dem clickworker-API-Server wird aus der XML-Datei dann ein Auftrag zu dem Kategorisierungsprojekt erstellt. Dieser Auftrag wird im Workplace für Clickworker angezeigt und steht zur Bearbeitung bereit. Wählt ein Clickworker diesen Job aus und speichert sein Ergebnis, können wir die Ergebnisse für diesen Auftrag mit Hilfe der beim Upload erzeugten Taskkennung wieder abholen:

clickworker API

Die Antwort vom Server lautet dann:

clickworker API

Der Clickworker, der dieses Bild kategorisiert hat, hat die Kategorie “Sport” ausgewählt und mit dem Abholen der Ergebnisse ist die Bearbeitung dieses Auftrags abgeschlossen. Auf dieselbe Art können wir für den Rest der vielen Bilder jeweils eine XML Datei erstellen und zur Auftragserzeugung an den clickworker-REST-API-Server senden, um auf diese Weise die Kategorien bestimmen zu lassen.

Dieses simple Beispiel zeigt natürlich nur einen Teil des Potentials der REST API. Es können auch deutlich komplexere Abläufe umgesetzt werden, Bewertungen der Ergebnisse zur Qualitätsverbesserung integriert werden, nur speziell ausgebildete Clickworker verwendet werden und vieles mehr. In naher Zukunft wird es sogar möglich sein, auch die Marktplatz-Produkte per API zu verwenden, so dass unsere Kunden auch hier die Abläufe und Datenstrukturen selbst bestimmen können.

Eine vollständige Referenz zur clickworker REST API ist hier zu finden:

(verfasst von: Jörg Sädtler, Software Developer und Teil des clickworker.com-Technikteams.)