API Phrase TMS

API Technology (TMS)

Contenuti tradotti automaticamente dall'inglese con Phrase Language AI.

La nostra API vede le entità applicative (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 modificarla.

  • POST

    Crea una risorsa. POST è utilizzato anche per operazioni che non rientrano in nessuna delle quattro operazioni o hanno input lunghi o complessi, come la ricerca di memorie di traduzione o la creazione di lavori.

  • PUT

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

  • DELETE

    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 application/octet-stream o multipart/form-data è utilizzato.

Le entità utilizzano una struttura piatta quando possibile per mantenere buoni tempi di risposta. Invece di includere interi oggetti subordinati nelle risposte, sono contenute referenze che contengono l'ID, UID e alcuni altri attributi. Ci si aspetta che siano presenti oggetti IDReference o UidReferenc per riferirsi a entità correlate.

Tutte le liste di risposta sono paginate. Usa i parametri pageNumber e pageSize per recuperare i dati richiesti. La dimensione massima della pagina è 50.

Documentazione

OpenAPI 3.0 è utilizzato per la documentazione API. Generatori di codice Swagger sono raccomandati per lo sviluppo del client.

Esempi API

Ottieni l'elenco di tutte le memorie di traduzione

GET

/web/api2/v1/transMemories

Risposta

200

{
    "pageNumber": 0,
    "content": [
        {
            "internalId": 1,
            "creatoDa": {
                "userName": "admin",
                "id": "3",
                "firstName": "Jan",
                "lastName": "Janocko",
                "role": "ADMIN",
                "email": "jan.janocko@phrase.com"
            },
            "cliente": null,
            "nota": "non necessario usare in TM",
            "dateCreated": "2018-01-09T14:07:46+0000",
            "id": "1",
            "targetLangs": [
                "es",
                "it"
            ],
            "sottodominio": null,
            "businessUnit": {
                "id": "1",
                "name": "Primo BU"
            },
            "sourceLang": "en",
            "dominio": null,
            "name": "Il mio nuovo TM"
        }
    ],
    "numberOfElements": 1,
    "totalElements": 1,
    "pageSize": 50,
    "totalPages": 1
}

Crea una nuova memoria di traduzione

POST

/web/api2/v1/transMemories

{{
"name": "Il mio nuovo TM",
"sourceLang": "en",
"targetLangs": [
"es", "it-IT"
],
"businessUnit": {
"id": "1"
},
"nota": "non necessario da usare in TM"
}

Risposta

201

{
    "internalId": 1,
    "creatoDa": {
        "userName": "admin",
        "id": "3",
        "firstName": "J",
        "lastName": "Jan",
        "role": "ADMIN",
        "email": "jan.j@phrase.com"
    },
    "cliente": null,
    "nota": "non necessario usare in TM",
    "dateCreated": "2018-01-09T14:07:46+0000",
    "id": "1",
    "targetLangs": [
        "es",
        "it"
    ],
    "sottodominio": null,
    "businessUnit": {
        "id": "1",
        "name": "Primo BU"
    },
    "sourceLang": "en",
    "dominio": null,
    "name": "Il mio nuovo TM"
}

Aggiunta di file durante la creazione di un lavoro

Aggiungi questo file al corpo della richiesta come allegato binario. Assicurati che gli header Phrase e Content-Disposition siano correttamente inseriti.

Esempio di PHP da Postman:

<?php

$request = new HttpRequest();
$request->setUrl('https://cloud.memsource.com/web/api2/v1/projects/%7BUID%20del%20tuo%20progetto%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

Se c'è un problema durante la gestione di una richiesta API, la seguente JSON struttura verrà restituita. Il codice di errore sarà sempre presente; la descrizione dettagliata può essere nulla.

{ "errorCode": "InvalidArguments",
"errorDescription": "L'argomento richiesto \"password\" di tipo \"string\" è mancante."
}

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

Segnalazione di Problemi

Quando si segnala un problema a Supporto Tecnico, includere quanto segue nel rapporto:

  • Endpoint API

  • Richiesta

  • Tempo (e fuso orario)

  • Risposta

  • ID dell'azione-frase 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.