Quick Start

ในหัวข้อนี้ ผู้ใช้งานจะได้ทดลองสร้าง กฎการตรวจสอบข้อมูล (Audit Rule) ด้วยตนเองผ่านตัวอย่างที่เข้าใจง่าย โดยใช้ข้อมูลธุรกรรมการซื้อสินค้าออนไลน์ (E-commerce) เพื่อให้เห็นภาพการทำงานของ Rule Editor ตั้งแต่ต้นจนจบ

ตัวอย่างสถานการณ์: Payment method verification

SportMart Online Store ต้องการควบคุมความเสี่ยงจากการสั่งซื้อสินค้าโดยเลือกวิธีการชำระเงินปลายทาง (Cash on Delivery: COD) ซึ่งเป็นวิธีการชำระเงินที่มีความเสี่ยงสูง เช่น ลูกค้าปฏิเสธการรับสินค้า หรือไม่สามารถเรียกเก็บเงินได้ ดังนั้นจึงกำหนดนโยบายไม่อนุญาตให้ใช้วิธีการชำระเงินแบบ COD กับคำสั่งซื้อที่มียอดชำระเกินเกณฑ์ที่กำหนด และสร้าง Audit Rule เพื่อตรวจสอบและแจ้งเตือนเมื่อพบธุรกรรมที่ไม่เป็นไปตามนโยบายดังกล่าว

เป้าหมาย

ใช้ Rule Editor สร้าง Audit Rule ชื่อ verify_payment เพื่อตรวจสอบวิธีการชำระเงินของคำสั่งซื้อในร้าน SportMart Online Store และแจ้งเตือนเมื่อพบรายการที่ฝ่าฝืนนโยบายดังกล่าว

Input

ฟิลด์ข้อมูลจากตาราง BigTable ที่เกี่ยวข้องกับการตรวจสอบคำสั่งซื้อ เช่น:

  • order_id – รหัสคำสั่งซื้อ
  • payment_method – วิธีการชำระเงินที่ลูกค้าเลือก
  • net_amount – ยอดชำระ

เงื่อนไข

  • ลูกค้าสามารถชำระเงินปลายทางด้วยเงินสด (Cash on Delivery: COD) หากยอดสุทธิ (net_amount) ไม่เกิน 3,000 บาท

แนวคิดการเขียนกฎ

จากเงื่อนไขข้างต้น สามารถเขียนตรรกะการตรวจสอบในรูปแบบ Pseudo Code ได้ดังนี้

# Example Code for a transaction id 'ORD001' 
IF payment_method = "Cash" AND net_amount > 3,000 THEN
    create Flag
        rule_flag = AUDIT_TRANSACTION
        status = SUSPECT
        message = "Invalid payment method, order id 'ORD001' cannot pay by Cash (net_amount = 12900 THB)"
ELSE
    create Flag
        rule_flag = AUDIT_TRANSACTION
        status = PASS
        message = "Payment method is valid"

แนวคิดสำคัญ:

  • ใช้ IF–THEN logic เพื่อตรวจสอบเงื่อนไข
  • สร้าง Flag เพื่อเป็นผลลัพธ์ของการ Audit
  • กำหนด Result Status ของ Flag ดังนี้
    • SUSPECT = พบความผิดปกติ
    • PASS = ผ่านการตรวจสอบ

ขั้นตอนการสร้างกฎ (Step-by-Step)

1. สร้าง workspace

เริ่มต้นโดยการสร้าง workspace ใหม่ด้วย Rule Editor โดย Workspace เปรียบเสมือนพื้นที่ทำงานที่ใช้สร้างและบริหารจัดการกฎ จัดเก็บข้อมูลและ configuration ต่าง ๆ

  • Log-in เข้าสู่เว็บไซต์ OneAudit Rule Editor Playground ด้วยบัญชี Google
  • สร้าง Workspace โดยกำหนดชื่อและคำอธิบายดังรูป

2. เลือก BigTable จาก Registry

เลือก BigTable ชื่อ ecommerce จาก Registry โดยระบบจะโหลด schema ของข้อมูลธุรกรรมมาให้ใช้งานใน Rule Editor

3. สร้าง Flag

กำหนดรูปแบบของผลลัพธ์ (Flag) ที่จะใช้ใน Audit Rule

  • สร้าง Result Status: SUSPECT = 0 และ PASS = 1
  • สร้าง Flag: Flag name = AUDIT_TRANSACTION และ add Result Status ‘SUSPECT’ และ ‘PASS’ เข้าไปใน Flag

4. สร้างกฎ (Audit Rule)

4.1 สร้างกฎใหม่

สร้างกฎใหม่ภายใต้ Workspace โดยตั้งชื่อกฎเป็น verify_payment และใส่คำอธิบายกฎ

4.2 ออกแบบกฎ (Design Rule)

ออกแบบกฎโดยใช้โหนด BigTable, If-Else และ Flag จากนั้นลากโหนดแต่ละตัวมาวางและเชื่อมต่อกันตามภาพตัวอย่าง

  • หมายเหตุ: โหนด If-Else และ Flag มีสัญลักษณ์แจ้งเตือน หมายถึงการตั้งค่าโหนดยังไม่สมบูรณ์
4.3 กำหนดเงื่อนไขตรวจสอบข้อมูล (Define Condition)
  • Double click ที่โหนด If-Else เพื่อกำหนดเงื่อนไขตรวจสอบข้อมูล
  • กดปุ่ม Add Primitive และเพิ่มเงื่อนไขดังนี้ payment_method = "Cash" และ net_amount > 3000
4.4 กำหนดผลการตรวจสอบ (Define outcomes)

กำหนดผลลัพธ์ของแต่ละกรณี:

  • กรณีเข้าเงื่อนไขเป็น True ให้กำหนด Flag แสดงผลการตรวจสอบดังนี้
    • กำหนด Flag name = AUDIT_TRANSACTION และ Result Status = SUSPECT
    • กำหนด Tag = score และ Value = 0
  • กรณีเข้าเงื่อนไขเป็น False ให้กำหนด Flag แสดงผลการตรวจสอบดังนี้
    • กำหนด Flag name = AUDIT_TRANSACTION และ Result Status = PASS
    • กำหนด Tag = score และ Value = 1

5. ทดสอบกฎ

5.1 รันกฎ (Execute Rule)

รัน Rule Graph ด้วยข้อมูลตัวอย่าง ระบบจะประมวลผลตามลำดับของ Rule ที่ออกแบบไว้

5.2 ตรวจสอบผลลัพธ์

ตรวจสอบผลลัพธ์ที่ได้

  • เส้นทางการทำงานของ rule (execution path) ถูกต้องตามกฎ
  • ค่า Flag ที่ถูกสร้างแสดงถูกต้องตามกฎ
  • ข้อความ (message) แสดงถูกต้องตามข้อความที่กำหนดใน Flag