Nabda OTPNabda OTP

Language

Giriş
Rehber 25 Mart 2026 8 dakika okuma

WhatsApp API ile OTP Gönderme - Tam Kılavuz 2026

Geliştiriciler için pratik ve üretime hazır rehber: Nabda OTP kullanarak – Irak (+964) ve Suriye (+963) ile diğer ülkelerde en hızlı WhatsApp OTP çözümü.

Neden Nabda OTP Irak ve Suriye için en iyi seçimdir

Nabda OTP size resmi Business API şablonları veya Meta onay gecikmeleriyle uğraşmadan doğrudan WhatsApp erişimi sağlar. Sadece bir instance oluşturun ve anında OTP göndermeye başlayın.

Başlamak için ihtiyacınız olanlar

  • Bir Nabda OTP hesabı
  • Bir veya daha fazla aktif instance (her instance = özel WhatsApp numarası)
  • Instance kapsamlı token (Bearer token)
  • Sunucu tarafında OTP üretme mantığı

Adım adım: Nabda OTP API ile OTP gönderme

1

Instance Oluşturma ve Seçme

Dashboard'dan instance oluşturduktan sonra, instance token'ını almak için onu seçmelisiniz:

api/v1/auth/select-instance
const res = await fetch("https://api.nabdaotp.com/api/v1/auth/select-instance", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ instanceId: "your-instance-id" })
});

const { accessToken } = await res.json();
// Store securely on your backend — never expose to the client
2

Backend'de OTP üretme

backend (Node.js)
function generateOTP(length = 6) {
  return Math.floor(
    Math.pow(10, length - 1) +
    Math.random() * (Math.pow(10, length) - Math.pow(10, length - 1))
  ).toString();
}

// Store hash (never store plain OTP)
const crypto = require('crypto');
const otp = generateOTP();
const hash = crypto.createHash('sha256').update(otp + secret).digest('hex');
3

WhatsApp üzerinden OTP gönderme (Doğru Endpoint)

api/v1/messages/send
const payload = {
  phone: "+9647701234567",    // Iraq  (+964)
  // phone: "+9639XXXXXXXX", // Syria (+963)
  message: `Your Nabda verification code is ${otp}. Valid for 5 minutes. Do not share it.`
};

const response = await fetch("https://api.nabdaotp.com/api/v1/messages/send", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": `Bearer ${instanceToken}`
  },
  body: JSON.stringify(payload)
});

const result = await response.json();
if (result.success) {
  console.log("✓ OTP sent via WhatsApp");
}
4

OTP'yi sunucunuzda doğrulama

OTP'yi her zaman backend'de doğrulayın (asla client tarafına güvenmeyin).

verify OTP
// On form submission — verify on the BACKEND, never the client
function verifyOTP(userInput, storedHash, secret) {
  const inputHash = crypto
    .createHash('sha256')
    .update(userInput + secret)
    .digest('hex');
  return inputHash === storedHash;
}

İsteğe bağlı: Teslimat Durumu için Webhook Yapılandırma

api/v1/instances/webhook
await fetch("https://api.nabdaotp.com/api/v1/instances/webhook", {
  method: "PATCH",
  headers: {
    "Content-Type": "application/json",
    "Authorization": `Bearer ${instanceToken}`
  },
  body: JSON.stringify({
    webhookUrl: "https://yourdomain.com/webhook/nabda",
    webhookEnabled: true
  })
});

// Your webhook handler receives events like:
// { event: "message.sent", phone: "+964...", status: "delivered" }

Irak ve Suriye için En İyi Uygulamalar

  • E.164 formatını kullanın: +96477xxxxxxxx veya +9639xxxxxxxx
  • OTP geçerlilik süresini 3-8 dakika arasında tutun
  • Mümkün olduğunda iki dilli mesaj gönderin (Arapça + İngilizce)
  • Mesaja her zaman marka adınızı ekleyin
  • Webhook olaylarını izleyin: sent, delivered ve hatalar

Sorun Giderme

401 Unauthorized → Instance'ı seçtiğinizden ve instance token'ını kullandığınızdan emin olun

Geçersiz telefon → +964 veya +963 ile başlamalı veya desteklenen diğer ülke kodlarından biri olmalıdır.

Mesaj alınmadı → Instance'ın bağlı olduğundan emin olun (QR kod tarandı)

Başlamaya hazır mısınız?

İlk instance'ınızı saniyeler içinde oluşturun ve bugün WhatsApp üzerinden OTP göndermeye başlayın.

Nabda OTP ile Başlayın

Ücretsiz Instance Oluştur
Merhaba, size nasıl yardımcı olabiliriz?