跳至主要内容

需排班員工 · 06

員工調組

在同一門市內完整更新組別歸屬,保留組員與 Merchant 綁定。

完成結果張雅婷仍是台北信義店的同一筆 enrollment,組別改為內場,原有清潔技能維持不變。

實際案例​

S0005 張雅婷由台北信義店外場調至內場。這是同一 Merchant 內更換 Squad,不需要停權或新增另一筆 enrollment;原有等級 3 的清潔技能也不需重新指派。enrollments.json 記錄的是更新後的內場狀態;下表的外場是本次 HRIS 調組事件所提供的更新前情境。

資料流​

  1. 1取得完整 enrollment先取得既有 Squad、兩個問卷開放設定與技能,不做局部猜測。GET /v1/enrollments
  2. 2解析目的組別在同一 Merchant 中找到台北信義店內場 Squad ID。GET /v1/squads
  3. 3組合完整清單將 squads array 完整改為目的 Squad,並保留問卷設定。business mapping
  4. 4更新組別送出的 squads 會完整取代原清單。PUT /v1/enrollment/{id}/squads
  5. 5回讀驗證確認 enrollment ID、Merchant 與技能不變,只剩目的 Squad。GET /v1/enrollments

欄位 mapping​

欄位更新前更新後
Enrollment IDysiud791-8nyz-dfhi-uiso-0okyfb109nnj不變
Merchant IDtkfv5t不變
Squad IDsqmmhw5vonCzosqmmhw5vonC9O
排班問卷truetrue
休假問卷truetrue
清潔技能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 會被移除。