API Phrase TMS

Tecnologia API (TMS)

Contenuti tradotti automaticamente dall'inglese con Phrase Language AI.

La nostra API considera le entità 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 modificarla

  • POST

    Crea una risorsa. POST viene 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. Nota che l'intera entità è obbligatoria 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, codificato UTF-8. Per un file come tipo di contenuto corpo della richiesta viene usato application/octet-stream o multipart/form-data.

Le entità usano una struttura piatta ove possibile per mantenere buoni tempi di risposta. Invece di includere interi oggetti (entità) subordinate nelle risposte, vengono contenuti riferimenti che contengono l'ID, l'UID e pochi altri attributi. Sono attesi oggetti IDReference o UidReference per fare riferimento a entità correlate.

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

Documentazione

OpenAPI 3.0 viene utilizzato per la documentazione API. I generatori di codice sono consigliati per lo sviluppo cliente.

File di documentazione grezzi:

Esempi API

Ottieni l'elenco di tutte le memorie di traduzione

GET

/web/api2/v1/transMemories

Risposta

200

{
    "pageNumber": 0,
    "contenuto": [
        {
            "internalId": 1,
            "createdBy": {
                "userName": "amministratore",
                "id": "3",
                "firstName": "Jan",
                "lastName": "Janocko",
                "ruolo": "ADMIN",
                "email": "jan.janocko@phrase.com"
            },
            "cliente": nullo,
            "note": "non necessario usare nella TM",
            "dateCreated": "2018-01-09T14:07:46+0000",
            "id": "1",
            "targetLangs": [
                "es",
                "it"
            ],
            "sottodominio": nullo,
            "businessUnit": {
                "id": "1",
                "nome": "Prima BU"
            },
            "sourceLang": "en",
            "dominio": nullo,
            "nome": "La mia nuova TM"
        }
    ],
    "numberOfElements": 1,
    "totalElements": 1,
    "pageSize": 50,
    "totalPages": 1
}

Crea nuova memoria di traduzione

POST

/web/api2/v1/transMemories

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

Risposta

201

{
    "internalId": 1,
    "createdBy": {
        "userName": "amministratore",
        "id": "3",
        "firstName": "J",
        "lastName": "Jan",
        "ruolo": "ADMIN",
        "e-mail": "jan.j@phrase.com"
    },
    "cliente": nullo,
    "note": "non necessario usare nella TM",
    "dateCreated": "2018-01-09T14:07:46+0000",
    "id": "1",
    "targetLangs": [
        "es",
        "it"
    ],
    "sottodominio": nullo,
    "businessUnit": {
        "id": "1",
        "nome": "Prima BU"
    },
    "sourceLang": "en",
    "dominio": nullo,
    "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 Phrase e le intestazioni contenutoDisposition 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\"}}'
));

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

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

Gestione degli errori

Se si verifica un problema 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": "Argomenti non validi",
"errorDescription": "Manca l'argomento richiesto \"password\" di tipo \"stringa\".
}

La risposta a un errore può essere rilevata leggendo il codice dello stato HTTP della risposta. Se si verifica un errore, non verrà mai impostato su 2xx. Il codice di stato è 400 richiesta non riuscita, 401 o 403 per problemi di autenticazione o autorizzazione.

Segnalazione di problemi

Quando si segnala un problema all'assistenza tecnica, includere quanto segue nella segnalazione:

  • Endpoint API

  • Richiesta

  • Ora (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.