Antworten
Crowd-Worker-Antworten überprüfen, akzeptieren und exportieren — und in Datensätze oder Eingabedaten für weitere Pipeline-Runs umwandeln.
Eine Crowd-Antwort wird erstellt, wenn ein Worker eine abgeschlossene Aufgabe einreicht. Jede Antwort ist mit ihrem Aufgaben-Slot, dem zugehörigen Job und der Organisation verknüpft, der der Job gehört. Die Antwort enthält die strukturierten Antworten des Workers als JSONB-Objekt answers, dessen Schlüssel den im Survey-Template definierten Feldnamen entsprechen, sowie optionale angehängte Dateien, wenn das Template Datei-Upload-Fragen enthielt.
Antwortstatus
Jede Antwort beginnt im Status pending und muss überprüft werden, bevor der Worker seine Credits erhält.
| Status | Bedeutung |
|---|---|
pending | Eingereicht, aber noch nicht überprüft. |
accepted | Vom Job-Inhaber genehmigt. rewardCredits werden auf das Guthaben des Workers übertragen. |
rejected | Vom Job-Inhaber abgelehnt, optional mit einem rejectionReason. Der Worker wird für diese Einreichung nicht bezahlt. |
Das Ablehnen einer Antwort erstellt nicht automatisch einen neuen Aufgaben-Slot. Wenn Sie möchten, dass die Variante einem anderen Worker erneut zugewiesen wird, aktualisieren Sie maxRepetitionsPerVariant des Jobs, um eine weitere Runde zu ermöglichen — vorausgesetzt, die Organisation verfügt über ausreichend Guthaben für die zusätzlichen Credits.
Antworten auflisten
Antworten für einen Job mit optionalem Statusfilter und Seitenumbruch abrufen.
curl "https://api.crowdee.ai/v2/crowd-jobs/{jobId}/answers?status=pending&limit=50&offset=0" \
-H "X-API-Key: crw_YOUR_API_KEY"Die Antwort enthält die Gesamtanzahl und eine paginierte Liste von Antwortobjekten:
{
"total": 142,
"items": [
{
"id": "ans_abc123",
"taskId": "tsk_xyz987",
"jobId": "job_def456",
"workerId": "usr_ghi789",
"guestWorkerId": null,
"answers": {
"assessment": "Clearly manipulated",
"reasoning": "Die Beleuchtung des Motivs stimmt nicht mit dem Hintergrund überein."
},
"inputDataVariantIndex": 7,
"status": "pending",
"creditsEarned": 0,
"createdAt": "2025-09-14T10:23:41Z"
}
]
}Antworten akzeptieren und ablehnen
Antwort akzeptieren — überträgt rewardCredits an den Worker:
curl -X PATCH https://api.crowdee.ai/v2/crowd-answers/{answerId}/accept \
-H "X-API-Key: crw_YOUR_API_KEY"Antwort ablehnen — mit optionalem Ablehnungsgrund, der dem Worker angezeigt wird:
curl -X PATCH https://api.crowdee.ai/v2/crowd-answers/{answerId}/reject \
-H "X-API-Key: crw_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "rejectionReason": "Die Antwort erfüllt nicht die erforderlichen Kriterien." }'Beide Endpunkte geben das aktualisierte Antwortobjekt mit dem neuen status und creditsEarned zurück.
Antwortdateien
Worker können Dateien an ihre Antworten anhängen, wenn das Survey-Template eine oder mehrere Datei-Upload-Fragen enthält. Angehängte Dateien werden im S3-Bucket Ihrer Organisation gespeichert.
Alle Dateien auflisten, die an Antworten eines Jobs angehängt sind:
GET /v2/crowd-jobs/{jobId}/files
X-API-Key: crw_YOUR_API_KEYAlle Dateien herunterladen — gibt für 24 Stunden gültige vorzeichenbehaftete S3-URLs zurück:
GET /v2/crowd-jobs/{jobId}/files/download
X-API-Key: crw_YOUR_API_KEYDie Antwort ist ein JSON-Objekt mit einem urls-Array. Jede URL zeigt direkt auf eine Datei in S3 und läuft nach 24 Stunden ab.
Dateien werden pro Antwort gespeichert, nicht pro Job. Der Download-Endpunkt aggregiert alle Dateien aller Antworten des Jobs. Wenn Sie Dateien aus bestimmten Antworten benötigen (z. B. nur aus akzeptierten Antworten), filtern Sie zuerst die Antwortliste und verwenden Sie die Dateireferenzen in jedem Antwortobjekt.
Antworten exportieren
Alle Antworten eines Jobs als strukturiertes JSON oder flaches CSV exportieren.
# JSON-Export — Array von vollständigen Antwortobjekten
GET /v2/crowd-jobs/{jobId}/answers/export?format=json&status=accepted
# CSV-Export — geglättet, eine Zeile pro Antwort
GET /v2/crowd-jobs/{jobId}/answers/export?format=csv&status=allDer Abfrageparameter status filtert nach Antwortstatus (pending, accepted, rejected oder all). Standardwert ist all.
JSON-Format — ein Array von Antwortobjekten, identisch mit der Listen-Endpunkt-Antwort, einschließlich des answers-JSONB, Metadatenfelder und Zeitstempel. Geeignet für die programmatische Verarbeitung in eigenen Systemen oder nachgelagerte Analysen.
CSV-Format — jede Zeile entspricht einer Antwort. Die answers-JSONB-Felder werden zu einzelnen Spalten mittels Punktnotation geglättet (z. B. answers.assessment, answers.reasoning). Metadatenspalten (id, taskId, workerId, status, inputDataVariantIndex, createdAt) werden vorangestellt. Geeignet für Tabellenkalkulationswerkzeuge und einfache Datenpipelines.
Antworten zu Datensatz
Konvertieren Sie die Dateien, die an passenden Antworten angehängt sind, in einen neuen benannten Datensatz. Dies ist der primäre Weg von einem Datenerfassungs-Job zu einem Verifizierungs-Pipeline-Run.
curl -X POST https://api.crowdee.ai/v2/crowd-jobs/{jobId}/answers-to-dataset \
-H "X-API-Key: crw_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"datasetName": "Q3 Beschriftete Bilder — Akzeptiert",
"fileFieldNames": ["annotated_image"],
"answerStatus": "accepted"
}'| Feld | Beschreibung |
|---|---|
datasetName | Name des neuen Datensatzes. |
fileFieldNames | Optionales Array von Survey-Feldnamen, deren Dateianhänge einbezogen werden sollen. Wenn weggelassen, werden alle Dateifelder einbezogen. |
answerStatus | Filter, welche Antworten berücksichtigt werden: "pending", "accepted", "rejected" oder "all" (Standard "all"). |
Der Endpunkt gibt { "datasetId": "...", "fileCount": 47 } zurück. Der neue Datensatz ist sofort für Bereinigung, Anreicherung und Verifizierungs-Pipeline-Runs verfügbar. Nächste Schritte finden Sie unter Datasets.
Nur Antworten, die mindestens eine Datei haben, die dem fileFieldNames-Filter entspricht, werden einbezogen. Antworten ohne angehängte Dateien werden stillschweigend übersprungen. Wenn fileCount niedriger als erwartet ist, überprüfen Sie, ob die Survey-Template-Feldnamen in fileFieldNames exakt übereinstimmen.
Antworten zu Eingabedaten
Konvertieren Sie die Textfelder passender Antworten in einen neuen Eingabedatensatz. Verwenden Sie dies, um eine Erfassungsrunde direkt in die nächste Job-Iteration einzuspeisen oder als strukturierte Eingabe für eine nachgelagerte Pipeline.
curl -X POST https://api.crowdee.ai/v2/crowd-jobs/{jobId}/answers-to-input-data \
-H "X-API-Key: crw_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"inputDataName": "Von Crowd verfasste Behauptungen — Runde 1",
"textFieldNames": ["claim_text", "source_url"],
"scope": "organization",
"answerStatus": "accepted"
}'| Feld | Beschreibung |
|---|---|
inputDataName | Name des neuen Eingabedatensatzes. |
textFieldNames | Array von Survey-Feldnamen, die extrahiert werden sollen (mindestens 1). Jede Antwort trägt einen Eintrag bei, der nur diese Felder enthält. |
scope | "project" (Standard) oder "organization" — steuert die projektübergreifende Sichtbarkeit. |
answerStatus | Filter, welche Antworten einbezogen werden. Standard ist "all". |
Der Endpunkt gibt { "inputDataSetId": "...", "recordCount": 38 } zurück. Der Eingabedatensatz ist sofort verfügbar, um ihn an einen neuen Crowd-Job anzuhängen oder als Kontext für einen Verifizierungs-Pipeline-Run zu verwenden.
Die Kombination von „Antworten zu Eingabedaten" mit einem neuen Job erzeugt eine iterative Crowdsourcing-Schleife: Worker in Runde eins generieren Text, der zu den Eingabedaten für Runde zwei wird, in der andere Worker diesen überprüfen oder annotieren. Dieses Muster eignet sich für mehrstufige Annotation-Workflows und adversarielle Datensatz-Konstruktion.
Wie hilfreich ist diese Seite?
Erfassung von Inhalten
Die Crowd nutzen, um Inhalte zu suchen und zu sammeln, die Ihren Kriterien entsprechen, statt bereits vorhandene Inhalte zu überprüfen.
Aufgabenvorlagen
SurveyJS-basierte Aufgabendefinitionen, die die Fragen strukturieren, welche Crowdworker während der Verifizierung beantworten.