API Phrase TMS

Tecnologia API (TMS)

Contenuti tradotti automaticamente dall'inglese con Phrase Language AI.

La nostra API vede le entità dell'applicazione (progetti, lavori, impostazioni) come risorse che possono essere recuperate, create, modificate ed eliminate. 

Ogni metodo HTTP rappresenta un'azione:

  • GET

    Recupera una risorsa, senza mai modificare la risorsa

  • POST

    Crea una risorsa. POST viene anche usato per operazioni che non rientrano in nessuna delle quattro operazioni o che hanno un input lungo o complesso, come la ricerca nelle memorie di traduzione o la creazione di lavori.

  • PUT

    Aggiorna la risorsa. Si prega di notare che l'intera entità è richiesta con tutti i suoi campi, non solo quelli modificati; non includerla significa che dovrebbe essere impostata su null.

  • ELIMINARE

    Elimina la risorsa.

Importante

I dati di input e output sono solitamente in formato JSON, codificati in UTF-8. Per un file come tipo di contenuto del corpo della richiesta viene usato application/octet-stream o multipart/form-data.

Le entità usano una struttura piatta quando possibile per mantenere buoni tempi di risposta. Invece di includere intere (entità) subordinate nelle risposte, sono contenuti riferimenti che includono l'ID, l'UID e alcuni altri attributi. Sono attesi oggetti IDReference o UidReference per fare riferimento alle entità correlate.

Tutti gli elenchi di risposta sono impaginati. Usare i parametri pageNumber e pageSize per recuperare i dati richiesti. La dimensione massima della pagina è 50.

Documentazione

OpenAPI 3.0 è usato per la Documentazione API. I generatori di codice Swagger sono raccomandati per lo sviluppo del cliente.

Esempi API

Ottenere l'elenco di tutte le memorie di traduzione

GET

/web/api2/v1/transMemories

Risposta

200

{
    "pageNumber": 0,
    "content": [
        {
            "internalId": 1,
            "createdBy": {
                "userName": "admin",
                "id": "3",
                "firstName": "Jan",
                "lastName": "Janocko",
                "role": "ADMIN",
                "email": "jan.janocko@phrase.com"
            },
            "cliente": null,
            "note": "non necessario usare nella TM",
            "dateCreated": "2018-01-09T14:07:46+0000",
            "id": "1",
            "targetLangs": [
                "es",
                "it"
            ],
            "subDomain": null,
            "businessUnit": {
                "id": "1",
                "name": "First BU"
            },
            "sourceLang": "en",
            "dominio": null,
            "name": "My new TM"
        }
    ],
    "numberOfElements": 1,
    "totalElements": 1,
    "pageSize": 50,
    "totalPages": 1
}

Creare una nuova memoria di traduzione

POST

/web/api2/v1/transMemories

{{
"name": "My new TM",
"sourceLang": "en",
"targetLangs": [
"es", "it-IT"
],
"businessUnit": {
"ID": "1"
},
"note": "non necessario usare nella TM"
}

Risposta

201

{
    "internalId": 1,
    "createdBy": {
        "userName": "admin",
        "id": "3",
        "firstName": "J",
        "lastName": "Jan",
        "role": "ADMIN",
        "email": "jan.j@phrase.com"
    },
    "cliente": null,
    "note": "non necessario usare nella TM",
    "dateCreated": "2018-01-09T14:07:46+0000",
    "id": "1",
    "targetLangs": [
        "es",
        "it"
    ],
    "subDomain": null,
    "businessUnit": {
        "id": "1",
        "name": "First BU"
    },
    "sourceLang": "en",
    "dominio": null,
    "name": "My new TM"
}

Aggiunta di file durante la creazione di un lavoro

Aggiungere questo file al corpo della richiesta come allegato binario. Assicurarsi che Phrase e le intestazioni Content-Disposition siano inserite correttamente.

Esempio PHP da Postman:

<?php

$request = new HttpRequest();
$request->setUrl('https://cloud.memsource.com/web/api2/v1/projects/%7BUID%20of%20your%20project%7D/jobs');
$request->setMethod(HTTP_METH_POST);

$request->setQueryData(array(
'token' => 'Il tuo token va qui'
));

$request->setHeaders(array(
'postman-token' => 'ABC',
'cache-control' => 'no-cache',
'content-disposition' => 'filename*=UTF-8''Sample.txt',
'memsource' => '{\\\\\"targetLangs\\\\\":[\\\\\"de\\\\\",\\\\\"fr\\\\\",\\\\\"es\\\\\"],\\\\\"callbackUrl\\\\\":\\\\\"https://my-shiny-service.com/consumeCallback\\\\\",\\\\\"importSettings\\\\\":{\\\\\"uid\\\\\":\\\\\"WF0T1SfSHxII09yKr0dZh9\\\\\"}}'
));

try {
$response = $request->send();

echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}

Gestione degli errori

In caso di problemi durante la gestione di una richiesta API, verrà restituita la seguente struttura JSON. Il codice di errore sarà sempre presente; la descrizione dettagliata potrebbe essere nulla.

{ "errorCode": "InvalidArguments",
"errorDescription": "Argomento obbligatorio \"password\" di tipo \"stringa\" mancante."
}

Una risposta di errore può essere rilevata leggendo lo stato HTTP codice della risposta. Se si verifica un errore, non verrà mai impostato su 2xx. Lo stato del codice è 400 bad request, 401 o 403 per problemi di autenticazione o autorizzazione.

Segnalazione di problemi

Quando si segnala un problema al Supporto tecnico, includere quanto segue nel rapporto:

  • Endpoint API

  • Richiesta

  • Ora (e fuso orario)

  • Risposta

  • Phrase-Azione-ID della risposta

Questo articolo ti è stato utile?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.