API Phrase TMS

API Technology (TMS)

Contenuti tradotti automaticamente dall'inglese con Phrase Language AI.

La nostra API considera 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 viene usato anche per operazioni che non rientrano in nessuna delle quattro operazioni o che hanno input lunghi o complessi, come la ricerca nelle memorie di traduzione o per creare lavori.

  • PUT

    Aggiorna la risorsa. Tieni presente che è richiesta l'intera entità con tutti i suoi campi, non solo quelli modificati; non includerla significa che deve essere impostata 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 si usa application/octet-stream oppure multipart/form-data.

Le entità utilizzano una struttura piatta quando possibile per mantenere buoni tempi di risposta. Invece di includere intere (entità) subordinate nelle risposte, vengono inclusi riferimenti che contengono l'ID, UID e alcuni altri attributi. Ci si aspetta che siano presenti oggetti IDReference o UidReferenc per riferirsi a entità correlate.

Tutti gli elenchi di risposta sono paginati. Usa 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. Generatori di codice Swagger sono consigliati per lo sviluppo del cliente.

Esempi API

Ottieni 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"
            },
            "client": null,
            "note": "non necessario da 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 usare in TM"
}

Risposta

201

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

Aggiungere 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 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 segnali un problema a Supporto tecnico, includi quanto segue nel rapporto:

  • Endpoint API

  • Richiesta

  • Tempo (e fuso orario)

  • Risposta

  • Phrase-Action-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.