SDK
SDK Node.js dan Python EngageLab OTP yang disediakan secara resmi.
EngageLab menyediakan SDK resmi Node.js dan Python, membantu Anda mengintegrasikan fitur pengiriman OTP, verifikasi, dan callback Webhook tanpa dependensi.
Node.js SDK
SDK Node.js resmi mendukung Node.js 14+ dan menyertakan deklarasi TypeScript.
Instalasi
npm install engagelab-otp
Mulai cepat
const { OTPClient } = require('engagelab-otp');
const otp = new OTPClient(
process.env.ENGAGELAB_DEV_KEY,
process.env.ENGAGELAB_DEV_SECRET
);
// OTP yang dibuat platform — cara paling sederhana
const { message_id } = await otp.send('+6591234567', 'your-template-id', {}, 'en');
const { verified } = await otp.verify(message_id, userTypedCode);
Callback Webhook (Express)
EngageLab menandatangani callback menggunakan X-CALLBACK-ID (HMAC-SHA256). SDK akan memvalidasi signature dan mem-parsing event untuk Anda.
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; // dalam pengiriman (misalnya sedang melakukan pengiriman ulang) — tunggu
if (e.status === 'delivered') await markDelivered(e.message_id);
else if (e.status === 'verified') await markVerified(e.message_id);
}
}));
Untuk contoh lebih lanjut, termasuk pengiriman kode OTP kustom dan penanganan error, kunjungi engagelab-otp di npm atau repositori Github.
Python SDK
SDK Python resmi mendukung Python 3.8+ dan tanpa dependensi eksternal.
Instalasi
pip install engagelab-otp
Mulai cepat
import os
from engagelab_otp import OTPClient
otp = OTPClient(
os.environ["ENGAGELAB_DEV_KEY"],
os.environ["ENGAGELAB_DEV_SECRET"],
)
# OTP yang dibuat platform — cara paling sederhana
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!")
Callback Webhook (Flask)
SDK menyediakan sebuah WebhookVerifier, yang dapat secara otomatis memvalidasi signature HMAC-SHA256 dan mem-parsing payload event.
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 # dalam pengiriman, tunggu
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"],
)
Untuk contoh lebih lanjut, termasuk pengiriman kode OTP kustom dan penanganan error, kunjungi engagelab-otp di PyPI atau repositori Github.










