Cascade предоставляет REST API. Ниже — практический минимум на TypeScript с клиентом fetch.
Полезные ссылки: API, send, verify, examples, FAQ, pricing, documentation.
Установка
Официального пакета может не быть. Используйте fetch в Node 18+ или undici.
npm install undici # при необходимости
Инициализация
type CascadeResponse = { success: boolean; message: string; expires_in?: number; short_url?: string };
const BASE = process.env.OTP_API_BASE_URL ?? 'https://otp.kztusdt.kz/api';
const TOKEN = process.env.OTP_API_TOKEN!;
async function cascade(path: string, body: Record<string, unknown>): Promise<CascadeResponse> {
const res = await fetch(`${BASE}${path}`, {
method: 'POST',
headers: {
Authorization: `Bearer ${TOKEN}`,
'Content-Type': 'application/json',
Accept: 'application/json',
},
body: JSON.stringify(body),
});
return (await res.json()) as CascadeResponse;
}
Send / Verify
await cascade('/otp/send', { phone: '77001234567', purpose: 'login', channel: 'whatsapp' });
await cascade('/otp/verify', { phone: '77001234567', code: '123456', purpose: 'login' });
Храните токен только в server-side env. См. API, examples, pricing.