نویدا ارسال، تأیید و پیگیری کد ورود را در یک چرخه واحد مدیریت میکند. مسیرهای پیامرسان و پیامک بهترتیب دلخواه شما اجرا میشوند و بدون تغییر در کد محصول، مسیر بعدی در زمان لازم فعال میشود.
ورود، ثبتنام و بازیابی حساب به رسیدن بهموقع کد وابسته است. وقتی همهی ارسالها از یک مسیر عبور میکنند، هزینه، اختلال سرویسدهنده و تجربهی کاربر همگی به همان مسیر گره میخورند.
OTP به مسیر جایگزین نیاز دارد تا توقف یک کانال به توقف کل فرآیند ورود تبدیل نشود.
مسیرهای کمهزینهتر میتوانند اول امتحان شوند و پیامک برای زمان لازم باقی بماند.
تیم باید بداند کدام مسیر امتحان شد، چه خطایی رخ داد و مرحله بعد چه زمانی فعال شد.
هر محصول میتواند مسیرهای ارسال خود را بهترتیب اولویت و زمان انتظار تعریف کند. تا زمانی که کاربر کدی وارد نکرده باشد، نویدا مرحلهی بعدی را با همان چرخهی تأیید دنبال میکند.
هزینه پیامک با حساب پیامک خودتان پرداخت میشود و نویدا هزینهای برای آن دریافت نمیکند.
برای حجم بالا، قرارداد اختصاصی، سقف حساب پیامرسان سفارشی، نرخ ارسال اختصاصی و پشتیبانی سازمانی.
curl -X POST https://navidaa.ir/v1/otp/send \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: login-req-9f2a6c" \ -d '{ "phone": "09123456789", "channels": ["eitaa", "bale", "sms"] }' # => {"verification_id":"550e8400-e29b-41d4-a716-446655440000","status":"queued"} curl -X POST https://navidaa.ir/v1/otp/verify \ -H "X-API-Key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "verification_id": "550e8400-e29b-41d4-a716-446655440000", "code": "123456" }' curl https://navidaa.ir/v1/otp/550e8400-e29b-41d4-a716-446655440000 \ -H "X-API-Key: YOUR_API_KEY"
import requests send = requests.post( "https://navidaa.ir/v1/otp/send", headers={ "X-API-Key": "YOUR_API_KEY", "Idempotency-Key": "login-req-9f2a6c", }, json={ "phone": "09123456789", "channels": ["eitaa", "bale", "sms"], }, ) verification_id = send.json()["verification_id"] verify = requests.post( "https://navidaa.ir/v1/otp/verify", headers={"X-API-Key": "YOUR_API_KEY"}, json={"verification_id": verification_id, "code": "123456"}, ) status = requests.get( f"https://navidaa.ir/v1/otp/{verification_id}", headers={"X-API-Key": "YOUR_API_KEY"}, ) print(verify.json(), status.json())
const headers = { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json", }; const send = await fetch("https://navidaa.ir/v1/otp/send", { method: "POST", headers: { ...headers, "Idempotency-Key": "login-req-9f2a6c", }, body: JSON.stringify({ phone: "09123456789", channels: ["eitaa", "bale", "sms"], }), }); const { verification_id } = await send.json(); const verify = await fetch("https://navidaa.ir/v1/otp/verify", { method: "POST", headers, body: JSON.stringify({ verification_id, code: "123456" }), }); const status = await fetch(`https://navidaa.ir/v1/otp/${verification_id}`, { headers }); console.log(await verify.json(), await status.json());
type SendResponse = { verification_id: string; status: "queued"; }; const headers = { "X-API-Key": "YOUR_API_KEY", "Content-Type": "application/json", }; const send = await fetch("https://navidaa.ir/v1/otp/send", { method: "POST", headers: { ...headers, "Idempotency-Key": "login-req-9f2a6c", }, body: JSON.stringify({ phone: "09123456789", channels: ["eitaa", "bale", "sms"], }), }); const data = (await send.json()) as SendResponse; await fetch("https://navidaa.ir/v1/otp/verify", { method: "POST", headers, body: JSON.stringify({ verification_id: data.verification_id, code: "123456" }), }); await fetch(`https://navidaa.ir/v1/otp/${data.verification_id}`, { headers });
هر ارسال، فالبک، ورود کد، تأیید، انقضا و خطا در یک تایملاین قابل بررسی ثبت میشود.
تیم فنی میتواند مسیر ارسال و تأیید را قبل از اتصال production با سندباکس و درخواست تست بررسی کند.
رویدادهای ارسال، تأیید، خطا و انقضا با امضای قابل راستیآزمایی به سامانه شما ارسال میشوند.
کلیدهای پیامک و پیامرسان رمزنگاری میشوند و هر حساب با برچسب، وضعیت و محدودیت جداگانه مدیریت میشود.
حسابهای مورد استفاده برای ارسال در پنل ثبت میشوند. ترتیب ارسال در هر درخواست یا از صفحه مسیر قابل تنظیم است.
کلید اتصال را در محیط امن محصول خود نگه دارید؛ امکان غیرفعالسازی و ساخت کلید جدید در هر زمان وجود دارد.
سامانهی شما چرخهی ارسال و تأیید را از طریق API و در کنار داشبورد مدیریت میکند و وضعیتها از تاریخچه یا وبهوک قابل پیگیری هستند.
هر چرخه رمز یکبارمصرف از شروع تا نتیجه نهایی قابل مشاهده و تحلیل است.
ارسال موفق، ارسال ناموفق، تأیید و انقضا میتوانند خودکار به آدرس شما اطلاع داده شوند.
داشبورد نشان میدهد کدام حساب استفاده شد، چه خطایی رخ داد و کاربر چه زمانی کد را تأیید کرد.
پلن شروع، سیاست ارسال قابل کنترل و اولین چرخه OTP واقعی از پنل نویدا در دسترس است.
برای سوالهای فنی، همکاری، پایلوت یا هر موضوع مرتبط با نویدا، از مسیرهای زیر با تیم ما در ارتباط باشید.