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"
}
}
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
job_type | string | ja | Muss scheduled_call sein. |
scheduled_at | number | ja | Unix-Zeitstempel in Sekunden. Muss in der Zukunft liegen. |
payload | object | ja | Job-Payload. Für scheduled_call: { "lead_id": "..." }. |
Verhalten
- Nur der Job-Typ
scheduled_callwird unterstützt. scheduled_atmuss ein Zeitstempel in der Zukunft sein.payload.lead_idmuss 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 }