需排班員工 · 06
員工調組
在同一門市內完整更新組別歸屬,保留組員與 Merchant 綁定。
完成結果張雅婷仍是台北信義店的同一筆 enrollment,組別改為內場,原有清潔技能維持不變。
實際案例
S0005 張雅婷由台北信義店外場調至內場。這是同一 Merchant 內更換 Squad,不需要停權或新增另一筆 enrollment;原有等級 3 的清潔技能也不需重新指派。enrollments.json 記錄的是更新後的內場狀態;下表的外場是本次 HRIS 調組事件所提供的更新前情境。
資料流
- 1取得完整 enrollment先取得既有 Squad、兩個問卷開放設定與技能,不做局部猜測。
GET /v1/enrollments - 2解析目的組別在同一 Merchant 中找到台北信義店內場 Squad ID。
GET /v1/squads - 3組合完整清單將 squads array 完整改為目的 Squad,並保留問卷設定。
business mapping - 4更新組別送出的 squads 會完整取代原清單。
PUT /v1/enrollment/{id}/squads - 5回讀驗證確認 enrollment ID、Merchant 與技能不變,只剩目的 Squad。
GET /v1/enrollments
欄位 mapping
| 欄位 | 更新前 | 更新後 |
|---|---|---|
| Enrollment ID | ysiud791-8nyz-dfhi-uiso-0okyfb109nnj | 不變 |
| Merchant ID | tkfv5t | 不變 |
| Squad ID | sqmmhw5vonCzo | sqmmhw5vonC9O |
| 排班問卷 | true | true |
| 休假問卷 | true | true |
| 清潔技能 | tagId: 4f2b126d-eccf-44aa-b98a-dd2ac1879d12、level: 3 | 不變 |
PUT /squads 的 request body 只有 squads;原有 skills 屬於同一筆 enrollment,這次不需要送出。
Request
PUT /v1/enrollment/ysiud791-8nyz-dfhi-uiso-0okyfb109nnj/squads
Content-Type: application/json
{
"squads": [
{
"squadId": "sqmmhw5vonC9O",
"shiftSurveyEligible": true,
"dayOffSurveyEligible": true
}
]
}
Response
{
"data": {
"id": "ysiud791-8nyz-dfhi-uiso-0okyfb109nnj",
"externalId": "S0005",
"name": "張雅婷",
"alias": "雅婷",
"phone": "+886900000015",
"parttime": false,
"connected": true,
"merchant": {
"id": "tkfv5t",
"name": "台北信義店"
},
"identityTag": {
"id": "65107fa0-4284-46a5-82f7-b3657f660ed1",
"name": "正職"
},
"skills": [
{"tagId": "4f2b126d-eccf-44aa-b98a-dd2ac1879d12", "level": 3}
],
"createdTime": "2026-04-01T01:00:00Z",
"updatedTime": "2026-09-30T08:00:00Z",
"activatedTime": "2026-04-01T01:00:00Z",
"activatedBy": {
"id": "a9da86bb-e7a7-4779-a8e4-f61c40e72553",
"name": "IT串接服務帳號"
},
"squads": [
{
"id": "sqmmhw5vonC9O",
"name": "內場",
"shiftSurveyEligible": true,
"dayOffSurveyEligible": true
}
],
"suspension": null
}
}
驗收結果
- Enrollment ID 與 Merchant ID 都沒有改變。
squads只包含sqmmhw5vonC9O,原外場 Squad 已被替換。- 兩個問卷開放設定與更新前一致。
- 回讀的
skills仍有等級3的清潔技能。
關鍵提醒
這支 API 是完整更新,不是 append。若員工原本屬於多個 Squad,送出前必須先取得完整資料,保留仍需要的項目;未送回的 Squad 會被移除。