Zindua

Zindua for Node.js

Official @zindua/sdk v1.4.0. Send email and WhatsApp OTP from Express, Fastify, Nest, or Next.js. API key stays on the server.

npm install @zindua/sdk

@zindua/sdk v1.4.0

Zindua for Node.js — @zindua/sdk server-side
@zindua/sdk · server-side only

One npm package

@zindua/sdk is the official Node client. Zero runtime deps, uses built-in fetch (Node 18+).

Server-side only

Never ship znd_live_… to the browser. Call send() and verifyEmail() from API routes or workers.

Email + WhatsApp

Same send() for both channels. Optional validate: true protects your Gmail/SMTP reputation.

Any Node HTTP stack

Express, Fastify, Nest, Hono, Bun, or start from the Next.js OTP starter.

Frameworks

Start where you already build

Node guides for Next and Fastify, plus the other official stacks on Zindua.

Security

API keys never leave Node

The SDK throws in the browser. Your app calls your backend; your backend calls Zindua.

Browser → your API → Zindua
  • Keep ZINDUA_API_KEY in server env only
  • Expose your own /api/otp routes to the client
  • Use znd_test_ in staging, znd_live_ in production
  • Prefer verifyEmail / validate: true before OTP email
Setup

Four steps

01

Create a project

Sign up at zindua.run, create a project, copy the API key. Connect email and/or WhatsApp in the dashboard.

02

Install @zindua/sdk

npm install @zindua/sdk in your backend. Pin @zindua/sdk@1.4.0 in production.

03

Send OTP from a route

Instantiate Zindua with process.env.ZINDUA_API_KEY. Store codes in your DB/Redis; Zindua delivers the message.

04

Trace with logId

npx @zindua/cli@latest doctor or Dashboard → Logs. Webhooks optional.

Quick start

Install and send

Pick a use case, switch language, copy the snippet. Same API across Node, Python, PHP, and .NET.

send.ts
import { Zindua } from "@zindua/sdk"; const zindua = new Zindua({  apiKey: process.env.ZINDUA_API_KEY!,}); const result = await zindua.send({  to: "user@example.com",  template: "otp-verification",  variables: { code: "482910" },}); console.log(result.logId);

Upgrade

npm install @zindua/sdk@1.4.0

CLI

npx @zindua/cli@latest doctor or npx @zindua/cli@latest send --to user@example.com --template otp-verification --var code=482910

Next.js starter

npx @zindua/create-app@latest my-app

WhatsApp sends cooperate with the anti-ban Guardian. Email quality lives on Email verification.

Ship OTP on Node today

Create a project, install @zindua/sdk, and send your first template from a server route.