การซิงค์ข้อมูลพนักงานผ่านการเชื่อมต่อ Square
สำหรับร้านที่เชื่อมต่อกับ 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 จะไม่ถูกลบโดยอัตโนมัติ (เพื่อป้องกันการดำเนินการผิดพลาด)
บทความที่เกี่ยวข้อง
-
กลไกการทำงานของใบเสร็จอิเล็กทรอนิกส์อธิบายกลไกการทำงานของใบเสร็จอิเล็กทรอนิกส์ของ ReceiptRoller และวิธีเชื่อมต่อ POS กับ Square และสมาเรจิ
-
การลงทะเบียนข้อมูลพนักงานอธิบายขั้นตอนการลงทะเบียนพนักงานใหม่ ตั้งแต่แบบฟอร์มลงทะเบียนจากรายชื่อ ข้อมูลพื้นฐาน ร้านค้าที่มอบหมาย ข้อมูลบุคคล งานเพิ่มเติม ข้อมูลติดต่อฉุกเฉิน จนถึงการบันทึก พร้อมภาพหน้าจอประกอบ
-
การซิงค์ข้อมูลสมาชิกสองทางกับ Smaregi / Squareข้อมูลสมาชิกของ ReceiptRoller จะถูกซิงค์แบบสองทางกับ POS ที่เชื่อมต่อ เช่น Smaregi หรือ Square เมื่อลงทะเบียนสมาชิกที่ฝั่ง ReceiptRoller จะสะท้อนไปยังมาสเตอร์สมาชิกของ POS ด้วย และในทางกลับกัน ข้อมูลที่ลงทะเบียนสมาชิกที่ POS ก็จะถูกดึงเข้าสู่ CRM ของ ReceiptRoller เช่นกัน ไม่จำเป็นต้องจัดการข้อมูลสมาชิกซ้ำซ้อน บทความนี้อธิบายกลไกการซิงค์สองทาง รายการที่ซิงค์ จังหวะเวลา ลำดับความสำคัญเมื่อเกิดความขัดแย้ง POS ที่รองรับ และวิธีตั้งค่า
-
การแมปข้อมูลพนักงาน Square กับข้อมูลพนักงานของ Receipt Rollerอธิบายวิธีที่ Square Team Member เชื่อมโยงกับข้อมูลพนักงานของ Receipt Roller (StaffDto) ครอบคลุมวิธีใช้งานลิงก์แบบแมนนวล ตรรกะการระบุผู้รับผิดชอบในข้อมูลการขาย และฟิลด์หลักของ Team Member API
-
การตั้งค่าเชื่อมต่อ POS ของ Squareอธิบายขั้นตอนการเชื่อมต่อ POS ของ Square กับ ReceiptRoller เชื่อมต่อได้ง่ายด้วยการยืนยันตัวตนผ่าน OAuth และข้อมูลบัญชีจะถูกซิงค์แบบเรียลไทม์