قم بوضع طلبات ترجمة المستندات المعتمدة وتتبعها برمجيًا. واجهة برمجة تطبيقات REST عبر HTTPS، يتم التحقق من صحتها باستخدام رمز مميز وتعيد بيانات JSON - مع روابط ويب موقعة لكل حدث.
curl -X POST https://www.rapidtranslate.org/api/v1/orders \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "reference=APO-10432" \
-F "source_language=Spanish" \
-F "target_language=English (US)" \
-F "translation_type=certified" \
-F "files[]=@document.pdf"
→ {
"id": "9b1c2d3e-…",
"status": "pending",
"livemode": true
} ال Rapid Translate تتيح واجهة برمجة التطبيقات (API) لتطبيقك إرسال المستندات للترجمة المعتمدة، واسترجاع أحدث المعلومات حول حالة الطلب والأسعار، واستلام الملفات النهائية - دون الحاجة إلى تدخل فريقك في عملية الدفع. وهي مصممة خصيصًا للشركات التي تقدم طلبات الترجمة نيابةً عن عملائها.
جميع الطلبات موجهة إلى https://www.rapidtranslate.org/api/v1 عبر بروتوكول HTTPS. الطلبات والاستجابات بتنسيق JSON، باستثناء عملية إنشاء الطلب، التي يتم فيها تحميل الملفات بتنسيق JSON. multipart/form-dataتُعاد جميع المبالغ على النحو التالي: سنتات عددية صحيحة بالدولار الأمريكي، وجميع الطوابع الزمنية بتوقيت UTC ISO-8601.
هل تفضل تصفح واجهة برمجة التطبيقات قبل كتابة أي كود؟ تحتوي مجموعة Postman الخاصة بنا على جميع نقاط النهاية مهيأة مسبقًا - بما في ذلك المصادقة، ونصوص الأمثلة، ومعلمات الاستعلام.
مفتاح API إلى مفتاح من إعدادات الأعمال ← مفاتيح واجهة برمجة التطبيقات.baseUrl بالنسبة لبيئتك — يتم ضبطها افتراضياً على بيئة الإنتاج.قم بمصادقة كل طلب باستخدام مفتاح API السري الخاص بك كرمز مميز، واطلب استجابة بتنسيق JSON. كلا العنوانين مطلوبان:
المصادقة: حامل مفتاح API الخاص بك، القبول: تطبيق/json يمكنك إنشاء المفاتيح وتدويرها في لوحة التحكم ضمن إعدادات الأعمال ← مفاتيح واجهة برمجة التطبيقات . تُعرض المفاتيح مرة واحدة عند إنشائها وتُخزن مشفرةً - إذا فقدت مفتاحًا، فقم بتدويره. ينتمي كل مفتاح إلى وضع واحد (الوضع الفعلي أو وضع الاختبار) ويحمل مجموعة ثابتة من النطاقات.
تتطلب كل نقطة نهاية قدرة محددة على المفتاح. المفتاح الذي يفتقر إلى النطاق المطلوب يُرجع قيمة خاطئة. 403 نطاق محظور.
| نِطَاق | المنح |
|---|---|
الطلبات: اكتب | إنشاء الطلبات والموافقة عليها |
الطلبات: اقرأ | استرجاع الطلبات وعرضها |
السعر: اقرأ | اقرأ قائمة الأسعار |
وضع الاختبار هو خاصية للمفتاح ، وليس لحسابك. يعمل مفتاح Sandbox في بيئة محاكاة كاملة، بينما يقوم مفتاح Live بوضع طلبات حقيقية قابلة للفوترة. يمكنك استخدام كليهما في الوقت نفسه.
تستخدم طلبات بيئة الاختبار نفس عمليات التحقق من الصحة، وتعيين الحقول، والتسعير الحقيقي، ولكنها تتجاوز تخزين الملفات، والتعرف الضوئي على الأحرف، والتنفيذ. عند الإنشاء، يمر طلب بيئة الاختبار تلقائيًا بدورة حياته (عملية → مكتملة)، وإطلاق نفس روابط الويب مثل الطلب المباشر، وأخيراً تسليم مستند نموذجي ثابت.
كل استجابة وخطاف ويب يحملان الوضع المباشر قم بتفعيل هذه الخاصية حتى يتمكن التكامل من إنشاء فرع دون فحص المفتاح:
الوضع المباشر: صحيح — طلب حقيقي قابل للفوترةالوضع المباشر: خطأ — صندوق الاختبار / طلب تجريبييتم تحديد عدد الطلبات المسموح بها لكل مؤسسة. الحد الافتراضي هو 120 طلبًا في الدقيقةتجاوز هذا الحد يؤدي إلى إرجاع 429 معدل محدودأعد المحاولة بعد فترة توقف قصيرة. إذا كانت عملية التكامل لديك تتطلب حدًا أعلى، فاتصل بنا. support@rapidtranslate.org.
كل استجابة ناجحة تغلف حمولتها في بيانات مفتاح. أضف نقاط النهاية المدرجة ميتا كتلة مع ترقيم الصفحات.
{
"data": {
"id": "9b1c...-uuid",
"reference": "APO-10432",
"status": "processing",
"total": 11270,
"currency": "USD"
}
} {
"data": [ ... ],
"meta": {
"current_page": 1,
"per_page": 25,
"total": 134,
"last_page": 6
}
} تستخدم الأخطاء رموز حالة HTTP القياسية وتعيد بيانات مستقرة وقابلة للقراءة آليًا رمز الخطأ إلى جانب رسالة بشرية. تضيف أخطاء التحقق حقلًا مُفهرسًا أخطاء هدف.
{
"message": "The given data was invalid.",
"error_code": "validation_failed",
"errors": {
"source_language": ["The selected source language is invalid."]
}
} | HTTP | رمز الخطأ | معنى |
|---|---|---|
| 400 | اقتراح غير جيد | نص الطلب غير صحيح |
| 401 | غير موثق | مفتاح مفقود أو غير صالح أو ملغي |
| 402 | فشل الدفع | تمت الموافقة على الطلب ولكن تعذر تحصيل الدفعة |
| 402 | رصيد الائتمان | تجاوز الطلب الحد الائتماني الخاص بك |
| 403 | نطاق محظور | يفتقر المفتاح إلى النطاق المطلوب |
| 403 | تم تعليق الحساب | تم تعليق عمل المنظمة بسبب فواتير غير مدفوعة |
| 404 | غير موجود | لا يوجد مثل هذا الأمر لهذه المنظمة |
| 409 | مرجع مكرر | تمت إعادة استخدام المرجع لطلب مختلف |
| 409 | غير بانتظار الموافقة | الطلب لا ينتظر موافقتك |
| 422 | فشل التحقق من الصحة | الحقول المفقودة أو غير الصالحة |
| 429 | معدل محدود | تم تجاوز الحد الأقصى للسعر |
| 500 | خطأ في الخادم | خطأ غير متوقع في الخادم |
| 503 | فشلت المعالجة | فشلت عمليات المعالجة اللاحقة (التعرف الضوئي على الأحرف / التسعير). |
طلب حالة تتبع دورة حياة مستقرة. هذه القيم الخمس هي أيضاً القيم المقبولة من قبل حالة تفعيل الفلتر قائمة الطلبات:
| حالة | معنى |
|---|---|
قيد الانتظار | تم الاستلام؛ لم يتم الانتهاء من التسعير بعد. المجموع ربما باطل. |
في انتظار الموافقة | السعر معروض وينتظر موافقتك على الإجمالي (فقط عند الحاجة إلى الموافقة). |
يعالج | تمت الموافقة والتفعيل؛ والترجمة جارية. |
مكتمل | تم الانتهاء؛ الوثائق المترجمة متاحة. |
تم الإلغاء | تم إلغاء الطلب. |
أثناء تنفيذ الطلب، يتم إضافة تصنيفات أكثر تفصيلاً (على سبيل المثال تم تعيينه للمترجم, الترجمة, تم الشحنقد يظهر أيضًا ). عندما تكون الموافقة مطلوبة، قد يُبلغ الطلب بإيجاز فشل الدفع أو رصيد الائتمان إذا تعذر تحصيل الرسوم، فقم بحل مشكلة طريقة الدفع وقم بالموافقة عليها مرة أخرى.
يحصل اللغات
يعرض جميع اللغات المدعومة. استخدم اسم القيمة حرفيًا كما لغة المصدر / اللغة المستهدفة عند إنشاء طلب — تتم مطابقة الطلبات بناءً على اسم اللغة، وليس الرمز.
يتطلب مفتاحًا موثقًا.
curl https://www.rapidtranslate.org/api/v1/languages \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json" {
"data": [
{ "code": "english-uk", "name": "English (UK)", "active": true },
{ "code": "spanish", "name": "Spanish", "active": true }
]
} يحصل /الأسعار
يعرض هذا الجدول قائمة أسعار الصرف الأساسية في الولايات المتحدة، بالدولار الأمريكي، والتي تُحاسب عليها طلباتك. المبالغ عبارة عن أرقام عشرية. يتم تجميع الأسعار حسب ترجمة نوع (كل منها مع عادي و سريع لكل-وحدة سعر)، توصيل الطريقة، و تصديق أبوستيل — نفس القيم التي ترسلها عند إنشاء طلب.
نِطَاق: السعر: اقرأ
{
"data": {
"country": { "code": "US", "name": "United States" },
"currency": { "code": "USD", "symbol": "$" },
"translation": {
"certified": { "unit": "page", "regular": "27.99", "rapid": "37.99" },
"standard": { "unit": "word", "regular": "0.11", "rapid": "0.15" },
"specialized": { "unit": "page", "regular": "47.99", "rapid": "57.99" },
"naati": { "unit": "page", "regular": "42.99", "rapid": "52.99" },
"sworn": {
"unit": "page",
"note": "Sworn pricing depends on the language pair.",
"language_pairs": [
{ "languages": ["Spanish","English"], "unit": "page", "regular": "57.99", "rapid": "67.99" },
{ "languages": ["Polish","English"], "unit": "page", "regular": "46.99", "rapid": "56.99" }
]
}
},
"delivery": {
"email": "0.00", "notarized_email": "19.99",
"mail_standard": "29.99", "mail_next_day": "55.00"
},
"apostille": { "base": "79.00", "additional_document": "15.00" }
}
} أسعار معتمدة. يتم تسعير الترجمة المعتمدة لكل زوج من اللغات. أزواج اللغات يسرد كل زوج مؤهل للقسم مع خاصته عادي/سريع السعر. أي صيغة إنجليزية مقبولة (الإنجليزية (الأمريكية/البريطانية/الأسترالية/الكندية))، وكل زوج يعمل في كلا الاتجاهين ما لم يكن يحمل "ثنائي الاتجاه": خطأ.
بريد /طلبات
يقوم هذا النظام بإنشاء طلب ترجمة وتحميل الملفات المصدرية. ولأنه يحمل ملفات، فإنه يستخدم multipart/form-data (ليس JSON). تستخدم الحقول المتداخلة صيغة الأقواس، على سبيل المثال العميل[الاسم].
نِطَاق: الطلبات: اكتب
| مجال | يكتب | ملحوظات |
|---|---|---|
مرجع | سلسلة مطلوبة | مرجع طلبك الفريد الخاص بك. إعادة استخدامه تُعيد الطلب الحالي (انظر خاصية التكرار). |
العميل[الاسم] | سلسلة مطلوبة | الاسم الكامل للعميل النهائي. |
customer[email] | سلسلة مطلوبة | البريد الإلكتروني للعميل النهائي. |
لغة المصدر | سلسلة مطلوبة | اللغة الدقيقة اسم من قائمة اللغات. |
اللغة المستهدفة | سلسلة مطلوبة | اللغة الدقيقة اسم من قائمة اللغات. |
نوع الترجمة | سلسلة مطلوبة | أحد معتمد, معيار, متخصص, أقسم, ناتي. |
التف حوله | سلسلة مطلوبة | عادي أو سريع. |
طريقة التسليم | سلسلة مطلوبة | أحد بريد إلكتروني, البريد الإلكتروني الموثق, معيار البريد, البريد في اليوم التالي. |
عنوان التسليم [...] | هدف | مطلوب لـ معيار البريد / البريد في اليوم التالي: شارع, مدينة, رمز بريدي, دولة (ولاية خياري). دولة هو رمز ISO، على سبيل المثال نحن. |
التصديق [مُفعّل] | منطقي | أضف إجراءات التصديق. انظر القواعد أدناه. |
تصديق المستندات | عدد صحيح | عدد المستندات المراد تصديقها. مطلوب عند التفعيل. |
تصديق أبوستيل [بلد الوجهة] | خيط | البلد الذي صدرت له شهادة التصديق. |
ملحوظات | خيط | تعليمات نصية حرة. |
رمز القسيمة | خيط | رمز خصم للتطبيق. سيتم رفض الرموز غير الصالحة أو غير القابلة للتطبيق عند الإنشاء. 422 فشل التحققيتم تحديد الخصم نفسه بمجرد تسعير الطلب (انظر الملاحظة أدناه). |
ملفات[] | ملف[] مطلوب | من 1 إلى 20 ملفًا. الصيغ المسموح بها: pdf، jpg، jpeg، png، doc، docx، tiff، heic. الحد الأقصى لحجم كل ملف 20 ميجابايت. |
مرجع يُعدّ هذا الأمر فريدًا لكل منظمة. تكرار عملية إنشاء بنفس الطريقة. مرجع يعيد الطلب الحالي مع 200 بدلاً من إنشاء نسخة مكررة (يتم إرجاع طلب جديد) 201). معيار البريد طريقة التوصيل. البريد في اليوم التالي مخصص للعناوين الأمريكية فقط. curl -X POST https://www.rapidtranslate.org/api/v1/orders \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json" \ -F "reference=APO-10432" \ -F "customer[name]=Jane Doe" \ -F "customer[email]=jane@example.com" \ -F "source_language=Spanish" \ -F "target_language=English (US)" \ -F "translation_type=certified" \ -F "turnaround=regular" \ -F "delivery[method]=email" \ -F "files[]=@/path/to/birth-certificate.pdf" {
"data": {
"id": "9b1c2d3e-...-uuid",
"reference": "APO-10432",
"livemode": true,
"status": "pending",
"source_language": "Spanish",
"target_language": "English (US)",
"translation_type": "certified",
"turnaround": "regular",
"total": null,
"currency": "USD",
"created_at": "2026-08-28T10:15:00+00:00"
}
} يبدأ الطلب الذي تم إنشاؤه حديثًا كـ قيد الانتظار مع باطل الإجمالي أثناء حساب السعر. استطلاع رأي استرجاع طلب أو استمع إلى حالة الطلب رابط الويب للاطلاع على تحديث السعر والحالة.
قسائم الخصم. أ رمز القسيمة يتم التحقق من صحة الكود على مرحلتين. عند الإنشاء، نتحقق مما لا يعتمد على طول المستند - صحة الكود، وحدود استخدامه، وأنواع الترجمة/الخدمات التي ينطبق عليها - ونرفض الكود غير الصحيح فورًا. أما القواعد التي تعتمد على عدد الصفحات/الكلمات (ومبلغ الخصم نفسه) فتُحل بعد حساب طول المستند، بحيث يظهر الخصم في المستند. السعر المجموع، وليس البداية قيد الانتظار الرد. إذا تبين أن القسيمة لا تنطبق بعد معرفة العدد، فسيتم تقديم الطلب بالسعر الكامل وسيتم وضع علامة عليه ليقوم فريقنا بمراجعته.
يحصل /orders/{id}
يجلب طلبًا واحدًا من خلال بطاقة تعريف (معرّف UUID الذي تم إرجاعه عند الإنشاء). الإرجاع 404 غير موجود إذا لم يكن الطلب تابعًا لمنظمتك.
نِطَاق: الطلبات: اقرأ
curl https://www.rapidtranslate.org/api/v1/orders/9b1c2d3e-...-uuid \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json" يحصل /طلبات
يعرض طلبات مؤسستك، بدءًا من الأحدث، مع ترقيم الصفحات. ميتاجميع معلمات الاستعلام اختيارية.
نِطَاق: الطلبات: اقرأ
| استفسار | ملحوظات |
|---|---|
حالة | أحد قيد الانتظار, في انتظار الموافقة, يعالج, مكتمل, تم الإلغاء. |
مرجع | قم بالتصفية حسب مرجعك. |
لغة المصدر / اللغة المستهدفة | قم بالتصفية حسب اسم اللغة. |
تم إنشاؤه من / تم إنشاؤه لـ | نطاق التاريخ (شاملاً). |
نوع | -created_at (افتراضي، الأحدث أولاً) أو تاريخ الإنشاء (الأقدم أولاً). |
لكل صفحة | من 1 إلى 100. القيمة الافتراضية هي حجم الصفحة القياسي. |
صفحة | رقم الصفحة. |
curl "https://www.rapidtranslate.org/api/v1/orders?status=completed&per_page=50" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json" بريد /orders/{id}/approve
يوافق على الإجمالي المحسوب للطلب الذي في انتظار الموافقة، مما يؤدي إلى تفعيلها وإتمامها. هذا مطلوب فقط عندما يتطلب حسابك موافقة قبل بدء العمل. الاستدعاء متكرر لا يتأثر بالتغييرات.
نِطَاق: الطلبات: اكتب
curl -X POST https://www.rapidtranslate.org/api/v1/orders/9b1c2d3e-...-uuid/approve \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json" عند نجاح العملية، يتم إرجاع الطلب المُحدَّث. أما إذا لم يكن الطلب بانتظار الموافقة، فستحصل على 409 ليس في انتظار الموافقةإذا كان مطلوبًا دفع رسوم ولكن فشل ذلك، فستحصل على 402 فشل الدفع أو 402 credit_hold.
المجموعات الثابتة المقبولة عند إنشاء الطلب.
| قيمة | وصف |
|---|---|
معتمد | ترجمة معتمدة (سعرها للصفحة الواحدة). |
معيار | الترجمة القياسية (بسعر الكلمة الواحدة). |
متخصص | ترجمة متخصصة / ترجمة خبيرة (لكل صفحة). |
أقسم | ترجمة معتمدة (لكل صفحة). |
ناتي | ترجمة معتمدة من NAATI (لكل صفحة). |
| قيمة | وصف |
|---|---|
عادي | مدة التنفيذ القياسية. |
سريع | إنجاز سريع. |
| قيمة | عنوان | وصف |
|---|---|---|
بريد إلكتروني | لا | التسليم الرقمي عبر البريد الإلكتروني (مجانًا). |
البريد الإلكتروني الموثق | لا | تسليم رقمي موثق. |
معيار البريد | نعم | البريد العادي؛ يشحن إلى الدول المدعومة. |
البريد في اليوم التالي | نعم | خدمة البريد في يوم العمل التالي (للعناوين الأمريكية فقط). |
بدلاً من الاستقصاء، قم بتهيئة نقطة نهاية Webhook لاستقبال الأحداث فور وقوعها. حدد عنوان URL الخاص بك واطلع على سر التوقيع في إعدادات الأعمال ← Webhooks . تُعدّ Webhooks وسيلةً مُيسّرة، حيث أن استرجاع الطلب يتم دائمًا بشكل موثوق.
| حدث | تم الإرسال عند |
|---|---|
حالة الطلب | يتغير وضع الطلب. |
مراجعة العميل | تم تحديد سعر الطلب وهو بانتظار موافقتك (وضع الموافقة فقط). |
تسليم المستندات | الوثائق المترجمة جاهزة، مع روابط التنزيل. |
فشل الدفع | لم يتم تحصيل رسوم الطلب الموافق عليه - وهذا يحمل فشل حاجز (سبب, رسالةقم بتحديث بطاقة المحفظة ثم وافق عليها مرة أخرى. |
رصيد الائتمان | سيؤدي الطلب الموافق عليه إلى تجاوز حد الائتمان الخاص بك. رصيد الائتمان حاجز (رسالةقم بتسوية الفواتير أو اطلب حدًا أعلى. |
كل شحنة تأتي في نفس الظرف: حدث كتلة (بما في ذلك) الوضع المباشر) وحدث محدد بيانات حاجز.
{
"event": {
"type": "order_status",
"id": "evt_9b1c...",
"livemode": true,
"sent_at": "2026-08-28T10:20:00+00:00"
},
"data": {
"order": {
"id": "9b1c2d3e-...-uuid",
"reference": "APO-10432",
"status": "completed"
}
}
} ال تسليم المستندات يُضيف الحدث وثائق مصفوفة (كل منها يحتوي على) اسم, رابط التنزيل, إصدار, حالة) و أ منفذ الرابط. الـ مراجعة العميل يُضيف الحدث قائمة مفصلة التسعير كتلة و الإجراءات.الموافقة كائن يحتوي على عنوان URL المطلوب استدعاؤه.
يتم توقيع كل طلب حتى تتمكن من التأكد من أنه صادر من Rapid Translate نرسل ثلاثة رؤوس:
| رأس الصفحة | قيمة |
|---|---|
توقيع X-RapidTranslate | sha256=<hmac> |
X-RapidTranslate-Timestamp | الطابع الزمني لنظام يونكس المستخدم في التوقيع |
حدث الترجمة السريعة X | معرّف الحدث الفريد |
احسب التوقيع المتوقع كـ HMAC-SHA256 للسلسلة "{timestamp}.{raw_request_body}" باستخدام سر توقيع webhook الخاص بك، ثم قارنه بقيمة الترويسة:
// PHP
$expected = 'sha256=' . hash_hmac(
'sha256',
$timestamp . '.' . $rawBody,
$webhookSecret
);
$valid = hash_equals($expected, $signatureHeader); Node.js (Express) — قم بتثبيت المسار باستخدام محلل نص خام بحيث يتم الحفاظ على البايتات الدقيقة:
// app.use('/webhooks/rapidtranslate', express.raw({ type: 'application/json' }))
const crypto = require('crypto');
const timestamp = req.get('X-RapidTranslate-Timestamp');
const received = req.get('X-RapidTranslate-Signature'); // "sha256=..."
const rawBody = req.body; // Buffer, untouched
const expected = 'sha256=' + crypto
.createHmac('sha256', WEBHOOK_SECRET)
.update(`${timestamp}.${rawBody}`)
.digest('hex');
const valid = received &&
crypto.timingSafeEqual(Buffer.from(received), Buffer.from(expected)); ثلاثة أشياء تُوقع الناس في الخطأ:
توقيع X-RapidTranslate يحمل العنوان sha256= البادئة. إما قارنها بـ 'sha256=' + yourHmac (كما سبق) أو قم بإزالة البادئة قبل المقارنة - لا تقم بمطابقة القيمة السداسية العشرية المجردة مع العنوان بأكمله.hash_equals / crypto.timingSafeEqual), أبداً مع == أو ===.ال {الطابع الزمني} يُعد جزءًا من السلسلة الموقعة، لذا اقرأه من الترويسة وأضفه قبل التجزئة. كما يتيح لك رفض عمليات التسليم القديمة أو المعاد إرسالها، مثل أي طابع زمني أقدم من خمس دقائق.
تُعاد محاولات التسليم الفاشلة مع تراجع تدريجي (حتى 5 محاولات). رد بـ 2xx يتم إرسال إشعار استلام إلى الحالة.