Un insieme di API calls è disponibile e consente di:
-
Integrazione di Phrase e di qualsiasi software di terze parti (strumenti di gestione delle traduzioni, CMS, ecc.)
-
Sviluppo di un ambiente di lavoro per traduttori. Il CAT editor è costruito su API pubbliche.
-
Creazione di un nuovo strumento o servizio utilizzando Phrase nel suo backend.
Flusso di lavoro di base
Le procedure e il flusso di lavoro devono essere compresi prima di utilizzare le API. Si consiglia di familiarizzare con una procedura in Phrase prima di implementare l'API correlata.
Il flusso di lavoro di base è:
-
Crea un TM, TB e, facoltativamente, aggiungi un motore di traduzione automatica.
-
Crea un progetto con TM, TB e motore di traduzione automatica collegati (se necessario).
-
Salva il progetto come un modello di progetto e riutilizzalo per creare un nuovo progetto di traduzione.
-
Carica il tuo file per la traduzione nel progetto (crea un lavoro).
-
Puoi quindi analizzare, pre-tradurre o assegnare il lavoro a un traduttore.
API asincrone
Le API asincrone dovrebbero sempre essere preferite rispetto alle loro controparti sincrone. Se si chiamano API sincrone, c'è la possibilità di ricevere risposte di timeout scaduto durante l'elaborazione di grandi batch di file o anche di un singolo file di grandi dimensioni. Le API sincrone dovrebbero essere usate solo per file piccoli e integrazione su piccola scala.
Polling
Dopo aver chiamato un'API asincrona, si riceve una risposta istantanea che include l'identificatore della richiesta. Usa questo identificatore per controllare lo stato della richiesta chiamando getAsyncRequest e controllando il campo asyncResponse. Questo approccio di polling può portare a un numero di chiamate getAsyncRequest prima di ricevere un asyncResponse che non è nullo.
Callback
In risposta agli svantaggi dell'approccio di polling per le richieste asincrone, tutte le API asincrone supportano i callback. Quando effettui una richiesta asincrona, specifica un URL (nel parametro callbackUrl) che viene chiamato dopo che il lavoro avviato dalla richiesta asincrona è stato completato.
I callback vengono richiesti tramite chiamate HTTP POST e i dati vengono passati nel corpo codificati come JSON. L'oggetto JSON contiene sempre:
-
Informazioni sulla richiesta asincrona (le stesse di quando chiami getAsyncRequest).
-
Informazioni dettagliate sul risultato dell'azione, come un'analisi completa o dettagli del lavoro.
{
"asyncRequest": {
...
}
"analyse": {
...
}
}
Se un URL di callback non è accessibile, la richiesta viene ripetuta dopo 2, 4, 8, 16 e 30 minuti fino a quando 10 tentativi non sono falliti.
L'URL di callback deve rispondere con il codice di stato HTTP 200 OK per essere considerato andato a buon fine.