API Phrase TMS

Tecnologia API (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 includerla significa che dovrebbe 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 utilizza application/octet-stream o multipart/form-data.

Le entità utilizzano una struttura piatta quando possibile per mantenere buoni tempi di risposta. Invece di includere interi oggetti subordinati nelle risposte, vengono contenute referenze che contengono l'ID, UID e alcuni altri attributi. Ci si aspetta oggetti IDReference o UidReference 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 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"
            },
            "cliente": null,
            "nota": "non necessario da usare in 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,
            "nome": "La mia nuova TM"
        }
    ],
    "numberOfElements": 1,
    "totalElements": 1,
    "pageSize": 50,
    "totalPages": 1
}

Crea una nuova memoria di traduzione

POST

/web/api2/v1/transMemories

{{
"nome": "La mia nuova TM",
"sourceLang": "en",
"targetLangs": [
"es", "it-IT"
],
"businessUnit": {
"id": "1"
},
"nota": "non necessario da usare in TM"
}

Risposta

201

{
    "internalId": 1,
    "createdBy": {
        "userName": "admin",
        "id": "3",
        "firstName": "J",
        "lastName": "Jan",
        "role": "ADMIN",
        "email": "jan.j@phrase.com"
    },
    "cliente": null,
    "nota": "non necessario da usare in 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,
    "nome": "La mia nuova TM"
}

Aggiunta di file durante la creazione di un lavoro

Aggiungi questo file al corpo della richiesta come allegato binario. Assicurati che l'intestazione Phrase e l'intestazione Content-Disposition siano inserite correttamente.

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 potrebbe essere nulla.

{ "errorCode": "InvalidArguments",
"errorDescription": "L'argomento richiesto \"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 sarà mai impostato su 2xx. Il codice di stato è 400 richiesta non valida, 401 o 403 per problemi di autenticazione o autorizzazione.

Segnalazione Problemi

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

  • Endpoint API

  • Richiesta

  • Tempo (e fuso orario)

  • Risposta

  • ID-Fase-Azione 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.