การแมปข้อมูลพนักงาน Smaregi กับข้อมูลพนักงานของ Receipt Roller
ข้อมูลหลักพนักงานของ Smaregi จะถูกแปลงเป็น ข้อมูลพนักงานของ Receipt Roller (StaffDto) โดยอัตโนมัติหลังจากเชื่อมต่อกับเครื่อง POS แล้ว บทความนี้สรุปความสัมพันธ์ของแต่ละฟิลด์ และข้อควรระวังเฉพาะของ Smaregi
วิธีการซิงค์ข้อมูลด้วยตนเอง ให้คลิก "ซิงค์กับ Smaregi" จากเมนูด้านขวาบนของหน้าจอพนักงาน รายละเอียดเพิ่มเติมดูได้ที่ การตั้งค่าเชื่อมต่อ POS ของ Smaregi
ตารางเทียบฟิลด์
Smaregi /pos/staffs |
Receipt Roller (StaffDto) |
หมายเหตุ |
|---|---|---|
staffId | SmaregiStaffId | ID ภายในของ Smaregi ใช้เป็นคีย์อ้างอิงเมื่อซิงค์ซ้ำ |
staffCode | EmployeeNumber | บันทึกเป็นหมายเลขพนักงาน |
staffName | LastName + FirstName + DisplayName | แยกเป็นนามสกุลและชื่อจริงด้วยช่องว่าง (เช่น "下田 昌平" → LastName=下田 / FirstName=昌平) หากไม่มีช่องว่าง ข้อความทั้งหมดจะถูกใส่ใน LastName และ FirstName จะว่างเปล่า ส่วน DisplayName จะเก็บข้อความต้นฉบับไว้ทั้งหมด |
email | Email | หากเป็นค่าว่าง ระบบจะคงค่าเดิมที่มีอยู่ในฝั่ง RR ไว้ |
displayFlag | IsActive | "0"(ไม่แสดง)จะไม่ถูกซิงค์ ส่วน "1" คือ IsActive = true |
รายการที่ไม่ถูกนำเข้า
เนื่องจากข้อกำหนดของ Smaregi endpoint /pos/staffs ฟิลด์ต่อไปนี้ในฝั่ง RR ไม่มีข้อมูลที่ตรงกัน จึงต้องลงทะเบียนแยกต่างหากในฝั่ง RR เอง และจะไม่ถูกเขียนทับเมื่อซิงค์ซ้ำ
- หมายเลขโทรศัพท์(
Phone) - วันเดือนปีเกิด(
DateOfBirth) - วันที่เข้าทำงาน(
HireDate) - ประเภทการจ้างงาน(
EmploymentType)— พนักงานประจำ พาร์ทไทม์ สัญญาจ้าง ฯลฯ - ค่าจ้างรายชั่วโมง(
HourlyRate) - ที่อยู่ / ผู้ติดต่อฉุกเฉิน
- ตำแหน่งงาน(
Position)— Smaregi ส่งคืนค่าroleIdแต่การแปลความหมายของชื่อตำแหน่งต้องใช้ endpoint แยกต่างหาก จึงยังไม่รองรับในเวอร์ชันปัจจุบัน - สาขาที่สังกัด(
AssignedStoreIds)— Smaregi /pos/staffs ไม่ส่งคืนข้อมูลสาขา - คำอ่านชื่อ-นามสกุล (คะนะ)(
LastNameKana/FirstNameKana)— เนื่องจาก StaffDto ยังไม่มีฟิลด์ที่รองรับ โดยมีแผนจะใช้staffNameKanaในอนาคต
การจับคู่ข้อมูลและการลงทะเบียนใหม่
เมื่อนำเข้าข้อมูลพนักงานจาก Smaregi ระบบจะจับคู่กับพนักงานที่มีอยู่แล้วโดยใช้ SmaregiStaffId ที่ตรงกันทั้งหมดเท่านั้น หากไม่ตรงกัน จะถูกลงทะเบียนเป็นพนักงานใหม่ ระบบจะไม่จับคู่อัตโนมัติด้วยชื่อหรือหมายเลขพนักงาน
จังหวะเวลาในการซิงค์
- Smaregi → RR: ทำงานแบบแมนนวลผ่านปุ่ม "ซิงค์กับ Smaregi" ที่เมนูด้านขวาบนของหน้าจอพนักงาน ระบบจะดึงพนักงานทั้งหมดจาก
/pos/staffsและจับคู่ด้วยSmaregiStaffIdเพื่อเพิ่มหรืออัปเดตข้อมูล - พฤติกรรมเมื่อซิงค์ซ้ำ: พนักงานที่มีอยู่แล้ว(ที่มี
SmaregiStaffIdตรงกัน)จะถูกเขียนทับในฟิลด์EmployeeNumber/LastName/FirstName/DisplayName/Email/IsActiveส่วนฟิลด์ที่เพิ่มในฝั่ง RR เช่นHourlyRate/HireDate/EmploymentType/Position/AssignedStoreIds/ ผู้ติดต่อฉุกเฉิน จะยังคงอยู่ไม่ถูกเขียนทับ - RR → Smaregi: ยังไม่รองรับในเวอร์ชันปัจจุบัน พนักงานที่ลงทะเบียนในฝั่ง RR จะไม่ถูกส่งกลับไปยัง Smaregi โดยอัตโนมัติ
การระบุผู้รับผิดชอบในข้อมูลการขาย
เมื่อซิงค์ข้อมูลหลักพนักงานไว้แล้ว ระบบจะสามารถระบุ RR staff record จาก staffId ที่อยู่ในข้อมูลการขาย(PosTransactionDto)ได้โดยอัตโนมัติ ทำให้การแสดงผลใบเสร็จและการรวมยอดขายตามผู้รับผิดชอบแสดงเป็น "ชื่อพนักงานที่ลงทะเบียนใน RR" แทนที่จะเป็น "ID ภายในของ Smaregi"
หากยังไม่ได้ซิงค์ข้อมูลหลักพนักงาน ระบบจะใช้ค่า staffName(ชื่อที่แสดงในฝั่ง Smaregi)ในข้อมูลการขายตามเดิม
ข้อควรระวัง
- หากมีการลบพนักงานออกจริงในฝั่ง Smaregi การจับคู่ด้วย
SmaregiStaffIdจะใช้งานไม่ได้อีกต่อไป แนะนำให้ใช้การซ่อนด้วยdisplayFlagแทนการลบจริงในฝั่ง Smaregi - แม้จะตั้งค่า
IsActive = false(สถานะลาออก)ในฝั่ง RR การระบุผู้รับผิดชอบของรายการขายในอดีตจะยังคงทำงานได้ตามปกติ กรุณาอย่าลบข้อมูลพนักงานที่ลาออกแล้ว - การแยกนามสกุล/ชื่อโดยอัตโนมัติเป็นการประมวลผลอย่างง่ายโดย "แบ่งด้วยช่องว่างแรกที่พบเป็น 2 ส่วน" ชื่อที่มีนามสกุลผสมหรือมีตั้งแต่ 3 คำขึ้นไปอาจถูกแบ่งไม่ตรงตามที่ตั้งใจ สามารถแก้ไขเป็นรายบุคคลได้ในฝั่ง RR หลังการซิงค์
- หากพนักงาน 1 คนรับผิดชอบหลายสาขา กรุณาตั้งค่าหลายสาขาใน
AssignedStoreIdsที่ฝั่ง RR ด้วยตนเองหลังการซิงค์
คู่มือที่เกี่ยวข้อง
- StaffDto Reference(สำหรับนักพัฒนา)— ข้อกำหนดฟิลด์ทั้งหมดของโมเดลมาตรฐาน
- Smaregi Platform API: GET /pos/staffs(ภายนอก — เอกสารอ้างอิงอย่างเป็นทางการ)
- การแมปข้อมูลการขายของ Smaregi
- การแมปข้อมูลสมาชิกของ Smaregi
- การแมปข้อมูลสินค้าของ Smaregi
- การตั้งค่าเชื่อมต่อ POS ของ Smaregi
-
การแมปข้อมูลสินค้า Smaregi กับข้อมูลสินค้าของ Receipt Rollerอธิบายทีละฟิลด์ว่าข้อมูลหลักสินค้าของ Smaregi ถูกแปลงเป็นข้อมูลสินค้าของ Receipt Roller (ProductDto) อย่างไร ครอบคลุมความสัมพันธ์ของรหัสสินค้า ชื่อสินค้า หมวดหมู่ ราคา ต้นทุน และอัตราภาษี รวมถึงพฤติกรรมเฉพาะของ Smaregi
-
การแมปข้อมูลสมาชิก Smaregi กับข้อมูลลูกค้าของ Receipt Rollerอธิบายทีละฟิลด์ว่าข้อมูลหลักสมาชิกของ Smaregi ถูกแปลงเป็นข้อมูลลูกค้าของ Receipt Roller (CrmCustomerDto) อย่างไร ครอบคลุมความสัมพันธ์ของหมายเลขสมาชิก ชื่อ-นามสกุล ข้อมูลติดต่อ ลำดับความสำคัญของหมายเลขโทรศัพท์ และจังหวะเวลาการซิงค์ผ่าน Webhook
-
การแมปข้อมูลการขายของ Smaregi กับข้อมูลการขายของ Receipt Rollerคำอธิบายทางเทคนิคเกี่ยวกับกลไกการแมปข้อมูลการขายที่ดึงมาจาก Smaregi Platform API เข้าสู่โมเดลข้อมูลภายในของ Receipt Roller ครอบคลุมการเทียบโครงสร้างแบบลำดับชั้น ตารางเทียบฟิลด์ของส่วนหัวรายการขาย การแปลงรหัสสถานะ การปรับมาตรฐานวิธีการชำระเงิน การแมปข้อมูลรายละเอียด การจัดการโซนเวลา และความคงเส้นคงวา