CrmCustomerDto รีเฟอเรนซ์

CRM ลูกค้า ดาต้าโมเดล รีเฟอเรนซ์ การเชื่อมต่อ POS
บทความนี้เหมาะสำหรับใคร
สำหรับนักพัฒนาที่จัดการข้อมูลลูกค้า(CRM)ของ ReceiptRoller ผ่าน API・MCP・Webhook อธิบายว่าข้อมูลลูกค้าที่ดึงมาจาก POS ถูกทำให้เป็นรูปแบบมาตรฐานอย่างไร

CrmCustomerDto คือโมเดลมาตรฐานของมาสเตอร์ลูกค้าของ ReceiptRoller ทั้งลูกค้าที่ลงทะเบียนสมาชิกในแอป ลูกค้าที่ดึงมาจากมาสเตอร์สมาชิกของ POS(スマレジ・Square)และลูกค้าที่ลงทะเบียนด้วยมือจากหน้าจอ CRM ของร้านค้า — ทั้งหมดถูกรวมไว้ในชนิดเดียวนี้

1 บัญชีธุรกิจ = 1 เนมสเปซ CRM สามารถแชร์ลูกค้าได้กับหลายร้านค้าภายใต้บัญชีเดียวกัน และแสดง「ลูกค้าอยู่ในร้านใด」ด้วยฟิลด์ StoreIds

ฟิลด์หลัก

ตัวระบุ

ฟิลด์ชนิดเนื้อหา
OrganizationIdstringID บัญชีธุรกิจ PartitionKey
CustomerIdstringID ลูกค้าภายในของ RR(GUID)RowKey
StoreIdsstringID ร้านค้าที่สังกัด คั่นด้วยจุลภาค อ่านเขียนเป็นอาร์เรย์ได้ด้วยพร็อพเพอร์ตี StoreIdList

ชื่อ・ข้อมูลติดต่อ

ฟิลด์ชนิดเนื้อหา
LastName / FirstNamestringนามสกุล・ชื่อ(คันจิ)มีพร็อพเพอร์ตี FullName สำหรับแสดงผล
LastNameKana / FirstNameKanastringนามสกุล・ชื่อ(คานะ)มีพร็อพเพอร์ตี FullNameKana
Emailstringอีเมล ทำให้เป็นรูปแบบมาตรฐานด้วยการแปลงเป็นตัวพิมพ์เล็กและตัดช่องว่างหน้าหลัง เป็นหนึ่งในคีย์การจับคู่
Phonestringเบอร์โทร ทำให้เป็นรูปแบบมาตรฐาน E.164(ตัวอย่าง: +819012345678)เป็นหนึ่งในคีย์การจับคู่
Genderstringเพศ ไม่บังคับ
DateOfBirthDateTime?วันเกิด ไม่บังคับ เก็บเป็น UTC

ที่อยู่

PostalCode / Prefecture / City / Address1 / Address2 แสดงต่อกันด้วยพร็อพเพอร์ตี FullAddress ทั้งหมดเป็น string และไม่บังคับ

ข้อมูลสมาชิก

ฟิลด์ชนิดเนื้อหา
MembershipCodestringเลขที่สมาชิก RR ออกให้อัตโนมัติ หรือดึงมาจากฝั่ง POS(customerCode ของ スマレジ, reference_id ของ Square ฯลฯ)เป็นหนึ่งในคีย์การจับคู่
MembershipLevelstringระดับสมาชิก ค่าเริ่มต้น "Standard" ตัวอย่าง: Standard / Silver / Gold

ตัวชี้วัดพฤติกรรม

ฟิลด์ชนิดเนื้อหา
VisitCountintจำนวนครั้งที่เข้าร้าน รวมอัตโนมัติจากธุรกรรม POS
TotalSpentdecimalยอดซื้อสะสม รวมอัตโนมัติจากธุรกรรม POS
LastVisitDateDateTime?วันเข้าร้านล่าสุด อัปเดตอัตโนมัติจากธุรกรรม POS

แท็ก・บันทึก・การตรวจสอบ

Tags(คั่นด้วยจุลภาค), Notes(ข้อความอิสระ), Status(ค่าเริ่มต้น "Active" เช่น ลาออกแล้ว・ถูกบล็อกแล้ว), CreatedAt, UpdatedAt

ความสัมพันธ์กับ POS

CrmCustomerDto เป็นโมเดลมาตรฐานที่ไม่ขึ้นกับ POS ลูกค้าที่ดึงมาจาก POS จะถูกผูก ID ลูกค้าของ RR กับตัวระบุฝั่ง POS(ชุดสามอย่างของ vendor + identityType + vendorIdentifier)ด้วยเอนทิตีแยกต่างหาก PosCustomerLinkEntity

สำหรับการซิงก์ข้อมูลสมาชิกสองทางกับ POS กฎการแก้ไขข้อขัดแย้ง(ฝั่ง vendor / ฝั่ง RR ฝ่ายไหนใหม่กว่า, last-write-wins ในระดับฟิลด์)และลำดับความสำคัญของคีย์การจับคู่ โปรดดู การซิงก์ข้อมูลสมาชิกสองทางกับ スマレジ・Square

การแมปปิงจากผู้ให้บริการ POS

ฟิลด์ลูกค้าของแต่ละ POS สอดคล้องกับฟิลด์ใดของ CrmCustomerDto นั้น สรุปไว้ในบทความแยกของเฮลป์ร้านค้า

ข้อควรทราบ

  • คีย์ที่ไม่ซ้ำคือการรวม OrganizationId กับ CustomerId แม้อีเมลเดียวกัน หากบัญชีธุรกิจต่างกันก็ถูกถือเป็นลูกค้าคนละคน
  • การจับคู่(ตรวจหารายการซ้ำ)ตรวจสอบตามลำดับ MembershipCodeEmailPhone รายละเอียดดู การซิงก์ข้อมูลสมาชิกสองทาง
  • VisitCount / TotalSpent / LastVisitDate เป็นค่าที่รวมมา แม้เขียนทับโดยตรงก็จะถูกเขียนทับด้วยเรกคอร์ดธุรกรรมครั้งถัดไป
  • ไม่แนะนำให้ลบลูกค้าทางกายภาพ ให้อัปเดต Status เป็นลาออกแล้วแทน หากลบทางกายภาพฝั่ง POS จะทำให้การจับคู่ฝั่ง RR ใช้ไม่ได้

คู่มือที่เกี่ยวข้อง

วันที่เผยแพร่: 2569-05-29 วันที่อัปเดต: 2569-07-05