קודי אימות (OTP)
שליחה ואימות של קוד חד-פעמי ב-SMS בלי לכתוב לוגיקת OTP. הקוד נוצר, נשמר ונבדק אצלנו — הוא לא מוחזר אליכם ולא נשמר אצלכם.
שליחה
bash
curl -X POST https://smsprovider-web.vercel.app/api/v1/otp/send \
-H "Authorization: Bearer $BATLER_API_KEY" -H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"to": "0501234567", "app_id": "login", "valid_minutes": 5, "text": "קוד הכניסה שלך ל-MyBrand: [code]"}'| שדה | ברירת מחדל | הערות |
|---|---|---|
to | — | נייד ישראלי בלבד |
app_id | default | מפריד בין זרימות (כניסה, אישור תשלום…). לכל app_id קוד פעיל משלו |
valid_minutes | 5 | 1–15 |
max_tries | 3 | 3–5 ניסיונות שגויים ואז הקוד נפסל |
text | "קוד האימות שלך: [code]" | חייב לכלול [code] |
from | שולח ברירת המחדל | שולח מאומת |
התשובה: { "session_id", "expires_at" }. עלות: קרדיט אחד לשליחה; האימות חינם.
אימות
ts
const { verified, tries_left } = await sms.otp.verify({ to: "0501234567", code: userInput, app_id: "login" });
if (!verified) showError(`קוד שגוי, נותרו ${tries_left} ניסיונות`);מגבלות והגנות
- עד 3 קודים לאותו טלפון ב-10 דקות ועד 10 בשעה לכל חשבון. חריגה מחזירה 429
otp_rate_limited. - אל תנסו שוב אוטומטית קריאת
verify— כל קריאה נספרת כניסיון. - אירועי webhook:
otp.verified,otp.failed. - ערוץ: SMS בלבד.