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

# Documentazione per l'integrazione dell'API di riconoscimento dei CAPTCHA alfanumerici

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

Questo documento introduce un'API di riconoscimento dei CAPTCHA alfanumerici, basata su tecnologie di deep learning, utilizzabile per riconoscere CAPTCHA alfanumerici di lunghezza variabile. Inserendo il contenuto dell'immagine del CAPTCHA, si ottiene il risultato del CAPTCHA.

## Procedura di richiesta

Per utilizzare l'API di riconoscimento dei CAPTCHA alfanumerici, prima di tutto vai al [Pannello di controllo di Ace Data Cloud](https://platform.acedata.cloud/console/applications) per ottenere il tuo API Token, da conservare per uso futuro.

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

Se non hai ancora effettuato il login o la registrazione, verrai automaticamente reindirizzato alla pagina di login che ti inviterà a registrarti e a effettuare il login; una volta completato, verrai riportato automaticamente alla pagina corrente.

**Un API Token è sufficiente per accedere a tutti i servizi della piattaforma, senza necessità di richiederne uno per ogni servizio.** La prima richiesta ti darà un credito gratuito, per un'esperienza senza costi; quando il credito è insufficiente, puoi ricaricare il saldo generale nel [pannello di controllo](https://platform.acedata.cloud/console/coin).

> 📘 Documentazione completa: [API di riconoscimento dei CAPTCHA alfanumerici →](https://platform.acedata.cloud/documents/captcha-recognition-image2text)

## Utilizzo di base

Iniziamo a comprendere il modo di utilizzo di base, che consiste nell'inserire l'immagine del CAPTCHA alfanumerico di lunghezza variabile da elaborare, per ottenere il risultato elaborato. È necessario semplicemente passare un campo `image`, che rappresenta l'immagine del CAPTCHA alfanumerico, come mostrato nell'immagine:

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

Dopo di che, dobbiamo convertire l'immagine del CAPTCHA in un'immagine codificata in Base64. Si consiglia di utilizzare l'estensione per Google Chrome FeHelper per la conversione; puoi fare riferimento all'immagine sottostante per le istruzioni specifiche:

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

Successivamente, puoi copiare il codice Base64 ottenuto dall'estensione FeHelper, ricordando che non deve includere il prefisso data:image/png;base64; il contenuto specifico è il seguente:

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

Possiamo vedere che qui abbiamo impostato le intestazioni della richiesta, che includono:

* `accept`: il formato di risposta desiderato, qui impostato su `application/json`, ovvero formato JSON.
* `authorization`: la chiave per chiamare l'API, che può essere selezionata direttamente dopo la richiesta.

Inoltre, abbiamo impostato il corpo della richiesta, che include:

* `image`: l'immagine del CAPTCHA codificata in Base64 (senza il prefisso data:image/png;base64).

Dopo aver selezionato, puoi notare che a destra è stato generato il codice corrispondente, come mostrato nell'immagine:

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

Cliccando sul pulsante "Try" puoi effettuare un test, come mostrato nell'immagine sopra, e qui abbiamo ottenuto il seguente risultato:

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

Il risultato restituito ha diversi campi, descritti come segue:

* `text`, il contenuto testuale elaborato dall'immagine del CAPTCHA alfanumerico di lunghezza variabile.

Possiamo vedere che abbiamo ottenuto il risultato della verifica dell'immagine del CAPTCHA alfanumerico di lunghezza variabile; dobbiamo solo fare riferimento al contenuto testuale nel campo `text` per superare la verifica.

Inoltre, se desideri generare il codice di integrazione corrispondente, puoi semplicemente copiarlo, ad esempio il codice CURL è il seguente:

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

Il codice di integrazione in Python è il seguente:

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

## Modalità asincrona (async)

Per impostazione predefinita, l'API è sincrona e bloccante: una richiesta attenderà fino a quando il risultato del riconoscimento non sarà completato prima di restituire. Se stai effettuando un cambio di risolutori multipli (multi-solver rotation) e desideri "ottenere immediatamente il task\_id dopo aver inviato il compito, per poi programmare altri risolutori e tornare più tardi a prendere il risultato", puoi passare `async: true` nel corpo della richiesta.

Passando `async: true`, l'interfaccia restituirà immediatamente un `task_id`, senza bloccare l'attesa:

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

Successivamente, utilizza il `task_id` per interrogare `POST /captcha/tasks` (si consiglia ogni 3\~5 secondi) per ottenere il risultato:

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

Durante l'elaborazione, verrà restituito `status: processing`:

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

Una volta completata l'elaborazione, verrà restituito `status: ready` e il risultato del riconoscimento `text` (la struttura dei campi è completamente identica a quella della modalità sincrona):

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

Informazioni di fatturazione: nella modalità asincrona, la creazione di un compito e l'interrogazione "in elaborazione" non comportano costi; **si paga solo una volta quando si ottiene con successo il risultato del riconoscimento** (allo stesso prezzo della modalità sincrona). Pertanto, annullare i compiti non completati durante il cambio non comporterà costi. `/captcha/tasks` è comune a tutte le interfacce CAPTCHA (token e serie di riconoscimento), puoi interrogare con lo stesso `task_id`.

## Gestione degli errori

Quando chiami l'API, se si verifica un errore, l'API restituirà il codice di errore e le informazioni corrispondenti. Ad esempio:

* `400 token_mismatched`: Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.
* `400 api_not_implemented`: Richiesta non valida, probabilmente a causa di parametri mancanti o non validi.
* `401 invalid_token`: Non autorizzato, token di autorizzazione non valido o mancante.
* `429 too_many_requests`: Troppe richieste, hai superato il limite di frequenza.
* `500 api_error`: Errore interno del server, qualcosa è andato storto sul server.

### Esempio di risposta di errore

```json theme={null}
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}
```

## Conclusione

Attraverso questo documento, hai appreso come utilizzare l'API di riconoscimento dei codici di verifica numerici in inglese, che può essere utilizzata per riconoscere codici di verifica numerici in inglese di lunghezza variabile. Inserisci il contenuto dell'immagine del codice di verifica, e otterrai il risultato del codice di verifica. Speriamo che questo documento possa aiutarti a integrare e utilizzare meglio questa API. Se hai domande, non esitare a contattare il nostro team di supporto tecnico.
