878 B
878 B
Story 3.4: Payroll Export Job Create & Status
key: 3-4-payroll-export-job-create-status status: drafted phase: backend-planning note: Non-implementasi — definisi request, format, status, throttling.
Ringkasan
Kontrak pembuatan job ekspor payroll dan pembacaan status job.
Scope Backend
- Create job: { cycleId, format (csv|json), payCodeMapRef }
- Status job: { jobId, status, progress }
- Throttle & logging: disepakati
Acceptance Gate
- Format ekspor dan pay-code mapping disetujui
- SOP persetujuan dual-control (opsional) dirujuk
Kontrak (Outline)
- Route: POST /api/payroll/exports
- Request:
{ "cycleId":"pc-2025-11", "format":"csv", "payCodeMapRef":"default" }
- Response: 202
{ "jobId":"je1", "status":"accepted" }
- Route: GET /api/payroll/exports/{jobId}
- Response: 200
{ "jobId":"je1", "status":"running", "progress":42 }