È disponibile un set di chiamate API che consentono di:
-
Integrazione di Phrase e di qualsiasi software di terze parti (Strumenti di gestione della traduzione, CMS, ecc.)
-
Sviluppo di un banco di lavoro per il traduttore. Il CAT Editor è costruito sopra 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 avere familiarità con una procedura in Phrase prima di implementare la relativa API.
Il flusso di lavoro di base è:
-
Creare una TM, un TB e, facoltativamente, aggiungere un motore di traduzione automatica.
-
Creare un progetto con TM/TB/motore di traduzione automatica collegati (se necessario).
-
Salvare il progetto come modello di progetto e riutilizzarlo per creare un nuovo progetto di traduzione.
-
Caricare il file per la traduzione nel progetto (creare un lavoro).
-
È quindi possibile analizzare, Pre-tradurre o assegnare il lavoro a un traduttore.
API asincrone
Le API asincrone dovrebbero essere sempre preferite alle loro controparti sincrone. Se si chiamano API sincrone, c'è la possibilità di ricevere risposte di timeout scaduto durante l'elaborazione di grandi lotti di file o anche di un singolo file di grandi dimensioni. Le API sincrone dovrebbero essere utilizzate solo per file di piccole dimensioni e integrazione su piccola scala.
Polling
Dopo aver chiamato un'API asincrona, si riceve una risposta immediata che include l'identificatore della richiesta. Usare 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 una asyncResponse che non sia nulla.
Callback
Come risposta agli svantaggi dell'approccio di polling alle richieste asincrone, è supportato il supporto per i callback in tutte le API asincrone. Quando si chiama una richiesta asincrona, specificare un URL (nel parametro callbackUrl) che viene richiesto dopo che il lavoro avviato dalla richiesta asincrona è Completa.
I callback vengono richiesti tramite chiamate HTTP POST e i dati vengono trasmessi nel corpo codificati come JSON. L'oggetto JSON contiene sempre:
-
Informazioni sulla richiesta asincrona (le stesse di quando si chiama getAsyncRequest).
-
Informazioni dettagliate sul risultato dell'azione, come un'analisi completa o i 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 riuscito.