Skip to content

Sandbox

Sandbox ช่วยให้คุณสร้างและทดสอบการเชื่อมต่อระบบตามพฤติกรรมจริงของ API โดยไม่แตะต้องข้อมูลจริงขององค์กร live ของคุณ — และที่สำคัญคือไม่มีวันก่อให้เกิดผลข้างเคียงจริง (ไม่มีการส่ง webhook จริงถึงลูกค้าจริง ไม่มีการส่งข้อความจริงไปยังช่องทางจริง ไม่มีการใช้งานที่นับรวมในบิลจริง)

โมเดลองค์กรคู่

Section titled “โมเดลองค์กรคู่”

ทุกองค์กร live สามารถมีองค์กร sandbox ที่จับคู่ไว้ได้หนึ่งองค์กร การจับคู่จะถูกจัดเตรียมแบบ lazy ในครั้งแรกที่คุณเรียก endpoint การจัดเตรียมด้านล่าง และจะออกคีย์ sandbox ให้พร้อมกันในการเรียกครั้งเดียว — ไม่มีขั้นตอน “เปิดใช้งาน sandbox” แยกต่างหาก

POST /api/settings/sandbox/provision

ยืนยันตัวตนผ่านแดชบอร์ด/เซสชัน (ผู้ดูแลองค์กร) — การยืนยันตัวตนแบบเดียวกับการจัดการ API key ไม่สามารถใช้ public API key ได้ Request body:

ฟิลด์ชนิดคำอธิบาย
namestringป้ายชื่อสำหรับคีย์ sandbox ที่ออก (1–200 ตัวอักษร)
scopesstring[]scope หนึ่งรายการขึ้นไปที่จะให้สิทธิ์กับคีย์
  1. เรียก POST /api/settings/sandbox/provision พร้อม name และ scopes โดยยืนยันตัวตนในฐานะผู้ดูแลองค์กร
  2. หากนี่เป็นคีย์ sandbox แรกขององค์กรคุณ ระบบจะจัดเตรียมองค์กร sandbox ที่จับคู่ไว้ให้อัตโนมัติ หากมีการจับคู่อยู่แล้ว ระบบจะออกคีย์ใหม่ให้กับองค์กรนั้นเท่านั้น การตอบกลับจะรวม sandboxOrganizationId, provisioned (ระบุว่าการเรียกครั้งนี้สร้างการจับคู่หรือไม่) และ key ใหม่ — พร้อม secretOnce แบบครั้งเดียว เหมือนกับการสร้างคีย์ปกติ
  3. ทุกคำขอที่ยืนยันตัวตนด้วยคีย์นั้นจะถูกส่งต่อไปยังองค์กร sandbox โดยอัตโนมัติ — คุณไม่ต้องส่งค่า flag “sandbox mode” แยกต่างหาก คีย์ คือ ตัวสลับโหมดนั้นเอง

ขอบเขตการแยกข้อมูลคือ ID ขององค์กรเอง เมื่อคำขอยืนยันตัวตนด้วยคีย์ที่มี environment เป็น sandbox ID องค์กรที่มีผลของผู้เรียกจะถูกเขียนทับเป็น ID ขององค์กร sandbox ที่จับคู่ไว้ทันทีหลังการตรวจสอบคีย์ ก่อนที่ route handler ใดๆ จะทำงาน หลังจากนั้น query ที่ผูกกับองค์กรทุกตัวที่มีอยู่แล้วจะแยกข้อมูล sandbox ได้โดยอัตโนมัติ — ไม่มีคอลัมน์ environment แยกต่างหากให้กรอง และไม่มีการเปิดใช้งานทีละ route ที่อาจตกหล่นได้

คีย์ sandbox จะสามารถเข้าถึงได้เฉพาะ sandbox ของตัวเอง เท่านั้น — ไม่มีทางที่คีย์ sandbox จะชี้ไปยังข้อมูลขององค์กรอื่น ไม่ว่าจะเป็น live หรือ sandbox

Worker เบื้องหลัง (การส่ง webhook, การส่งข้อความ, การรวมยอดการใช้งานสำหรับบิล และอื่นๆ ที่คล้ายกัน) จะยกเว้นองค์กร sandbox ออกจากผลข้างเคียงที่เกิดขึ้นจริงทุกกรณี กิจกรรมในองค์กร sandbox จะทำงานผ่าน code path เดียวกับ traffic จริง — ดังนั้นคุณจึงเชื่อถือได้ว่าสิ่งที่เห็นใน webhook ทดสอบหรือบทสนทนา sandbox สะท้อนพฤติกรรมจริง — แต่จะไม่มีวันไปถึงบุคคลที่สามจริง (ไม่มีการส่ง webhook ขาออกจริงถึง traffic การผลิตของปลายทางคุณ ไม่มีการส่งข้อความ WhatsApp/LINE/Web-widget จริง)

ใช้ endpoint ทดสอบ webhookได้อย่างอิสระใน sandbox — มันทำงานผ่านเส้นทางการเซ็นลายเซ็นและส่งข้อมูลเต็มรูปแบบอย่างปลอดภัย

ขีดจำกัดอัตราการเรียกใช้

Section titled “ขีดจำกัดอัตราการเรียกใช้”

คีย์ sandbox จะใช้ระดับขีดจำกัดอัตราต่ำสุดเสมอ ไม่ว่าแพ็กเกจจริงขององค์กร live ของคุณจะเป็นอะไร — เพื่อให้ traffic ของ sandbox มีขอบเขตชัดเจนและใช้ทดสอบได้อย่างประหยัด และป้องกันไม่ให้บั๊กจากการเชื่อมต่อ sandbox แย่งงบประมาณเดียวกันกับ traffic จริง

การรีเซ็ตจะล้าง ข้อมูล ขององค์กร sandbox — บทสนทนา ผู้ติดต่อ เอกสารคลังความรู้ เหตุการณ์/การส่ง webhook และอื่นๆ ที่คล้ายกัน — กลับไปเป็นค่าว่างเปล่า จะไม่ลบ API key sandbox การตั้งค่า webhook endpoint หรือประวัติการตรวจสอบ (audit) ของคุณ — เฉพาะแถวข้อมูลที่การตั้งค่าเหล่านั้นสร้างขึ้นเท่านั้น

POST /api/settings/sandbox/reset

การขอรีเซ็ตก่อนที่จะมีการจับคู่ sandbox (คือก่อนที่คุณจะเคยออกคีย์ sandbox) จะได้รับข้อผิดพลาดกลับมา — ให้จัดเตรียมคีย์ sandbox ก่อน