FAQ, SDK และค่าใช้จ่าย

คำถามที่พบบ่อยจากผู้เชื่อมต่อระบบ รวมถึงวิธีทำงานของ SDK และการคิดราคา API

คำถามที่พบบ่อย

คำถามทั่วไปเกี่ยวกับการเชื่อมต่อกับ Cams Biometrics Web API 3.0

ทั่วไป

ถาม: Cams Biometric Gateway และ Biometric API คืออะไร
Cams Biometric Gateway คือแพลตฟอร์มคลาวด์สากลที่เปิด Biometric API ให้เว็บแอปพลิเคชันใดก็ได้สื่อสารกับอุปกรณ์ลงเวลาและควบคุมการเข้าออกด้วยไบโอเมตริกซ์แบบเรียลไทม์ รองรับ 38 การทำงานทั้ง Callback (ขาเข้า) และ RESTful (ขาออก) — โดยไม่ต้องใช้ SDK ของอุปกรณ์หรือ IP คงที่
ถาม: ต้องใช้ SDK ในการเชื่อมต่อหรือไม่
ไม่ต้อง Cams ไม่มีและไม่ต้องใช้ SDK การสื่อสารทั้งหมดใช้คำขอ HTTP/HTTPS POST มาตรฐานพร้อม payload แบบ JSON ภาษาใดก็ได้ที่เรียก HTTP ได้ก็ใช้งานได้
ถาม: รองรับภาษาโปรแกรมใดบ้าง
ภาษาใดก็ได้ที่ส่ง/รับ HTTP POST พร้อม JSON ได้ — PHP, Python, Java, C#, Node.js, Go, Ruby และอื่น ๆ เรามีพรอมต์สร้างโค้ดด้วย AIสำหรับ 7 ภาษา
ถาม: Cams Protocol Engine คืออะไร
เป็น middleware บนคลาวด์ที่อยู่ระหว่างอุปกรณ์ไบโอเมตริกซ์กับเซิร์ฟเวอร์ของคุณ ทำหน้าที่แปลงโปรโตคอล ปรับข้อมูลให้เป็นมาตรฐาน แคชแบบออฟไลน์ และมอบ JSON API ที่สม่ำเสมอ ไม่ว่าอุปกรณ์จะเป็นยี่ห้อหรือรุ่นใด
ถาม: API Monitor คืออะไร
API Monitor คือพอร์ทัลผู้ดูแลระบบของคุณ ที่ใช้กำหนดค่า Callback URL จัดการ AuthToken ตั้ง Security Key ดูสถานะอุปกรณ์ และเข้าถึง URL endpoint RESTful กับ Service Tag ID ของคุณ

ความเข้ากันได้ของอุปกรณ์

ถาม: รองรับอุปกรณ์ไบโอเมตริกซ์ใดบ้าง
เครื่อง Cams Biometrics ทุกเครื่อง (ดูรายการที่ camsbiometrics.com/product) รองรับ API ครบถ้วนด้วย Native Push อุปกรณ์ที่ผ่านการตรวจสอบที่ developer.camsbiometrics.com ก็รองรับ Native Push เต็มรูปแบบเช่นกัน
ถาม: อุปกรณ์ที่ไม่ใช่ของ Cams (ZkTeco, eSSL, BioMax ฯลฯ) ใช้ API นี้ได้หรือไม่
ได้ โดยต้องทำ Protocol Update อุปกรณ์ที่ไม่ใช่ของ Cams และยังไม่ผ่านการตรวจสอบจะทำงานผ่าน Hybrid Push บางฟีเจอร์อาจถูกจำกัดตามโหมดการเชื่อมต่อและความสามารถของฮาร์ดแวร์
ถาม: Native Push กับ Hybrid Push ต่างกันอย่างไร
Native Push: รองรับ API ครบถ้วนโดยไม่มีข้อจำกัด — ทั้ง 38 การทำงานใช้ได้ สำหรับเครื่อง Cams และอุปกรณ์ที่ผ่านการตรวจสอบ
Hybrid Push: สำหรับอุปกรณ์ที่ไม่ใช่ของ Cams/ยังไม่ผ่านการตรวจสอบ ฟีเจอร์ที่ใช้ได้ขึ้นอยู่กับโหมดการสื่อสาร (SDK, DB Pull หรือ File Processing) ดูโหมดการเชื่อมต่อ
ถาม: รองรับวิธีไบโอเมตริกซ์แบบใดบ้าง
ลายนิ้วมือ การจดจำใบหน้า เส้นเลือดฝ่ามือ บัตร RFID/บัตรใกล้ตัว PIN/รหัสผ่านตัวเลข การสแกนม่านตา และการวัดอุณหภูมิร่างกาย (ขึ้นกับอุปกรณ์)
ถาม: ฟีเจอร์ API บางอย่างใช้ไม่ได้กับอุปกรณ์ของฉัน เพราะอะไร
ขึ้นอยู่กับ (a) โหมดการเชื่อมต่อ — โหมด DB Pull และ File Processing รองรับเฉพาะการส่งข้อมูลการลงเวลา ไม่รองรับ RESTful API และ (b) ข้อจำกัดของฮาร์ดแวร์ — อุปกรณ์บางรุ่นอาจไม่รองรับบางฟีเจอร์ในระดับเฟิร์มแวร์ ควรทดสอบกับฮาร์ดแวร์ของคุณและติดต่อฝ่ายสนับสนุนของ Camsเพื่อขอความช่วยเหลือ

Callback API (อุปกรณ์ → เซิร์ฟเวอร์)

ถาม: Callback API คืออะไร
Callback API ส่งเหตุการณ์แบบเรียลไทม์จากอุปกรณ์ไบโอเมตริกซ์ไปยังเซิร์ฟเวอร์ของคุณ เมื่อมีการลงเวลาหรือมีการแก้ไขผู้ใช้บนอุปกรณ์ Cams Protocol Engine จะ POST payload JSON ไปยัง Callback URL ที่คุณกำหนดไว้ทันที
ถาม: เซิร์ฟเวอร์ของฉันต้องตอบกลับด้วยอะไร
ส่งกลับ {"status":"done"} พร้อม HTTP status 200 เสมอ — แม้การประมวลผลภายในของคุณจะล้มเหลว อย่าบล็อก Cams Protocol Engine ให้นำงานประมวลผลหนัก ๆ เข้าคิวเพื่อทำงานแบบ asynchronous
ถาม: จะเกิดอะไรขึ้นหากเซิร์ฟเวอร์ของฉันออฟไลน์ขณะมีการลงเวลา
Biometric Gateway จะแคชเหตุการณ์ทั้งหมดและส่งให้โดยอัตโนมัติเมื่อเซิร์ฟเวอร์ของคุณกลับมาออนไลน์ ข้อมูลไม่สูญหาย
ถาม: จัดการกับการลงเวลาซ้ำอย่างไร
ให้สร้างตรรกะตรวจจับรายการซ้ำบนเซิร์ฟเวอร์ของคุณโดยใช้ UserID + LogTime ร่วมกัน การลงเวลาเดียวกันอาจถูกส่งซ้ำระหว่างการกู้คืนหลังออฟไลน์หรือการลองส่งใหม่ของเครือข่าย
ถาม: รองรับการลงเวลาประเภทใดบ้าง
CheckIn, CheckOut, BreakOut, BreakIn, OverTimeIn, OverTimeOut, MealIn, MealOut ฟิลด์ InputType แสดงวิธีไบโอเมตริกซ์ที่ใช้: Fingerprint, Face, Palm, Card หรือ Password
ถาม: เทมเพลตผู้ใช้ทำงานอย่างไรใน Callback
เมื่อผู้ใช้ถูกอัปเดตบนอุปกรณ์ (การทำงาน #3–#9) เทมเพลตอาจมาทีละรายการหรือเป็นกลุ่มในหลาย callback แต่ละ callback มีเฉพาะเทมเพลตที่เปลี่ยนแปลง — ไม่ใช่ชุดทั้งหมด เซิร์ฟเวอร์ของคุณต้องmerge/upsert โดยใช้ Type + Index เป็นคีย์เฉพาะ ห้ามเขียนทับเทมเพลตทั้งหมดใน callback เดียว
ถาม: รับรูปการลงเวลาได้หรือไม่
ได้ การทำงาน #10 RealTimeAttendancePhoto ส่งภาพ JPEG เข้ารหัส Base64 ที่ถ่ายขณะลงเวลา แยกจาก callback log การลงเวลา (#11) และใช้ได้กับอุปกรณ์ที่รองรับกล้อง
ถาม: Callback มีข้อมูลอุณหภูมิและการตรวจจับหน้ากากอนามัยหรือไม่
มี หากอุปกรณ์รองรับ ออบเจ็กต์ PunchLog มี Temperature (ค่าอุณหภูมิร่างกาย) และ FaceMask (boolean — ตรวจพบหน้ากากอนามัยหรือไม่)

RESTful API (เซิร์ฟเวอร์ → อุปกรณ์)

ถาม: RESTful API คืออะไร
RESTful API ให้เซิร์ฟเวอร์ของคุณส่งคำสั่งไปยังอุปกรณ์ไบโอเมตริกซ์ — เพิ่ม/ลบผู้ใช้ ดึง log ลงทะเบียนไบโอเมตริกซ์ และควบคุมการเข้าถึง คุณ POST JSON ไปยัง URL endpoint ที่อยู่ในบัญชี API Monitor ของคุณ
ถาม: หา URL endpoint RESTful ได้จากที่ไหน
เข้าสู่ระบบบัญชี API Monitor ของคุณ URL endpoint RESTful และ Service Tag ID (stgid) จะแสดงอยู่ที่นั่น
ถาม: คำสั่ง RESTful มีความหน่วงเท่าใด
ประมาณ 15 วินาที Biometric Gateway จะจัดคิวคำสั่งของคุณและส่งไปยังอุปกรณ์เมื่ออุปกรณ์เชื่อมต่อครั้งถัดไป (ซึ่งเกือบต่อเนื่องสำหรับอุปกรณ์ที่ออนไลน์)
ถาม: LoadLog ระบุช่วงวันที่ได้สูงสุดเท่าใด
แนะนำสูงสุด 30 วันต่อคำขอ หากต้องการช่วงที่ยาวกว่านั้น ให้ส่งหลายคำขอโดยใช้ช่วงเวลาที่ต่อเนื่องกัน
ถาม: เพิ่มผู้ใช้พร้อมเทมเพลตไบโอเมตริกซ์หลายชนิดพร้อมกันได้หรือไม่
ได้ อาร์เรย์ Template รับได้หลายรายการ ตัวอย่างเช่น การทำงาน #27 เพิ่มผู้ใช้พร้อม Card + Fingerprint + Password + Face + Palm + UserPhoto ในคำขอเดียว
ถาม: จะเกิดอะไรขึ้นหากอุปกรณ์ออฟไลน์ตอนที่ฉันส่งคำสั่ง RESTful
Biometric Gateway จะจัดคิวคำสั่งและส่งให้โดยอัตโนมัติเมื่ออุปกรณ์เชื่อมต่อกลับมา คุณจะได้รับรหัสสถานะ 5 (Device Offline) หากอุปกรณ์ไม่ตอบสนองภายในเวลาที่กำหนด
ถาม: ตรวจสอบผลลัพธ์ของคำสั่งได้อย่างไร
การตอบกลับของ RESTful มีฟิลด์ StatusCode โดยรหัส 0 หมายถึงสำเร็จ ดูรหัสสถานะการตอบกลับสำหรับรายการรหัสข้อผิดพลาดทั้งหมดและความหมาย
ถาม: สั่งลงทะเบียนลายนิ้วมือจากระยะไกลได้หรือไม่
ได้ การทำงาน #35 EnrollFingerPrint จะเริ่มเซสชันลงทะเบียนบนตัวเครื่อง อย่างไรก็ตาม ผู้ใช้ต้องอยู่ที่หน้าอุปกรณ์ด้วยตนเองเพื่อสแกนนิ้ว

ความปลอดภัยและเครือข่าย

ถาม: ใช้ HTTPS สำหรับ callback ได้หรือไม่
ได้ รองรับ HTTPS พร้อมใบรับรอง SSL ที่ถูกต้องบนพอร์ต 443 อย่างเต็มรูปแบบ และแนะนำสำหรับการใช้งานจริง
ถาม: การเข้ารหัสเป็นข้อบังคับหรือไม่
ไม่ การเข้ารหัส AES-256 เป็นทางเลือก หากต้องการเปิดใช้ ให้กำหนด Security Key ใน API Monitor เมื่อเปิดใช้ payload JSON ทั้งหมดจะถูกเข้ารหัส/ถอดรหัสด้วย AES/ECB/PKCS5PADDING และการเข้ารหัส Base64
ถาม: จะตรวจสอบได้อย่างไรว่า callback มาจาก Cams จริง
ทุก callback มีฟิลด์ AuthToken ให้เทียบกับ token ที่กำหนดใน API Monitor ของคุณ และปฏิเสธคำขอที่ token ไม่ตรงกัน
ถาม: ควรเปิดพอร์ตใดบ้าง
พอร์ต 80 (HTTP) หรือ 443 (HTTPS) สำหรับใช้งานจริง พอร์ต 8123 ใช้สำหรับทดสอบเท่านั้น ดูพอร์ตที่รองรับ
ถาม: ทดสอบในเครื่องโดยไม่ต้องติดตั้งบนเซิร์ฟเวอร์ได้อย่างไร
ใช้ IP สาธารณะพร้อม port forwarding หรือเครื่องมือ tunneling เช่น ngrok ดูทดสอบในเครื่องสำหรับคำแนะนำทีละขั้นตอน

ข้อมูลและข้อควรพิจารณาในการออกแบบ

ถาม: API ใช้รูปแบบข้อมูลใด
คำขอและการตอบกลับทั้งหมดเป็น JSON ดิบที่เข้ารหัส UTF-8 ใช้ header Content-Type: application/json ไม่ใช้ form encoding
ถาม: ใช้รูปแบบเวลาแบบใด
YYYY-MM-DD HH:mm:ss GMT +OFFSET (เช่น 2020-09-17 07:48:22 GMT +0530) ฟิลด์ Time เป็น UTC ส่วนเวลาตามเขตเวลาของอุปกรณ์ (เช่น LogTime, OperationTime) อาจใช้ค่า offset ของเขตเวลาที่ต่างออกไป
ถาม: ควรจัดการการลงเวลาที่ส่งมาตอนออฟไลน์และข้อมูลย้อนหลังอย่างไร
ออกแบบแอปพลิเคชันให้รับการลงเวลาที่มาไม่เรียงตามลำดับเวลา เมื่ออุปกรณ์ออฟไลน์ จะส่งข้อมูลที่แคชไว้เมื่อเชื่อมต่อกลับมา คุณอาจต้องปรับสถานะการเข้างานย้อนหลัง (เช่น เปลี่ยนผู้ใช้ที่แสดงเป็น "ขาด" ให้เป็น "มา")
ถาม: จะระบุเข้า/ออกอย่างไรเมื่อผู้ใช้มีหลายอุปกรณ์
เรียงการลงเวลาทั้งหมดของผู้ใช้ตาม LogTime ข้ามทุกอุปกรณ์ แล้วจึงใช้ตรรกะทางธุรกิจของคุณ อย่าอิงเฉพาะฟิลด์ Type (CheckIn/CheckOut) จากอุปกรณ์เดียว หากผู้ใช้ลงเวลาบนเครื่องต่างกัน
ถาม: OperationID คืออะไรและควรใช้อย่างไร
เป็นสตริงตัวระบุเฉพาะของแต่ละการทำงาน สำหรับ callback ขาเข้า Biometric Gateway เป็นผู้สร้าง สำหรับคำขอ RESTful ขาออก คุณควรสร้างค่าที่ไม่ซ้ำกันสำหรับแต่ละคำขอ (แบบ UUID หรือตามเวลา) การตอบกลับจะส่งค่านี้กลับมาเพื่อให้คุณจับคู่คำขอ/การตอบกลับได้
ถาม: เทมเพลตไบโอเมตริกซ์ถูกจัดเก็บและส่งผ่านอย่างไร
ข้อมูลไบโอเมตริกซ์ (ลายนิ้วมือ ใบหน้า ฝ่ามือ รูปผู้ใช้) ถูกเข้ารหัส Base64 ในฟิลด์ Data ของออบเจ็กต์ Template เทมเพลตลายนิ้วมือและใบหน้ายังมี Size (ความยาวเป็นไบต์) และ Index (หมายเลขตำแหน่ง) ส่วนหมายเลขบัตรและ PIN เป็นสตริงธรรมดา

ราคาและการอนุญาตใช้งาน

ถาม: API มีการอนุญาตใช้งาน (license) อย่างไร
คิดตามเครื่องไบโอเมตริกซ์ ปีแรกต้องมี API Activation + Yearly License ปีถัด ๆ ไปต้องต่ออายุเฉพาะ yearly license ดูราคาที่ค่าใช้จ่าย API
ถาม: จะเกิดอะไรขึ้นหากใบอนุญาต API ของฉันหมดอายุ
การสื่อสาร API ของอุปกรณ์นั้นจะหยุดจนกว่าจะต่ออายุใบอนุญาต ข้อมูลเดิมของคุณไม่ได้รับผลกระทบ แต่จะไม่มีการประมวลผล callback หรือคำสั่ง RESTful ใหม่
ถาม: มีตัวเลือกแบบ on-premise หรือไม่
มี สามารถติดตั้ง Protocol Engine Lite บนเซิร์ฟเวอร์ของคุณเอง (Windows/Linux) สำหรับสภาพแวดล้อมที่ใช้เฉพาะ LAN หรือโฮสต์เอง ติดต่อ sales@camsbiometrics.com เพื่อขอรายละเอียด

SDK สำหรับการลงเวลาด้วยไบโอเมตริกซ์

Cams ไม่มี SDK แบบดั้งเดิม การทำงานทั้งหมดใช้ HTTP Callback และ RESTful API มาตรฐาน — ไม่ต้องติดตั้งไลบรารี

ไม่ต้องใช้ SDK การสื่อสารทั้งหมดดำเนินการผ่าน Cams Protocol Engine โดยใช้ Callback URL และ endpoint HTTP แบบ RESTful

ทำให้การเชื่อมต่อกับแพลตฟอร์มเว็บใดก็ตามเป็นเรื่องง่าย:

OpenERPERPNextZoho PeopleSAPTallyHRAPPOdooเว็บแอปที่พัฒนาเอง

ค่าใช้จ่าย API

API คิดค่าบริการตามเครื่องไบโอเมตริกซ์ ปีแรก = การเปิดใช้งาน + ใบอนุญาต ปีถัด ๆ ไป = ต่ออายุใบอนุญาตเท่านั้น

บริการUSDหมายเหตุ
Native Push — เครื่อง Cams และอุปกรณ์ที่ผ่านการตรวจสอบ
API Activation$120ครั้งเดียวต่อเครื่อง
ใบอนุญาต API รายปี$60 – $120ต้องต่ออายุทุกปี
Protocol Update (ที่ไม่ใช่ Cams)$120 – $280ครั้งเดียว เปิดใช้โปรโตคอลของ Cams บนอุปกรณ์ที่ไม่ใช่ของ Cams
Hybrid Push — ZKTeco, eSSL และยี่ห้อภายนอกทั้งหมด
API Activation$150ครั้งเดียวต่อเครื่อง
ใบอนุญาต API รายปี$90 – $150ต้องต่ออายุทุกปี
Hybrid Connector (ที่ยังไม่ผ่านการตรวจสอบ)$150 – $300ครั้งเดียว จำเป็นสำหรับอุปกรณ์ที่ยังไม่ผ่านการตรวจสอบที่ใช้ Hybrid Push
ฮาร์ดแวร์และอื่น ๆ
ฮาร์ดแวร์$220 – $720แตกต่างกันตามรุ่น
Protocol Engine Lite (on-premise) — สำหรับสภาพแวดล้อมที่ใช้เฉพาะ LAN หรือโฮสต์เอง ค่าใช้จ่าย: $500–$10,000 ติดต่อฝ่ายขายเพื่อขอรายละเอียด