SDK
SDK สำหรับ Node.js และ Python ของ EngageLab OTP ที่จัดเตรียมไว้อย่างเป็นทางการ
EngageLab มี SDK อย่างเป็นทางการสำหรับ Node.js และ Python เพื่อช่วยให้คุณผสานฟังก์ชันการส่ง OTP, การตรวจสอบ และการเรียกกลับ Webhook ได้โดยไม่ต้องพึ่งพา dependency ใด ๆ
Node.js SDK
Node.js SDK อย่างเป็นทางการรองรับ Node.js 14+ และมีการประกาศ TypeScript
การติดตั้ง
npm install engagelab-otp
เริ่มต้นใช้งานอย่างรวดเร็ว
const { OTPClient } = require('engagelab-otp');
const otp = new OTPClient(
process.env.ENGAGELAB_DEV_KEY,
process.env.ENGAGELAB_DEV_SECRET
);
// 平台生成 OTP — 最简单的方式
const { message_id } = await otp.send('+6591234567', 'your-template-id', {}, 'en');
const { verified } = await otp.verify(message_id, userTypedCode);
การเรียกกลับ Webhook (Express)
EngageLab ใช้ X-CALLBACK-ID (HMAC-SHA256) ในการลงลายเซ็นการเรียกกลับ SDK จะตรวจสอบลายเซ็นและแยกวิเคราะห์เหตุการณ์ให้คุณ
const express = require('express');
const { WebhookVerifier } = require('engagelab-otp');
const app = express();
app.use(express.json());
const verifier = new WebhookVerifier({
username: process.env.ENGAGELAB_WEBHOOK_USERNAME,
secret: process.env.ENGAGELAB_WEBHOOK_SECRET,
});
app.post('/webhook', verifier.middleware(async (events) => {
for (const e of events) {
if (e.kind !== 'message_status') continue;
if (!e.is_terminal) continue; // 传输中(如正在进行补发)— 等待
if (e.status === 'delivered') await markDelivered(e.message_id);
else if (e.status === 'verified') await markVerified(e.message_id);
}
}));
สำหรับตัวอย่างเพิ่มเติม รวมถึงการส่งรหัส OTP ที่กำหนดเองและการจัดการข้อผิดพลาด โปรดไปที่ engagelab-otp บน npm หรือ คลัง Github
Python SDK
Python SDK อย่างเป็นทางการรองรับ Python 3.8+ และไม่มี dependency ภายนอกใด ๆ
การติดตั้ง
pip install engagelab-otp
เริ่มต้นใช้งานอย่างรวดเร็ว
import os
from engagelab_otp import OTPClient
otp = OTPClient(
os.environ["ENGAGELAB_DEV_KEY"],
os.environ["ENGAGELAB_DEV_SECRET"],
)
# 平台生成 OTP — 最简单的方式
result = otp.send("+6591234567", "your-template-id", {"name": "Alice"}, language="en")
check = otp.verify(result["message_id"], user_typed_code)
if check["verified"]:
print("Success!")
การเรียกกลับ Webhook (Flask)
SDK มี WebhookVerifier ที่สามารถตรวจสอบลายเซ็น HMAC-SHA256 และแยกวิเคราะห์ payload ของเหตุการณ์ได้โดยอัตโนมัติ
import os
from flask import Flask
from engagelab_otp import WebhookVerifier, MessageStatusEvent
app = Flask(__name__)
verifier = WebhookVerifier(
username=os.environ["ENGAGELAB_WEBHOOK_USERNAME"],
secret=os.environ["ENGAGELAB_WEBHOOK_SECRET"],
)
def handle(events):
for e in events:
if not isinstance(e, MessageStatusEvent):
continue
if not e.is_terminal:
continue # 传输中,等待
if e.status == "delivered":
mark_delivered(e.message_id)
elif e.status == "verified":
mark_verified(e.message_id)
app.add_url_rule(
"/webhook",
"engagelab_webhook",
verifier.flask_view(handle),
methods=["POST"],
)
สำหรับตัวอย่างเพิ่มเติม รวมถึงการส่งรหัส OTP ที่กำหนดเองและการจัดการข้อผิดพลาด โปรดไปที่ engagelab-otp บน PyPI หรือ คลัง Github










