Zum Hauptinhalt springen

Job erstellen

Plant einen Hintergrund-Job. Derzeit werden nur geplante Anrufe unterstützt.

Endpunkt​

POST /api/jobs/create

Authentifizierung​

Erfordert ein gültiges Bearer-JWT. Der Job ist auf die project_id des Tokens beschränkt.

Request-Body​

{
"job_type": "scheduled_call",
"scheduled_at": 1717000000,
"payload": {
"lead_id": "lead_123"
}
}
FeldTypErforderlichBeschreibung
job_typestringjaMuss scheduled_call sein.
scheduled_atnumberjaUnix-Zeitstempel in Sekunden. Muss in der Zukunft liegen.
payloadobjectjaJob-Payload. Für scheduled_call: { "lead_id": "..." }.

Verhalten​

  • Nur der Job-Typ scheduled_call wird unterstützt.
  • scheduled_at muss ein Zeitstempel in der Zukunft sein.
  • payload.lead_id muss existieren und zum selben Projekt wie das JWT gehören. Gehört der Lead zu einem anderen Projekt, wird ein 401 Unauthorized zurückgegeben.

Erfolgsantwort​

{
"success": true,
"message": "Job created successfully",
"job": {
"id": 1,
"job_type": "scheduled_call",
"payload": { "lead_id": "lead_123" },
"status": "pending",
"started_at": null,
"project_id": "project_abc"
}
}

Fehlerantworten​

Fehlendes / ungültiges Token

{ "success": false, "message": "Authorization header missing", "job": null }

Ungültiges Request-Format

{ "success": false, "message": "Invalid request format: ...", "job": null }

Nicht unterstützter Job-Typ

{ "success": false, "message": "Only 'scheduled_call' job type is supported", "job": null }

Lead nicht gefunden

{ "success": false, "message": "Lead not found: ...", "job": null }

Lead gehört nicht zum Projekt

{ "success": false, "message": "Lead does not belong to your project", "job": null }

Ungültiger Zeitstempel

{ "success": false, "message": "Invalid timestamp format", "job": null }

Geplante Zeit liegt in der Vergangenheit

{ "success": false, "message": "Scheduled time must be in the future", "job": null }

Datenbankfehler

{ "success": false, "message": "Failed to create job: ...", "job": null }