Tim LessOTP

SDK Resmi LessOTP: Satu Interface untuk Dua Channel

Kenali SDK resmi LessOTP untuk JS/TS, PHP, Go, dan Python: satu interface auth untuk WhatsApp dan Telegram, staging, serta signed webhook.

SDKJavaScriptPHPGoPythonAuthentication
SDK Resmi LessOTP: Satu Interface untuk Dua Channel
Bagikan artikel:XThreads

Satu Pola Integrasi untuk Empat Bahasa

LessOTP menyediakan SDK resmi untuk JavaScript/TypeScript, PHP, Go, dan Python agar tim SaaS B2B tidak perlu menulis ulang HTTP client, parsing response, dan verifikasi webhook dari nol di setiap stack.

Intinya sederhana: satu interface autentikasi, dua channel inbound. WhatsApp tetap menjadi default yang backward-compatible, sementara Telegram bisa dipakai dari interface yang sama tanpa mengubah arsitektur aplikasi.

Paket Resmi LessOTP

BahasaPaketInstall
JavaScript / TypeScript@lessotp/sdknpm install @lessotp/sdk
PHPlessotp/sdkcomposer require lessotp/sdk
Gogithub.com/lessotp/sdk/gogo get github.com/lessotp/sdk/go
Pythonlessotp-sdkpip install lessotp-sdk

Interface yang Sama: Strict, Frictionless, WhatsApp, Telegram

Semua SDK mengikuti konsep yang sama: request dengan nomor telepon berarti Strict Mode, request tanpa nomor berarti Frictionless Mode. Channel bisa `whatsapp` atau `telegram`; jika channel kosong, WhatsApp tetap menjadi default untuk kompatibilitas integrasi lama.

Contoh JS/TS

import { LessOTPClient, parseVerifiedWebhook } from "@lessotp/sdk";

const client = new LessOTPClient({ apiKey: process.env.LESSOTP_API_KEY! });

await client.authRequest("6281234567890"); // WhatsApp strict
await client.authRequest(); // WhatsApp frictionless
await client.requestAuth({ channel: "telegram", phoneNumber: "6281234567890" });
await client.requestAuth({ channel: "telegram" }); // Telegram frictionless

const event = await parseVerifiedWebhook(rawBody, signature, webhookSecret);

Pola yang Sama di PHP, Go, dan Python

PHP

$client->authRequest('6281234567890'); // WhatsApp strict
$client->authRequest(); // WhatsApp frictionless
$client->requestTelegramAuth('6281234567890');
$client->requestAuth(VerificationChannel::telegram());

Go

client.AuthRequest(ctx, &phone) // WhatsApp strict
client.AuthRequest(ctx, nil) // WhatsApp frictionless
client.RequestTelegramAuth(ctx, &phone)
client.RequestTelegramAuth(ctx, nil)

Python

client.auth_request("6281234567890")  # WhatsApp strict
client.auth_request()  # WhatsApp frictionless
client.request_telegram_auth("6281234567890")
client.request_auth(channel="telegram")

Webhook Verification Built In

SDK resmi juga menyediakan helper HMAC untuk memvalidasi `X-Signature` dari webhook LessOTP. Ini menjaga flow provisioning akun tetap aman dan konsisten lintas bahasa.

  • Verifikasi signature dari raw request body.
  • Parse payload `verification.success` ke struktur yang konsisten.
  • Dukung field channel, mode, phone_number, dan metadata Telegram jika ada.
  • Tetap kompatibel dengan payload WhatsApp lama yang belum mengirim field channel.

Mulai dari SDK, bukan dari HTTP client kosong

Pilih bahasa yang dipakai tim Anda, pasang SDK resmi LessOTP, lalu uji WhatsApp dan Telegram di staging sebelum production.

Buka Dokumentasi SDK
Bagikan artikel:XThreads