การซิงค์ข้อมูลพนักงานผ่านการเชื่อมต่อ Square

Square การจัดการพนักงาน การเชื่อมต่อ POS การซิงค์ข้อมูล Team Members

สำหรับร้านที่เชื่อมต่อกับ Square POS สามารถนำเข้าข้อมูล Team Members (พนักงาน) ที่ลงทะเบียนไว้ฝั่ง Square มาที่ ReceiptRoller และซิงค์แบบสองทิศทางได้ ไม่ว่าจะเพิ่มพนักงานฝั่ง Square หรือแก้ไขฝั่ง ReceiptRoller ข้อมูลจะสะท้อนไปยังอีกฝั่งหนึ่งด้วย

รายการที่ซิงค์

  • ชื่อ-นามสกุล คำอ่าน ที่อยู่อีเมล หมายเลขโทรศัพท์
  • หมายเลขพนักงาน (reference_id)
  • สถานะ (กำลังทำงาน / ลาพัก / ลาออกแล้ว)
  • สิทธิ์เจ้าของ (is_owner) การยกเว้นค่าล่วงเวลา (is_overtime_exempt) สิทธิ์รับทิป (tip_eligible)
  • การกำหนดสาขาที่รับผิดชอบ (ทุกสาขา / เฉพาะสาขา)
  • ตำแหน่งงานและค่าตอบแทน (job assignments: ชื่อตำแหน่ง รูปแบบค่าตอบแทน ค่าจ้างรายชั่วโมง เงินเดือน ชั่วโมงทำงานโดยประมาณต่อสัปดาห์)

ฟิลด์เฉพาะของ ReceiptRoller (บันทึกภายในองค์กร ผู้ติดต่อฉุกเฉิน รูปโปรไฟล์ ฯลฯ) ไม่มีอยู่ฝั่ง Square จึงจะยังคงถูกเก็บรักษาไว้เช่นเดิมแม้เมื่อมีการซิงค์แบบสองทิศทาง

การนำเข้าครั้งแรก (ซิงค์ด้วยตนเอง)

หลังจากลงทะเบียนอุปกรณ์ POS ที่เปิดใช้งานการเชื่อมต่อ Square แล้ว เมื่อคลิกปุ่ม "นำเข้าจาก Square" ในหน้าจอรายชื่อพนักงาน ระบบจะดึงรายชื่อพนักงานจาก Square Team Members API และลงทะเบียนไว้ฝั่ง ReceiptRoller หากเชื่อมต่อกับหลายบัญชี Square จะนำเข้าจากแต่ละบัญชีตามลำดับ

การซิงค์อัตโนมัติ

  • เมื่อมีการเปลี่ยนแปลงฝั่ง Square: จะรับอีเวนต์ team_member.created / team_member.updated ผ่าน Webhook และสะท้อนไปยังฝั่ง ReceiptRoller โดยอัตโนมัติ
  • เมื่อแก้ไขฝั่ง ReceiptRoller: จะสะท้อนไปยังฝั่ง Square แบบพื้นหลังพร้อมกับการบันทึก โดยดำเนินการแบบอะซิงโครนัสเพื่อไม่ให้กระบวนการบันทึกล่าช้า

การจัดการงานหลายตำแหน่ง

ใน Square พนักงานหนึ่งคนสามารถกำหนด job assignment (ตำแหน่งงาน + ค่าตอบแทน + สาขาที่ใช้งาน) ได้หลายรายการ ฝั่ง ReceiptRoller ก็นำเข้าด้วยโครงสร้างเดียวกัน และสามารถบริหารจัดการรวมกันในรูปแบบ JSON ได้จากหน้าจอแก้ไข ตำแหน่งงานหลัก (ตำแหน่งหลักที่ใช้แสดงในรายการ) จะถูกจัดการเป็นรายการที่ 1 โดยอัตโนมัติ

ความขัดแย้งในการซิงค์และกฎการเขียนทับ

ความขัดแย้งในการซิงค์แบบสองทิศทางจะได้รับการแก้ไขด้วยหลัก "ฝั่งที่เขียนล่าสุดมีความสำคัญเหนือกว่า (last-write-wins)" กรุณาหลีกเลี่ยงการแก้ไขทั้งสองฝั่งพร้อมกันในเวลาเดียวกัน ฟิลด์ที่มีอยู่เฉพาะฝั่ง Square หรือเฉพาะฝั่ง ReceiptRoller จะยังคงถูกเก็บรักษาไว้โดยไม่หายไปแม้เมื่อมีการซิงค์

กรณีที่ไม่ซิงค์

  • พนักงานที่ถูกลบฝั่ง Square จะเปลี่ยนสถานะเป็น "ลาออกแล้ว" ฝั่ง ReceiptRoller (ตัวเรคคอร์ดเองจะยังคงอยู่ในรูปแบบประวัติ)
  • แม้จะลบฝั่ง ReceiptRoller เรคคอร์ดฝั่ง Square จะไม่ถูกลบโดยอัตโนมัติ (เพื่อป้องกันการดำเนินการผิดพลาด)

บทความที่เกี่ยวข้อง

เผยแพร่เมื่อ: 2569-06-03 อัปเดตเมื่อ: 2569-07-03
บทความที่เกี่ยวข้อง