È 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 ambiente di lavoro per il traduttore. Il CAT Editor è basato su API pubbliche.
-
Creazione di un nuovo strumento o servizio utilizzando Phrase nel backend.
Flusso di lavoro di base
Le procedure e il flusso di lavoro devono essere compresi prima di utilizzare le API. Si consiglia di acquisire 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 la TM/il TB/il 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-traduci o assegnare il lavoro a un traduttore.
API asincrone
Le API asincrone dovrebbero essere sempre preferite alle loro controparti sincrone. Se si richiamano API sincrone, esiste 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 utilizzate solo per file di piccole dimensioni e integrazioni su piccola scala.
Polling
Dopo aver chiamato un'API asincrona, si riceve una risposta immediata che include l'identificativo della richiesta. Usare questo identificativo 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 per le 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 finché non falliscono 10 tentativi.
L'URL di callback deve rispondere con il codice di stato HTTP 200 OK per essere considerato riuscito.