API do Phrase TMS

API Tecnologia (TMS)

O conteúdo de toda a Central de Ajuda é traduzido automaticamente de inglês pelo Phrase Language AI.

Nosso API vê entidades de aplicativos (projetos, trabalhos, configurações) como recursos que podem ser recuperados, criado em, modificado e excluído. 

Cada método HTTP representa uma ação:

  • GET

    Recupera um recurso, nunca alterando o recurso

  • POSTAR

    Cria um recurso. O POST também é usado para operações que não se encaixam em nenhuma das quatro operações ou têm entrada longa ou complexa, como pesquisar memórias de tradução ou criar trabalhos.

  • PUT

    Atualiza o recurso. Por favor, nota que toda a entidade é necessária com todos os seus campos, não apenas os alterados, não incluindo isso significa que ela deve ser definida como nula.

  • DELETE

    Exclui o recurso.

Importante

Os dados de entrada e saída são geralmente no formato JSON, codificado em UTF-8. Para um arquivo como corpo da solicitação, conteúdo tipo application/octet-stream ou multipart/form-data é usado.

As entidades usam uma estrutura plana quando possível para manter bons tempos de resposta. Em vez de incluir objetos filho inteiros nas respostas, as referências que contêm o ID, UID e alguns outros atributos são contidas. São esperados objetos IDReference ou UidReference para se referir a entidades relacionadas.

Todas as listas de resposta são paginadas. Usar os parâmetros pageNumber e pageSize para recuperar os dados solicitados. O tamanho máximo da página é 50.

Documentação

OpenAPI 3.0 é usado para API documentação. Geradores de código Swagger são recomendados para o desenvolvimento cliente.

Arquivos de documentação brutos:

API Exemplos

Obter lista de todas as memórias de tradução

GET

/web/api2/v1/transMemories

Resposta

200

{
    "pageNumber": 0,
    "content": [
        {
            "internalId": 1,
            "createdBy": {
                "userName": "admin",
                "id": "3",
                "firstName": "Jan",
                "lastName": "Janocko",
                "papel": "ADMIN",
                "email": "jan.janocko@phrase.com"
            },
            "cliente": null,
            "nota": "não é necessário utilizar em Memória de tradução",
            "dateCreated": "2018-01-09T14:07:46+0000",
            "id": "1",
            "targetLangs": [
                "es",
                "it"
            ],
            "subDomain": null,
            "businessUnit": {
                "id": "1",
                "name": "Primeira BU"
            },
            "sourceLang": "en",
            "domínio": null,
            "name": "Minha novo Memória de tradução"
        }
    ],
    "numberOfElements": 1,
    "totalElements": 1,
    "pageSize": 50,
    "totalPages": 1
}

Criar novo um memória de tradução

POSTAR

/web/api2/v1/transMemories

{{
"name": "Minha novo Memória de tradução",
"sourceLang": "en",
"targetLangs": [
"es", "it-IT"
],
"businessUnit": {
"id": "1"
},
"nota": "não é necessário usar em Memória de tradução"
}

Resposta

201

{
    "internalId": 1,
    "createdBy": {
        "userName": "admin",
        "id": "3",
        "firstName": "J",
        "lastName": "Jan",
        "papel": "ADMIN",
        "email": "jan.j@phrase.com"
    },
    "cliente": null,
    "nota": "não é necessário utilizar em Memória de tradução",
    "dateCreated": "2018-01-09T14:07:46+0000",
    "id": "1",
    "targetLangs": [
        "es",
        "it"
    ],
    "subDomain": null,
    "businessUnit": {
        "id": "1",
        "name": "Primeira BU"
    },
    "sourceLang": "en",
    "domínio": null,
    "name": "Minha novo Memória de tradução"
}

Adicionando arquivos ao criar um trabalho

Adicione esse arquivo ao corpo da solicitação como um anexo binário. Verifique se Phrase e os cabeçalhos Content-Disposition estão inseridos corretamente.

Exemplo de PHP do Postman:

<?php

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

$request->setQueryData(array(
'token' => 'Seu token vai aqui'
));

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

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

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

Tratamento de erros

Se houver um problema ao manuseio uma solicitação API, a seguinte estrutura JSON será retornada. O código erro estará sempre presente, a descrição detalhada pode ser nula.

{ "errorCode": "InvalidArguments",
"errorDescription": "Argumento obrigatório \"password\" do tipo \"string\" está ausente."
}

Uma resposta erro pode ser detectada lendo o código HTTP situação da resposta. Se ocorrer um erro, ele nunca será definido como 2xx. O código situação é 400 solicitação incorreta, 401 ou 403 para problemas de autenticação ou autorização.

Relatando problemas

Ao relatar o problema ao Suporte Técnico, inclua o seguinte no relatório:

  • API ponto de extremidade

  • Pedir

  • Hora (e fuso horário)

  • Resposta

  • Phrase-Action-ID da resposta

Esse artigo foi útil?

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.