34 lines
878 B
Markdown
34 lines
878 B
Markdown
# 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 }
|
|
``` |