> ## 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.

# Opis integracji API rozpoznawania cyfrowych angielskich kodów weryfikacyjnych

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

W artykule przedstawiono sposób integracji API rozpoznawania cyfrowych angielskich kodów weryfikacyjnych, które opiera się na technologii głębokiego uczenia i może być używane do rozpoznawania zmiennych długości angielskich kodów weryfikacyjnych. Wprowadź zawartość obrazu kodu weryfikacyjnego, a otrzymasz wynik kodu weryfikacyjnego.

## Proces aplikacji

Aby skorzystać z API rozpoznawania cyfrowych angielskich kodów weryfikacyjnych, najpierw przejdź do [konsoli Ace Data Cloud](https://platform.acedata.cloud/console/applications), aby uzyskać swój token API, który należy zachować na przyszłość.

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

Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, a po zakończeniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę.

**Jeden token API wystarczy do wywołania wszystkich usług platformy, nie ma potrzeby składania osobnych wniosków dla każdej usługi.** Przy pierwszym wniosku otrzymasz darmowy limit, aby móc skorzystać z usługi za darmo; w przypadku niewystarczającego limitu możesz doładować saldo ogólne w [konsoli](https://platform.acedata.cloud/console/coin).

> 📘 Pełna dokumentacja: [API rozpoznawania cyfrowych angielskich kodów weryfikacyjnych →](https://platform.acedata.cloud/documents/captcha-recognition-image2text)

## Podstawowe użycie

Najpierw zapoznaj się z podstawowym sposobem użycia, czyli wprowadź obraz zmiennej długości angielskiego kodu weryfikacyjnego, aby uzyskać przetworzony wynik. Najpierw musisz prosto przekazać pole `image`, które jest konkretnym obrazem angielskiego kodu weryfikacyjnego, jak pokazano na rysunku:

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

Następnie musimy przekonwertować obraz kodu weryfikacyjnego na kodowanie Base64. Do konwersji kodowania Base64 zaleca się użycie wtyczki przeglądarki Google Chrome FeHelper, a szczegółowe instrukcje można znaleźć na poniższym obrazku:

<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>

Następnie możesz skopiować kodowanie Base64 uzyskane z wtyczki FeHelper, pamiętaj, że nie zawiera ono prefiksu data:image/png;base64, a konkretna zawartość wygląda następująco:

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

Można zauważyć, że ustawiliśmy nagłówki żądania, w tym:

* `accept`: jakiego formatu odpowiedzi oczekujesz, tutaj wpisz `application/json`, czyli format JSON.
* `authorization`: klucz do wywołania API, po złożeniu wniosku możesz go bezpośrednio wybrać z rozwijanej listy.

Dodatkowo ustawiono ciało żądania, w tym:

* `image`: zakodowany w Base64 obraz kodu weryfikacyjnego (bez prefiksu data:image/png;base64).

Po dokonaniu wyboru można zauważyć, że po prawej stronie wygenerowano odpowiedni kod, jak pokazano na rysunku:

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

Kliknij przycisk „Try”, aby przeprowadzić test, jak pokazano na powyższym obrazku, a otrzymamy następujący wynik:

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

Wynik zwrotny zawiera wiele pól, które są opisane poniżej:

* `text`, treść tekstowa przetworzonego obrazu zmiennej długości angielskiego kodu weryfikacyjnego.

Można zauważyć, że uzyskaliśmy wynik weryfikacji przetworzonego obrazu zmiennej długości angielskiego kodu weryfikacyjnego, wystarczy, że na podstawie treści tekstowej w wyniku `text` przejdziemy przez weryfikację.

Dodatkowo, jeśli chcesz wygenerować odpowiedni kod do integracji, możesz go bezpośrednio skopiować, na przykład kod CURL wygląda następująco:

```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..."
}'
```

Kod integracji w Pythonie wygląda następująco:

```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)
```

## Tryb asynchroniczny (async)

Domyślnie API działa w trybie synchronicznym: jedno żądanie będzie czekać, aż wynik rozpoznawania zostanie przetworzony, zanim zostanie zwrócone. Jeśli wykonujesz rotację wielu rozwiązań (multi-solver rotation) i chcesz „natychmiast uzyskać task\_id po złożeniu zadania, aby najpierw zająć się innymi rozwiązaniami, a później wrócić po wyniki”, możesz przekazać `async: true` w ciele żądania.

Po przekazaniu `async: true` interfejs natychmiast zwróci `task_id`, a nie będzie czekać:

```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"
}
```

Następnie użyj tego `task_id`, aby cyklicznie sprawdzać `POST /captcha/tasks` (zaleca się co 3-5 sekund), aby uzyskać wyniki:

```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"
}'
```

W trakcie przetwarzania zwróci `status: processing`:

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

Po zakończeniu przetwarzania zwróci `status: ready` oraz wynik rozpoznawania `text` (struktura pól jest całkowicie zgodna z trybem synchronicznym):

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

Opis opłat: w trybie asynchronicznym tworzenie zadań i cykliczne sprawdzanie „w trakcie przetwarzania” nie jest płatne; **opłata jest naliczana tylko raz, gdy uda się uzyskać wynik rozpoznawania** (cena jest taka sama jak w trybie synchronicznym). Dlatego w przypadku rotacji anulowanie zadań, które nie zostały jeszcze zakończone, nie generuje kosztów. `/captcha/tasks` jest wspólne dla wszystkich interfejsów kodów weryfikacyjnych (token i seria rozpoznawania), można używać tego samego `task_id` do cyklicznego sprawdzania.

## Obsługa błędów

Podczas wywoływania API, jeśli napotkasz błąd, API zwróci odpowiedni kod błędu i informacje. Na przykład:

* `400 token_mismatched`: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
* `400 api_not_implemented`: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.
* `401 invalid_token`: Nieautoryzowany, nieprawidłowy lub brakujący token autoryzacji.
* `429 too_many_requests`: Zbyt wiele żądań, przekroczono limit.
* `500 api_error`: Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

### Przykład odpowiedzi błędu

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "pobieranie nie powiodło się"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## Wnioski

Dzięki temu dokumentowi zrozumieliście, jak korzystać z API do rozpoznawania cyfrowych angielskich kodów weryfikacyjnych, które mogą być używane do rozpoznawania zmiennych długości angielskich kodów numerycznych. Wprowadź zawartość obrazu kodu weryfikacyjnego, a otrzymasz wynik kodu weryfikacyjnego. Mamy nadzieję, że ten dokument pomoże Wam lepiej zintegrować i korzystać z tego API. W razie jakichkolwiek pytań, prosimy o kontakt z naszym zespołem wsparcia technicznego.
