> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# واجهة برمجة التطبيقات للتعرف على رموز التحقق الرقمية باللغة الإنجليزية

> Recognition of English numerical verification codes API guide - Ace Data Cloud

ستقدم هذه الوثيقة شرحًا لواجهة برمجة التطبيقات للتعرف على رموز التحقق الرقمية باللغة الإنجليزية، والتي تعتمد على تقنية التعلم العميق، ويمكن استخدامها للتعرف على رموز التحقق الرقمية باللغة الإنجليزية ذات الطول المتغير. يتم إدخال محتوى صورة رمز التحقق، ويتم إخراج نتيجة رمز التحقق.

## عملية التقديم

لاستخدام واجهة برمجة التطبيقات للتعرف على رموز التحقق الرقمية باللغة الإنجليزية، يجب أولاً الذهاب إلى [وحدة التحكم في بيانات Ace](https://platform.acedata.cloud/console/applications) للحصول على رمز API الخاص بك، احتفظ به للاستخدام لاحقًا.

![](https://cdn.acedata.cloud/5hmkdg.jpg)

إذا لم تكن قد قمت بتسجيل الدخول أو التسجيل بعد، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك للتسجيل وتسجيل الدخول، وبعد الانتهاء، سيتم العودة تلقائيًا إلى الصفحة الحالية.

**يمكن استخدام رمز API واحد لاستدعاء جميع خدمات المنصة، دون الحاجة لتقديم طلب منفصل لكل خدمة.** سيتم منحك رصيد مجاني عند التقديم لأول مرة، يمكنك تجربته مجانًا؛ وعند نفاد الرصيد، يمكنك إعادة شحن الرصيد العام في [وحدة التحكم](https://platform.acedata.cloud/console/coin).

> 📘 الوثائق الكاملة: [واجهة برمجة التطبيقات للتعرف على رموز التحقق الرقمية باللغة الإنجليزية →](https://platform.acedata.cloud/documents/captcha-recognition-image2text)

## الاستخدام الأساسي

أولاً، يجب أن نفهم طريقة الاستخدام الأساسية، وهي إدخال صورة رمز التحقق الرقمية باللغة الإنجليزية ذات الطول المتغير، للحصول على النتيجة المعالجة. يجب أولاً تمرير حقل `image`، وهو صورة رمز التحقق الرقمية باللغة الإنجليزية كما هو موضح في الصورة:

<p>
  <img src="https://cdn.acedata.cloud/c50hi9.png" width="500" className="m-auto" />
</p>

ثم نحتاج إلى تحويل صورة رمز التحقق إلى ترميز Base64، يُوصى باستخدام ملحق متصفح جوجل كروم FeHelper لإجراء التحويل، يمكن الرجوع إلى الصورة أدناه لطريقة الاستخدام المحددة:

<p>
  <img src="https://cdn.acedata.cloud/zy2jwh.png" width="500" className="m-auto" />
</p>

<p>
  <img src="https://cdn.acedata.cloud/pr73gn.png" width="500" className="m-auto" />
</p>

<p>
  <img src="https://cdn.acedata.cloud/ic4dbw.png" width="500" className="m-auto" />
</p>

بعد ذلك، يمكنك نسخ ترميز Base64 الذي حصلت عليه من ملحق متصفح جوجل كروم FeHelper، تذكر أنه لا يحتوي على البادئة data:image/png;base64، المحتوى المحدد كما يلي:

<p>
  <img src="https://cdn.acedata.cloud/5h4x4w.png" width="500" className="m-auto" />
</p>

يمكنك أن ترى هنا أننا قمنا بتعيين رؤوس الطلب، بما في ذلك:

* `accept`: نوع الاستجابة التي ترغب في تلقيها، هنا يتم ملؤها بـ `application/json`، أي بتنسيق JSON.
* `authorization`: مفتاح استدعاء واجهة برمجة التطبيقات، يمكنك اختياره مباشرة بعد التقديم.

بالإضافة إلى ذلك، تم تعيين جسم الطلب، بما في ذلك:

* `image`: صورة رمز التحقق المشفرة بتنسيق Base64 (بدون بادئة data:image/png;base64).

بعد الاختيار، يمكنك أن تلاحظ أن الجانب الأيمن قد تم إنشاء كود مطابق، كما هو موضح في الصورة:

<p>
  <img src="https://cdn.acedata.cloud/202y3d.png" width="500" className="m-auto" />
</p>

انقر على زر "Try" لإجراء الاختبار، كما هو موضح في الصورة أعلاه، هنا حصلنا على النتيجة التالية:

```json theme={null}
{
  "text": "7364"
}
```

تتضمن النتيجة العائدة عدة حقول، كما يلي:

* `text`: محتوى النص الناتج عن معالجة صورة رمز التحقق الرقمية باللغة الإنجليزية ذات الطول المتغير.

يمكنك أن ترى أننا حصلنا على نتيجة التحقق من معالجة صورة رمز التحقق الرقمية باللغة الإنجليزية ذات الطول المتغير، كل ما علينا فعله هو استخدام محتوى النص في `text` للمرور بالتحقق.

بالإضافة إلى ذلك، إذا كنت ترغب في إنشاء كود التوصيل المقابل، يمكنك نسخه مباشرة، على سبيل المثال، كود CURL كما يلي:

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/captcha/recognition/image2text' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "image": "iVBORw0KGgoAAAANSUhEUgAAAgUAAAE3CAYAAAA6xjI2AAAAAX..."
}'
```

كود التوصيل بلغة Python كما يلي:

```python theme={null}
import requests

url = "https://api.acedata.cloud/captcha/recognition/image2text"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "image": "iVBORw0KGgoAAAANSUhEUgAAAgUAAAE3CAYAAAA6xjI2AAAAAX..."
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
```

## الوضع غير المتزامن (async)

بشكل افتراضي، تكون واجهة برمجة التطبيقات متزامنة وتنتظر: ستظل الطلبات تنتظر حتى تكتمل معالجة نتيجة التعرف قبل أن تعود. إذا كنت تقوم بتدوير عدة أدوات للتعرف (multi-solver rotation) وترغب في "تقديم المهمة والحصول على task\_id على الفور، ثم الانتقال إلى جدولة أدوات التعرف الأخرى، والعودة لاحقًا للحصول على النتيجة"، يمكنك تمرير `async: true` في جسم الطلب.

بعد تمرير `async: true`، ستعيد الواجهة على الفور `task_id`، دون الانتظار:

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/captcha/recognition/image2text' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "image": "iVBORw0KGgoAAAANSUhEUgAAAgUAAAE3CAYAAAA6xjI2AAAAAX...",
  "async": true
}'
```

```json theme={null}
{
  "success": true,
  "task_id": "61138bb6-19aa-11ec-a9c8-0242ac110002",
  "trace_id": "2efa9340-b21b-4e26-9e14-4aac95f343ab",
  "status": "processing"
}
```

بعد ذلك، استخدم `task_id` هذا للاستعلام عن `POST /captcha/tasks` (يوصى كل 3\~5 ثوانٍ) للحصول على النتيجة:

```shell theme={null}
curl -X POST 'https://api.acedata.cloud/captcha/tasks' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "task_id": "61138bb6-19aa-11ec-a9c8-0242ac110002"
}'
```

أثناء المعالجة، ستعيد `status: processing`:

```json theme={null}
{ "success": true, "task_id": "61138bb6-19aa-11ec-a9c8-0242ac110002", "status": "processing" }
```

عند الانتهاء من المعالجة، ستعيد `status: ready` ونتيجة التعرف `text` (هيكل الحقول متطابق تمامًا مع الوضع المتزامن):

```json theme={null}
{
  "success": true,
  "task_id": "61138bb6-19aa-11ec-a9c8-0242ac110002",
  "status": "ready",
  "text": "7364"
}
```

شرح الفوترة: في الوضع غير المتزامن، لا يتم احتساب رسوم لإنشاء المهام أو الاستعلام عن "قيد المعالجة"؛ **يتم احتساب الرسوم مرة واحدة فقط عند الحصول على نتيجة التعرف بنجاح** (بأسعار متطابقة مع الوضع المتزامن). لذلك، لن تؤدي إلغاء المهام التي لم تكتمل بعد إلى تكبد أي رسوم. `/captcha/tasks` متاحة لجميع واجهات التحقق من الرموز (token و recognition series) ويمكن استخدام نفس `task_id` للاستعلام.

## معالجة الأخطاء

عند استدعاء واجهة برمجة التطبيقات، إذا واجهت خطأ، ستعيد الواجهة رمز الخطأ والمعلومات ذات الصلة. على سبيل المثال:

* `400 token_mismatched`: طلب غير صالح، ربما بسبب معلمات مفقودة أو غير صالحة.
* `400 api_not_implemented`: طلب غير صالح، ربما بسبب معلمات مفقودة أو غير صالحة.
* `401 invalid_token`: غير مصرح به، رمز التفويض غير صالح أو مفقود.
* `429 too_many_requests`: عدد كبير جدًا من الطلبات، لقد تجاوزت الحد الأقصى لمعدل الطلبات.
* `500 api_error`: خطأ داخلي في الخادم، حدث خطأ ما على الخادم.

### مثال على استجابة الخطأ

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "فشل في جلب البيانات"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## الاستنتاج

من خلال هذه الوثيقة، لقد تعرفت على كيفية استخدام واجهة برمجة التطبيقات للتعرف على الرموز الرقمية الإنجليزية، والتي يمكن استخدامها للتعرف على الرموز الرقمية الإنجليزية ذات الطول المتغير. أدخل محتوى صورة الرمز، وستخرج نتيجة الرمز. نأمل أن تساعدك هذه الوثيقة في التوصيل واستخدام هذه الواجهة بشكل أفضل. إذا كان لديك أي أسئلة، فلا تتردد في الاتصال بفريق الدعم الفني لدينا.
