Key Takeways
هذا هو الدليل للمطورين لدمج واجهة برمجة تطبيقات التحقق من OTP عبر الرسائل القصيرة في الولايات المتحدة الأمريكية في عام 2026 باستخدام Message Central VerifyNow. اشترك، أنشئ رمز مصادقة، أرسل كلمة مرور لمرة واحدة (OTP)، وتحقق منها - كل ذلك في أقل من 30 دقيقة مع 1,000 رصيد مجاني. أمثلة الأكواد أدناه جاهزة للإنتاج بلغات Node.js و Python و Java و Go و PHP و C#، مع استدعاءات cURL حقيقية، وحمولات الطلب والاستجابة، وضوابط 10DLC و TCPA والاحتيال عبر ضخ الرسائل القصيرة التي تحتاجها كل عملية دمج للتحقق من OTP عبر الرسائل القصيرة المتوافقة مع الولايات المتحدة.
لمزيد من السياق، اطلع على مركز خدمة التحقق من OTP عبر الرسائل القصيرة في الولايات المتحدة الأمريكية، و مقارنة أفضل مزودي خدمة التحقق من OTP عبر الرسائل القصيرة في الولايات المتحدة الأمريكية، و مقارنة مباشرة بين VerifyNow و Twilio Verify.
إجابة سريعة: كيف أقوم بتطبيق واجهة برمجة تطبيقات التحقق من OTP عبر الرسائل القصيرة في الولايات المتحدة الأمريكية؟
في عام 2026، أسرع طريقة لتطبيق واجهة برمجة تطبيقات التحقق من OTP عبر الرسائل القصيرة للولايات المتحدة الأمريكية هي الاشتراك في Message Central VerifyNow، والمطالبة بالاعتمادات المجانية، واستخدام ثلاث نقاط نهاية REST: أنشئ رمز مصادقة على /auth/v1/authentication/token، وأرسل كلمة المرور لمرة واحدة (OTP) على /verification/v3/send، والتحقق من رمز المستخدم على /verification/v3/validateOtp. عنوان URL الأساسي هو https://cpaas.messagecentral.com. يتراوح وقت التكامل الشامل من 2 إلى 4 ساعات عمل هندسية، بما في ذلك توجيه 10DLC المعتمد مسبقًا، والحصول على الموافقة المتوافقة مع TCPA، والحماية من احتيال ضخ الرسائل القصيرة، والحلول البديلة متعددة القنوات. لا يلزم تسجيل علامة تجارية أو حملة TCR عند الإطلاق على المسار المشترك المعتمد مسبقًا - يمكنك إرسال أول تحقق متوافق لمرة واحدة عبر الرسائل القصيرة (OTP) في أقل من 5 دقائق من التسجيل.
ما هي واجهة برمجة تطبيقات التحقق من OTP عبر الرسائل القصيرة؟
إن واجهة برمجة تطبيقات التحقق من OTP عبر الرسائل القصيرة (SMS OTP Verification API) هي نقطة نهاية REST تتيح لتطبيقك إرسال كلمة مرور لمرة واحدة (OTP) إلى رقم هاتف المستخدم المحمول ثم التحقق من الرمز الذي يدخله المستخدم مرة أخرى في تطبيقك. إنها أساس التحقق من رقم الهاتف، وتأكيد التسجيل، وكلمة المرور لمرة واحدة لتسجيل الدخول، وإعادة تعيين كلمة المرور، والتحقق من الدفع، و تدفقات المصادقة الثنائية (2FA). توفر واجهة برمجة تطبيقات التحقق من الرسائل القصيرة VerifyNow من Message Central ثلاث نقاط نهاية (رمز، إرسال، تحقق)، وتتعامل مع الاتصال المباشر لشركات الاتصالات 10DLC إلى Verizon وAT&T وT-Mobile وUS Cellular، وتجمع بين معالجة الكلمات الرئيسية لإلغاء الاشتراك المتوافقة مع TCPA بالإضافة إلى الحماية من احتيال ضخ الرسائل القصيرة دون تكلفة إضافية.
لماذا تختار VerifyNow كمنصة للتحقق من OTP عبر الرسائل القصيرة في الولايات المتحدة الأمريكية؟
تم تصميم VerifyNow USA خصيصًا لعمليات النشر السريعة، للتحقق من OTP عبر الرسائل القصيرة المتوافق في الولايات المتحدة.
- ابدأ في أقل من 5 دقائق على مسارات 10DLC المشتركة المعتمدة مسبقًا - لا داعي للانتظار من 2 إلى 6 أسابيع لتسجيل العلامة التجارية والحملة لدى The Campaign Registry.
- رصيد مجاني للتحقق من OTP عبر الرسائل القصيرة عند التسجيل دون الحاجة إلى بطاقة ائتمان.
- اتصال 10DLC مباشر إلى Verizon و AT&T و T-Mobile و US Cellular بمعدلات تسليم تزيد عن 99 بالمائة.
- امتثال TCPA مدمج - معالجة تلقائية للكلمات المفتاحية STOP و END و CANCEL و UNSUBSCRIBE و QUIT و HELP، وواجهة برمجة تطبيقات لالتقاط الموافقة، وتكامل قاعدة بيانات الأرقام المعاد تخصيصها.
- حماية من احتيال ضخ الرسائل القصيرة متضمنة بدون تكلفة إضافية (حدود السرعة، سمعة الرقم، السرعة الجغرافية) - لا يوجد رمز SKU منفصل لـ Fraud Guard مثل Twilio.
- حل بديل متعدد القنوات مدمج: الرسائل القصيرة، OTP عبر واتساب، الصوت، والبريد الإلكتروني مع مصفوفة preferredMethods واحدة.
- تسعير شفاف متدرج حسب الحجم من 0.005 دولار إلى 0.0088 دولار لكل OTP يتم تسليمه، مع رسوم إضافية من شركات الاتصالات مدمجة في السعر الأساسي.
- صديق للمطورين مع واجهات برمجة تطبيقات REST، وحزم تطوير برمجيات (SDKs) بلغات Node.js و Python و Java و PHP و Ruby و C# و Go، ووثائق واضحة.
المتطلبات المسبقة قبل دمج واجهة برمجة تطبيقات التحقق عبر الرسائل القصيرة
- حساب مجاني في Message Central (رابط التسجيل أدناه)
- معرف العميل الخاص بك (customerId) (يتم توفيره بعد التسجيل)
- كلمة مرور حسابك مشفرة بـ Base64 لاستخدامها كمفتاح API
- رقم هاتف محمول اختباري موجه للولايات المتحدة (بتنسيق E.164 بدون علامة الجمع، رمز الدولة 1)
- عميل HTTP بلغتك المفضلة (مثل axios، requests، OkHttp، net/http، إلخ.)
- للإنتاج: سياسة الخصوصية الخاصة بك وتجربة المستخدم لموافقة TCPA مدمجة في سير عمل التسجيل أو الدفع الخاص بك
الخطوة 1: سجل واحصل على أرصدة مجانية للتحقق من الرسائل القصيرة OTP
اذهب إلى console.messagecentral.com/signup وأنشئ حسابك المجاني. تستغرق استمارة التسجيل من 2 إلى 3 دقائق. بعد التسجيل، ستتلقى customerId في لوحة تحكم Message Central، وسيتم منحك رصيدًا مجانيًا للتحقق من الهوية عبر الرسائل القصيرة (OTP) دون الحاجة إلى بطاقة ائتمان. استخدم هذا الرصيد لاختبار تدفق واجهة برمجة تطبيقات التحقق عبر الرسائل القصيرة بالكامل قبل الانتقال إلى مرحلة الإنتاج.
لمعرفة الأسعار بعد الطبقة المجانية، راجع دليلنا دليل أسعار التحقق من الهوية عبر الرسائل القصيرة (OTP) في الولايات المتحدة الأمريكية.
الخطوة 2: إنشاء رمز مصادقة (Auth Token)
تتطلب كل مكالمة لواجهة برمجة تطبيقات التحقق عبر الرسائل القصيرة بعد هذه النقطة authToken في ترويسة الطلب. تقوم بإنشاء الرمز مرة واحدة وتحديثه عند انتهائه.
نقطة نهاية إنشاء الرمز
GET https://cpaas.messagecentral.com/auth/v1/authentication/token
معلمات الاستعلام
- customerId (سلسلة نصية، مطلوب) - معرف عميلك في Message Central
- key (سلسلة نصية، مطلوب) - كلمة مرور حسابك، مشفرة بـ Base64
- النطاق (سلسلة نصية، اختياري) - استخدم
NEWلتوليد الرمز المميز لأول مرة - الدولة (سلسلة نصية، اختياري) - رمز الدولة الافتراضي لتسليم OTP؛ استخدم
1للولايات المتحدة الأمريكية - البريد الإلكتروني (سلسلة نصية، اختياري) - بريدك الإلكتروني المسجل
مثال cURL
curl --location 'https://cpaas.messagecentral.com/auth/v1/authentication/token?customerId=YOUR_CUSTOMER_ID&key=YOUR_BASE64_PASSWORD&scope=NEW&country=1&email=you@example.com' --header 'accept: */*'
استجابة JSON
{
"status": 200,
"token": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJDLTMzNDMyQTVGNDIGNzQwNCI6ImIhdCI6MTcxMjExOTA0MCwiZXhwIjo..."
}
مثال Node.js (axios)
import axios from 'axios';
const customerId = process.env.MC_CUSTOMER_ID;
const key = Buffer.from(process.env.MC_PASSWORD).toString('base64');
const tokenResponse = await axios.get(
'https://cpaas.messagecentral.com/auth/v1/authentication/token',
{
params: { customerId, key, scope: 'NEW', country: '1', email: process.env.MC_EMAIL },
headers: { accept: '*/*' }
}
);
const authToken = tokenResponse.data.token;
مثال Python (requests)
import os, base64, requests
customer_id = os.environ['MC_CUSTOMER_ID']
key = base64.b64encode(os.environ['MC_PASSWORD'].encode()).decode()
resp = requests.get(
'https://cpaas.messagecentral.com/auth/v1/authentication/token',
params={'customerId': customer_id, 'key': key, 'scope': 'NEW', 'country': '1', 'email': os.environ['MC_EMAIL']},
headers={'accept': '*/*'}
)
auth_token = resp.json()['token']
مثال جافا (OkHttp)
import okhttp3.*;
import java.util.Base64;
OkHttpClient client = new OkHttpClient();
String key = Base64.getEncoder().encodeToString(System.getenv("MC_PASSWORD").getBytes());
HttpUrl url = HttpUrl.parse("https://cpaas.messagecentral.com/auth/v1/authentication/token")
.newBuilder()
.addQueryParameter("customerId", System.getenv("MC_CUSTOMER_ID"))
.addQueryParameter("key", key)
.addQueryParameter("scope", "NEW")
.addQueryParameter("country", "1")
.addQueryParameter("email", System.getenv("MC_EMAIL"))
.build();
Request request = new Request.Builder().url(url).header("accept", "*/*").get().build();
Response response = client.newCall(request).execute();
String authToken = new org.json.JSONObject(response.body().string()).getString("token");
مثال Go (net/http)
package main
import (
"encoding/base64"
"encoding/json"
"net/http"
"net/url"
"os"
)
func getToken() (string, error) {
key := base64.StdEncoding.EncodeToString([]byte(os.Getenv("MC_PASSWORD")))
params := url.Values{}
params.Add("customerId", os.Getenv("MC_CUSTOMER_ID"))
params.Add("key", key)
params.Add("scope", "NEW")
params.Add("country", "1")
params.Add("email", os.Getenv("MC_EMAIL"))
req, _ := http.NewRequest("GET", "https://cpaas.messagecentral.com/auth/v1/authentication/token?"+params.Encode(), nil)
req.Header.Set("accept", "*/*")
resp, err := http.DefaultClient.Do(req)
if err != nil { return "", err }
defer resp.Body.Close()
var result struct { Token string `json:"token"` }
json.NewDecoder(resp.Body).Decode(&result)
return result.Token, nil
}
الخطوة 3: إرسال رمز التحقق لمرة واحدة (OTP) عبر الرسائل القصيرة
بمجرد حصولك على رمز المصادقة، يمكنك الآن إرسال رمز OTP إلى رقم هاتف أمريكي عبر واجهة برمجة تطبيقات التحقق عبر الرسائل القصيرة.
نقطة نهاية إرسال رمز OTP
POST https://cpaas.messagecentral.com/verification/v3/send
معلمات الاستعلام
- countryCode (سلسلة نصية، مطلوب) - استخدم
1للأرقام الأمريكية - mobileNumber (سلسلة نصية، مطلوب) - رقم الهاتف المحمول الأمريكي المكون من 10 أرقام، بدون بادئة رمز الدولة، بدون شرطات
- flowType (سلسلة نصية، مطلوب) - استخدم
SMSللتحقق من OTP عبر الرسائل القصيرة؛ الخيارات الأخرى هيواتساب،RCS، أوSAUTH - otpLength (عدد صحيح، اختياري) - أي قيمة بين 4 و 8؛ القيمة الافتراضية هي 4
الرأس المطلوب
- authToken - الرمز المميز من الخطوة 2
مثال cURL
curl --location --request POST 'https://cpaas.messagecentral.com/verification/v3/send?countryCode=1&flowType=SMS&mobileNumber=5551234567&otpLength=6' --header 'authToken: YOUR_AUTH_TOKEN'
استجابة JSON
{
"responseCode": 200,
"message": "SUCCESS",
"data": {
"verificationId": "9876543210",
"رقم الجوال": "5551234567",
"رمز الاستجابة": "200",
"رسالة الخطأ": null,
"مهلة": "60",
"smCLI": null,
"معرف المعاملة": "TXN-ABC123"
}
}
احفظ الـ معرف التحقق الذي يتم إرجاعه في الاستجابة - ستحتاجه في الخطوة 4 للتحقق من الرمز الذي يدخله المستخدم في تطبيقك.
مثال Node.js
const sendResponse = await axios.post(
'https://cpaas.messagecentral.com/verification/v3/send',
null,
{
params: { countryCode: '1', flowType: 'SMS', mobileNumber: '5551234567', otpLength: 6 },
headers: { authToken: authToken }
}
);
const verificationId = sendResponse.data.data.verificationId;
مثال بايثون
resp = requests.post(
'https://cpaas.messagecentral.com/verification/v3/send',
params={'countryCode': '1', 'flowType': 'SMS', 'mobileNumber': '5551234567', 'otpLength': 6},
headers={'authToken': auth_token}
)
verification_id = resp.json()['data']['verificationId']
مثال جافا
HttpUrl sendUrl = HttpUrl.parse("https://cpaas.messagecentral.com/verification/v3/send")
.newBuilder()
.addQueryParameter("countryCode", "1")
.addQueryParameter("flowType", "SMS")
.addQueryParameter("mobileNumber", "5551234567")
.addQueryParameter("otpLength", "6")
.build();
Request sendReq = new Request.Builder().url(sendUrl).header("authToken", authToken).post(RequestBody.create(new byte[0])).build();
Response sendResp = client.newCall(sendReq).execute();
String verificationId = new org.json.JSONObject(sendResp.body().string()).getJSONObject("data").getString("verificationId");
مثال Go
params := url.Values{}
params.Add("countryCode", "1")
params.Add("flowType", "SMS")
params.Add("mobileNumber", "5551234567")
params.Add("otpLength", "6")
req, _ := http.NewRequest("POST", "https://cpaas.messagecentral.com/verification/v3/send?"+params.Encode(), nil)
req.Header.Set("authToken", authToken)
resp, _ := http.DefaultClient.Do(req)
var sendResult struct { Data struct { VerificationId string `json:"verificationId"` } `json:"data"` }
json.NewDecoder(resp.Body).Decode(&sendResult)
verificationId := sendResult.Data.VerificationId
الخطوة 4: التحقق من رمز OTP الذي أدخله المستخدم
بعد أن يُدخل المستخدم رمز OTP في نموذج التسجيل الخاص بك، استدعِ نقطة نهاية التحقق لتأكيد صحة الرمز.
نقطة نهاية التحقق من رمز OTP
GET https://cpaas.messagecentral.com/verification/v3/validateOtp
معلمات الاستعلام
- verificationId (طويل، مطلوب) - معرف التحقق الذي تم إرجاعه بواسطة نقطة نهاية الإرسال
- code (سلسلة نصية، مطلوب) - رمز OTP الذي أدخله المستخدم في تطبيقك
- langId (سلسلة نصية، اختياري) - معرف اللغة؛ الإنجليزية هي الافتراضية
- flowType (سلسلة نصية، اختياري) - نفس نوع التدفق (flowType) الذي استخدمته في استدعاء الإرسال
رأس مطلوب
- authToken - نفس الرمز المميز من الخطوة 2
مثال cURL
curl --location 'https://cpaas.messagecentral.com/verification/v3/validateOtp?verificationId=9876543210&code=143256' --header 'authToken: YOUR_AUTH_TOKEN'
استجابة JSON
{
"responseCode": 200,
"message": "SUCCESS",
"data": {
"verificationId": "9876543210",
"mobileNumber": "5551234567",
"responseCode": "200",
"errorMessage": null,
"verificationStatus": "VERIFICATION_COMPLETED",
"authToken": null,
"transactionId": "TXN-ABC123"
}
}
عندما حالة التحقق تساوي VERIFICATION_COMPLETED، يكون المستخدم قد تم التحقق منه. قم بإصدار رمز الجلسة الخاص بك أو انتقل إلى الخطوة التالية في عملية التسجيل الخاصة بك.
مثال على التحقق باستخدام بايثون
resp = requests.get(
'https://cpaas.messagecentral.com/verification/v3/validateOtp',
params={'verificationId': verification_id, 'code': user_entered_code},
headers={'authToken': auth_token}
)
result = resp.json()
if result['data']['verificationStatus'] == 'VERIFICATION_COMPLETED':
grant_session(user)
else:
show_otp_error()
مثال عملي كامل: التسجيل مع التحقق عبر رسالة نصية قصيرة (OTP) في Node.js
import axios from 'axios';
const BASE = 'https://cpaas.messagecentral.com';
const customerId = process.env.MC_CUSTOMER_ID;
const key = Buffer.from(process.env.MC_PASSWORD).toString('base64');
// 1. الحصول على رمز المصادقة (التخزين المؤقت لمدة 24 ساعة تقريبًا لكل مدة صلاحية للرمز)
async function getAuthToken() {
const { data } = await axios.get(`${BASE}/auth/v1/authentication/token`, {
params: { customerId, key, scope: 'NEW', country: '1', email: process.env.MC_EMAIL }
});
return data.token;
}
// 2. إرسال التحقق من كلمة المرور لمرة واحدة (OTP) عبر الرسائل القصيرة
export async function sendOtp(mobileNumber) {
const authToken = await getAuthToken();
const { data } = await axios.post(
`${BASE}/verification/v3/send`,
null,
{
params: { countryCode: '1', flowType: 'SMS', mobileNumber, otpLength: 6 },
headers: { authToken }
}
);
return { verificationId: data.data.verificationId, transactionId: data.data.transactionId };
}
// 3. التحقق من صحة كلمة المرور لمرة واحدة (OTP) التي أدخلها المستخدم
export async function validateOtp(verificationId, code) {
const authToken = await getAuthToken();
const { data } = await axios.get(
`${BASE}/verification/v3/validateOtp`,
{
params: { verificationId, code },
headers: { authToken }
}
);
return data.data.verificationStatus === 'VERIFICATION_COMPLETED';
}
// مثال لمسار التسجيل
app.post('/signup/send-otp', async (req, res) => {
const { mobile } = req.body;
const { verificationId } = await sendOtp(mobile);
req.session.verificationId = verificationId;
res.json({ ok: true });
});
app.post('/signup/verify-otp', async (req, res) => {
const { code } = req.body;
const ok = await validateOtp(req.session.verificationId, code);
if (ok) {
createUserAccount(req.session);
res.json({ ok: true });
} else {
res.status(401).json({ ok: false, error: 'رمز التحقق لمرة واحدة (OTP) عبر الرسائل القصيرة غير صالح' });
}
});
معالجة الأخطاء ورموز الاستجابة
تُرجع واجهة برمجة تطبيقات التحقق عبر الرسائل القصيرة (SMS) من Message Central رموز الاستجابة التالية. ابنِ معالجة الأخطاء الخاصة بك بناءً على هذه الرموز.
- 200 - نجاح - اكتملت العملية بشكل طبيعي؛ تابع
- 400 - طلب خاطئ - تحقق من معلمات الاستعلام والرؤوس الخاصة بك
- 409 - مورد مكرر - عملية تحقق مماثلة موجودة بالفعل؛ أعد استخدام معرف التحقق الحالي
- 500 - خطأ في الخادم - أعد المحاولة باستخدام تراجع أسي
- 501 - معرف العميل غير صالح - تحقق من معرف العميل الخاص بك في لوحة تحكم Message Central
- 505 - معرف التحقق غير صالح - معرف التحقق خاطئ أو منتهي الصلاحية
- 506 - الطلب موجود بالفعل - إرسال مكرر؛ انتظر انتهاء المهلة قبل إعادة المحاولة
- 511 - رمز الدولة غير صالح - تحقق من معلمة countryCode (استخدم 1 للولايات المتحدة الأمريكية)
- 700 - فشل التحقق - فشل عام في التحقق؛ راجع سجلات النظام اللاحقة
- 702 - تم تقديم رمز OTP خاطئ - أدخل المستخدم رمزًا خاطئًا؛ اسمح بإعادة المحاولة
- 703 - تم التحقق بالفعل - معرف التحقق هذا تم التحقق منه بالفعل؛ لا تمنح الجلسة بشكل مزدوج
- 705 - انتهت صلاحية التحقق - انتهت مهلة رمز OTP (الافتراضي 60 ثانية)؛ ابدأ إرسالًا جديدًا
- 800 - تم الوصول إلى الحد الأقصى - تم تجاوز حد المعدل لكل مستلم أو لكل حساب؛ يرجى التراجع
الامتثال في الولايات المتحدة الأمريكية: 10DLC و TCPA
يخضع إرسال رسائل التحقق من كلمة المرور لمرة واحدة (OTP) عبر الرسائل النصية القصيرة إلى أرقام الهواتف المحمولة الأمريكية لمتطلبات 10DLC الخاصة بشركات الاتصالات و قواعد TCPA الفيدرالية الصادرة عن لجنة الاتصالات الفيدرالية (FCC). تتيح لك مسارات 10DLC المشتركة والمعتمدة مسبقًا من VerifyNow بدء الإرسال في أقل من 5 دقائق دون الحاجة إلى سجل الحملات (TCR) علامة تجارية وحملة مصادقة ثنائية (2FA) خاصة بك. عندما يزداد حجم عملك، يقوم فريق الكونسيرج في VerifyNow بنقلك إلى علامة تجارية وحملة مخصصة دون أي توقف.
يتطلب التحقق من كلمة المرور لمرة واحدة (OTP) عبر الرسائل النصية القصيرة المتوافق مع TCPA في عام 2026 ما يلي: حدث موافقة مسجل مع الطابع الزمني والمصدر ولغة الموافقة الدقيقة؛ معالجة الكلمات المفتاحية STOP/HELP (تلقائيًا مع VerifyNow)؛ البحث في قاعدة بيانات الأرقام المعاد تخصيصها وقت الإرسال (مفتاح تبديل مدمج في VerifyNow)؛ وسجل تدقيق لكل حدث تحقق. للحصول على التفاصيل الكاملة، راجع دليل 10DLC للتحقق من كلمة المرور لمرة واحدة (OTP) عبر الرسائل النصية القصيرة في الولايات المتحدة الأمريكية و دليل واجهة برمجة التطبيقات (API) للتحقق من كلمة المرور لمرة واحدة (OTP) عبر الرسائل النصية القصيرة المتوافق مع TCPA.
الحماية من احتيال ضخ الرسائل النصية القصيرة
يُعد احتيال ضخ الرسائل النصية القصيرة، حيث يقوم المهاجمون بإطلاق سيول من رسائل التحقق من كلمة المرور لمرة واحدة (OTP) عبر الرسائل النصية القصيرة إلى وجهات عالية التكلفة للحصول على عمولات شركات الاتصالات، بند تكلفة ماديًا لتدفقات تسجيل المستهلكين. تتضمن واجهة برمجة تطبيقات التحقق من الرسائل النصية القصيرة (SMS Verification API) من VerifyNow حماية من الاحتيال دون تكلفة إضافية: حدود السرعة لكل هاتف، ولكل عنوان IP، ولكل مسار، ولكل جلسة؛ تسجيل سمعة الأرقام مقابل قاعدة بيانات عالمية لأرقام المصدر المعروفة بالضخ؛ فحوصات السرعة الجغرافية لأنماط السفر المستحيلة؛ وتحديثات مجموعة القواعد التي يتم شحنها تلقائيًا مع تغير مشهد التهديدات. تفرض Twilio رسومًا على Verify Fraud Guard كإضافة منفصلة؛ بينما VerifyNow تدمجها. للحصول على دليل التشغيل، راجع دليل حماية ضخ الرسائل النصية القصيرة في الولايات المتحدة الأمريكية.
قائمة التحقق من جاهزية الإنتاج
- انقل البيانات السرية (customerId, password, email) إلى متغيرات البيئة أو مدير الأسرار - لا تضمنها في الكود بشكل ثابت أبدًا
- خزّن رمز المصادقة مؤقتًا في الذاكرة أو Redis وقم بتحديثه عند استجابات 401
- اضبط
otpLength=6للإنتاج (القيمة الافتراضية 4 قصيرة جدًا للتدفقات عالية الثقة) - سجل
verificationIdوtransactionIdجنبًا إلى جنب مع معرف المستخدم لتسهيل تتبع تذاكر الدعم - ادمج عملية الحصول على الموافقة في تجربة المستخدم للتسجيل الخاصة بك مع لغة موافقة صريحة (انظر قسم TCPA أعلاه)
- طبق التراجع الأسي لأخطاء 500 وحدد عدد محاولات إعادة المحاولة من جانب المستخدم لأخطاء 702
- حدد 3 محاولات إرسال كحد أقصى لكل جلسة لردع إساءة استخدام ضخ الرسائل القصيرة
- أضف تحديد معدل من جانب الخادم في طبقة التطبيق الخاصة بك بالإضافة إلى حدود السرعة الخاصة بـ VerifyNow
- قم بتكوين خيار الرجوع إلى OTP عبر واتساب للعملاء في الشرائح التي تستخدم واتساب بكثرة عن طريق تعيين flowType إلى WHATSAPP عند إعادة المحاولة
- قم بإعداد التنبيهات على رموز الاستجابة 500 و 800 و 705 لاكتشاف أنماط الانقطاع وسوء الاستخدام مبكرًا
استكشاف المشكلات الشائعة وإصلاحها
رمز OTP لا يصل أبدًا
تحقق من سلامة مسار 10DLC في لوحة تحكم Message Central، وتحقق من تنسيق mobileNumber (10 أرقام بدون بادئة رمز الدولة)، وتأكد أن المستلم لم يقم بإلغاء الاشتراك مسبقًا عن طريق إرسال STOP. إذا كنت لا تزال تستخدم مفتاح API تجريبي (sandbox)، فتأكد أن رقم الهاتف المحمول للمستلم موجود في قائمة السماح الخاصة ببيئة الاختبار (sandbox) لديك.
استدعاء validateOtp يُرجع 702 WRONG_OTP_PROVIDED
أخطأ المستخدم في كتابة الرمز أو قام بنسخ ولصق مسافة إضافية. قم بإزالة المسافات البيضاء من جانب العميل قبل إرسال الرمز. إذا استمرت المشكلة لمستخدم واحد، اطلب منه طلب إرسال جديد (هذا يولد معرف تحقق جديدًا).
تعيد استدعاء الإرسال 506 REQUEST_ALREADY_EXISTS
يوجد إرسال معلق بالفعل لهذا الرقم المحمول. انتظر حتى انتهاء المهلة (60 ثانية افتراضيًا) قبل إعادة المحاولة، أو استعلم عن معرف التحقق السابق من قاعدة بيانات تطبيقك.
تعيد استدعاء الرمز المميز خطأ في المصادقة
السبب الأكثر شيوعًا هو نسيان ترميز كلمة المرور باستخدام Base64. استخدم مشفر Base64 الخاص بالمكتبة القياسية للغتك. لا تقم بترميز URL لكلمة المرور المشفرة في سلسلة الاستعلام مرة ثانية - سيتولى عميل HTTP الخاص بك ترميز URL نيابة عنك.
الأسئلة الشائعة للمطورين في الولايات المتحدة الأمريكية
كم يستغرق دمج واجهة برمجة تطبيقات التحقق من كلمة المرور لمرة واحدة (OTP) عبر الرسائل القصيرة (SMS) من VerifyNow؟
يستغرق الدمج الشامل لتدفق التسجيل باستخدام كلمة المرور لمرة واحدة (OTP) النموذجي من 2 إلى 4 ساعات هندسية بما في ذلك الاختبار. عبر مسار 10DLC المشترك والموافق عليه مسبقًا، يمكنك إرسال أول تحقق متوافق من كلمة المرور لمرة واحدة عبر الرسائل القصيرة في الولايات المتحدة في أقل من 5 دقائق من التسجيل.
هل أحتاج إلى تسجيل علامة تجارية وحملة TCR للبدء؟
لا. يتيح لك مسار 10DLC المشترك والموافق عليه مسبقًا من VerifyNow البدء في الإرسال فورًا. عندما يتطلب حجمك الشهري الانتقال إلى علامة تجارية مخصصة وحملة مصادقة ثنائية (2FA)، يتولى فريق خدمة العملاء في VerifyNow تسجيل TCR نيابة عنك.
ما هي تكلفة واجهة برمجة تطبيقات التحقق من كلمة المرور لمرة واحدة (OTP) عبر الرسائل القصيرة (SMS) في الولايات المتحدة الأمريكية؟
تفرض VerifyNow USA رسومًا تتراوح بين 0.005 دولار و 0.0088 دولار لكل كلمة مرور لمرة واحدة (OTP) يتم تسليمها على أساس حجمي متدرج، مع تضمين رسوم شركات الاتصالات وحماية الاحتيال من ضخ الرسائل القصيرة في السعر الأساسي. أول 1000 كلمة مرور لمرة واحدة مجانية. للاطلاع على نموذج التكلفة المفصل، راجع دليلنا دليل تسعير التحقق من كلمة المرور لمرة واحدة (OTP) عبر الرسائل القصيرة (SMS) في الولايات المتحدة الأمريكية.
هل يمكنني استخدام نفس واجهة برمجة تطبيقات التحقق عبر الرسائل القصيرة (SMS) كخيار احتياطي لكلمة المرور لمرة واحدة (OTP) عبر واتساب؟
نعم. قم بتغيير flowType المعامل إلى WHATSAPP في استدعاء الإرسال. استدعاء التحقق متطابق. تدعم المنصة أيضًا أنواع تدفق RCS و SAUTH (المصادقة الصامتة) من نفس واجهة SDK.
كيف أجعل سير عمل التحقق من رمز OTP عبر الرسائل القصيرة متوافقًا مع TCPA؟
التقط حدث موافقة صريحة عندما يدخل المستخدم رقم هاتفه المحمول للتحقق، وأدرج لغة موافقة واضحة فوق زر الإرسال، وخزّن سجل الموافقة مع الطابع الزمني والمصدر، واحترم كلمات التوقف (STOP) تلقائيًا (يتعامل VerifyNow مع هذا)، وقم بتمكين مفتاح تبديل تكامل قاعدة بيانات الأرقام المعاد تخصيصها. دليل واجهة برمجة تطبيقات التحقق من رمز OTP عبر الرسائل القصيرة المتوافق مع TCPA يغطي الإطار الكامل.
بماذا يختلف VerifyNow عن Twilio Verify في الولايات المتحدة الأمريكية؟
يُطلق VerifyNow في أقل من 5 دقائق على مسارات 10DLC المعتمدة مسبقًا مقارنة بـ 2 إلى 6 أسابيع لتسجيل العلامة التجارية والحملة في TCR مع Twilio. يتم تضمين رسوم شركات الاتصالات الإضافية في السعر الأساسي في VerifyNow مقارنة بفوترتها بشكل منفصل في Twilio. تُضمّن حماية الاحتيال عبر ضخ الرسائل القصيرة (SMS pumping) دون تكلفة إضافية مقارنة بفرض رسوم عليها كمنتج منفصل (SKU) لحماية الاحتيال (Fraud Guard) في Twilio. اطلع على المقارنة الكاملة VerifyNow مقابل Twilio Verify: مقارنة مباشرة لجميع الأبعاد الـ 19.
هل لدى VerifyNow حزم تطوير برامج (SDKs) رسمية لـ Node.js و Python و Java و Go و PHP و C#؟
نعم. تغطي حزم تطوير البرامج (SDKs) الخاصة بـ VerifyNow لغات Node.js و Python و Java و PHP و Ruby و C# و Go، وكل منها يتميز بتصميم يركز على التحقق أولاً: استدعاء إرسال واحد مع تفضيلات القناة وبيانات الموافقة الوصفية، واستدعاء تحقق واحد مع الرمز ومعرف الجلسة، ومعالجة تلقائية لخطافات الويب (webhooks) لحالة التسليم.
ما هو أقصى طول لرمز OTP يدعمه VerifyNow؟
otpLength يقبل المعامل قيمًا تتراوح بين 4 و 8 أرقام. للإنتاج، نوصي بـ 6 أرقام كحد أدنى (4 هو الافتراضي ولكنه سهل الاختراق بالقوة الغاشمة لعمليات التدفق عالية الثقة). 8 مناسب لتأكيدات المعاملات عالية القيمة.
كيف يتعامل VerifyNow مع احتيال ضخ الرسائل القصيرة في الوقت الفعلي؟
تُطبق حدود السرعة لكل هاتف، ولكل عنوان IP، ولكل مسار، ولكل جلسة على كل طلب واجهة برمجة تطبيقات التحقق من الرسائل القصيرة. يتم التحقق من سمعة الرقم مقابل قاعدة بيانات عالمية لأرقام المصدر المعروفة للاحتيال عبر الضخ. تُشير السرعة الجغرافية إلى أنماط السفر المستحيلة بين الطلبات المتتالية لنفس الهوية. عندما يتجاوز مستوى المخاطرة العتبة التي قمت بتكوينها، يتم إيقاف الطلب ولا يتم إرسال أي تحقق من رمز OTP عبر الرسائل القصيرة.
الخطوات التالية
اشترك في VerifyNow الولايات المتحدة الأمريكية واحصل على 1,000 رصيد مجاني للتحقق من رمز OTP عبر الرسائل القصيرة للبدء في البناء. للحصول على سياق أوسع حول مجموعة التحقق من رمز OTP عبر الرسائل القصيرة في الولايات المتحدة الأمريكية، اطلع على مركز خدمة التحقق من رمز OTP عبر الرسائل القصيرة في الولايات المتحدة الأمريكية، الـ مقارنة أفضل مزودي خدمة التحقق بخطوة واحدة عبر الرسائل القصيرة (SMS OTP) في الولايات المتحدة الأمريكية، ومقارنة مقارنة مباشرة بين VerifyNow و Vonage Verify.

.svg%20(1).png)



