API do Phrase TMS

Using APIs (TMS)

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

Este é um cenário de API simples com chamadas de API de amostra e instruções sobre como ligá-las junto para Concluir uma ação simples usando apenas APIs. As opções que podem ser definidas por meio das APIs são extensas. Consulte as seções respectivas da documentação da API REST para descobrir mais sobre todas as opções disponíveis.

A plataforma da API Postman foi usada para criar o cenário.

Nesses exemplos, o URL de solicitação padrão começa com https://cloud.memsource.com. Caso as APIs sejam utilizadas por uma organização no centro de dados dos EUA, o URL da solicitação deve começar com https:/us.cloud.memsource.com.

Cenário

  1. Autenticação  

    O usuário está autenticado (o equivalente da API para login).

  2. Criação  

    A criação de um projeto simples, trabalhos com upload feito e atribuição de linguista com notificação por e-mail.

  3. Tradução 

    Trabalhos de tradução feitos fora do cenário da API (em qualquer um dos Editores).

  4. Função de API 

    Quando a tarefa é concluída (marcada como Concluída pelo linguista), o estado do projeto é definido como Concluído, e o documento concluído é baixado do projeto.

Metodologia

Cada chamada de API REST individual tem um método apropriado listado. Usar um método incorreto (p.ex. GET em vez de POST na chamada de criação do projeto) resulta em uma chamada de API sem sucesso.

Etapa 1: Autenticação

Existem dois métodos de autenticação:

  1. Loja de API de autenticação:

    Gerará um token de autenticação válido por 24 horas. O token precisa ser inserido em todas as seguintes APIs. O token valida usuários e permite que eles façam outras funções no perfil.

  2. oAuth 2.0:

    Permite a validação de um aplicativo. Um aplicativo validado está em comunicação contínua com ele e não precisa de mais autenticação.

Para este cenário, é usada a chamada da API de autenticação. O token gerado é necessário para todas as chamadas de API a seguir e não está listado em parâmetros de exemplo.

Use a API Login para autenticação com os parâmetros necessários. Neste caso, são necessários nome de usuário e senha.

  • Método 

    POST

  • Solicitar URL 

    https://cloud.memsource.com/web/api2/v3/auth/login

  • Solicitar corpo: 

    { "userName":"username", "password":"password"}
  • Resposta 

    Token de autenticação.

Membros de várias organizações TMS têm o mesmo nome de usuário e senha para várias contas. Neste caso, o userUid deve ser adicionado ao corpo de solicitação para especificar qual organização o usuário deseja acessar. Se não especificado, o usuário está conectado à conta padrão associada ao nome de usuário e senha.

Etapa 2: Criação, importação e atribuição de projeto

Criação do projeto

Use a chamada da API Projetos para criar um projeto com os parâmetros obrigatórios nome, sourceLang e targetLangs.

  • Método 

    POST

  • Solicitar URL 

    https://cloud.memsource.com/web/api2/v3/projects

  • Solicitar corpo 

    { "name":"My project", "sourceLang":"en", "targetLangs":[ "de","fr" ]}
  • Resposta 

    UID do projeto (por exemplo, KmtNyVlz1skQd2aMVEipp7)

É possível criar um modelo de projeto usando a chamada API Criar modelo de projeto com o UID do projeto a partir da última chamada.

  • Método 

    POST

  • Solicitar URL 

    https://cloud.memsource.com/web/api2/v1/projectTemplates

  • Solicitar corpo 

    {
      "project": {
        "uid": "string"
      },
      "name": "string",
      "importSettings": {
        "uid": "string"
      },
      "useDynamicTitle": true,
      "dynamicTitle": "string"
    }
  • Resposta 

    UID do modelo projeto (por exemplo: AmtNyVlz1skQd2aMVEipp8)

A maneira mais eficiente de criar projetos é usar um modelo de projeto. Use Criar projeto a partir do modelo com o UID do modelo do projeto a partir da última chamada para criar um novo projeto com base nas configurações do modelo do projeto.

A expressão {templateUid} serve como marcador de posição no URL de solicitação onde o UID do modelo do projeto obtido é inserido. 

  • Método 

    POST

  • Solicitar URL 

    https://cloud.memsource.com/web/api2/v2/projects/applyTemplate/oNQiljwTGHpd2l1nnQRiu4

  • Solicitar corpo 

    {
      "name": "string",
      "sourceLang": "string",
      "targetLangs": [
        "string"
      ],
      "workflowSteps": [
        {
          "id": "string"
        }
      ],
      "dateDue": "2019-08-24T14:15:22Z",
      "note": "string",
      "client": {
        "id": "string"
      },
      "businessUnit": {
        "id": "string"
      },
      "domain": {
        "id": "string"
      },
      "subDomain": {
        "id": "string"
      },
      "costCenter": {
        "id": "string"
      }
    }{
      "project": {
        "uid": "string"
      },
      "name": "string",
      "importSettings": {
        "uid": "string"
      },
      "useDynamicTitle": true,
      "dynamicTitle": "string"
    }
  • Resposta 

    UID do projeto (por exemplo, BmtNyVlz1skQd2aMVEipp9)

Criação do trabalho

Com o UID do projeto na última chamada, novos trabalhos podem ser adicionados diretamente ao projeto recém-criado usando Criar trabalho.

A expressão {projectUid} serve como marcador de posição no URL de solicitação onde o UID do projeto obtido é inserido. Com a chamada da API Criar trabalho, os cabeçalhos da solicitação devem ser alterados para correspondência com as exigidas pelo phrase (em outras chamadas, o Postman adiciona automaticamente cabeçalhos apropriados à solicitação).

Todos os parâmetros importados precisam ser inseridos em um cabeçalho personalizado Memsource.

O cabeçalho Conteúdo-Disposição deve incluir o nome do arquivo em um formato predefinido para que o pedido seja processado corretamente.

Para importar um arquivo original do texto, acesse o corpo, selecione binário e a opção Selecionar arquivo aparecerá.

  • Método 

    POST

  • Solicitar URL 

    https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs 

  • (Cabeçalho) Conteúdo-Disposição 

    filename*=UTF-8''file.txt 

  • (Cabeçalho) Memsource 

    {"targetLangs":["de","fr"]} 

  • (Cabeçalho) Tipo de conteúdo 

    application/octet-stream

  • Resposta 

    UID do trabalho (por exemplo, dOYgeXzAdAbj4xFjuEVZP2)

    Assíncrono Solicitar UID

Use Receber solicitação assíncrona com o UID AsyncRequest da chamada Criar trabalho para verificar que o trabalho foi criado com êxito e que ele é funcional.

O UID do trabalho retornado é único em cada etapa do fluxo de trabalho do projeto. Assim, se o trabalho for criado em um projeto com fluxo de trabalho, a resposta retornará uma UID única do trabalho para cada etapa do fluxo de trabalho. 

Configurações importar reutilizáveis podem ser configuradas com a chamada Criar configurações importar. Um UID de configuração de importar que pode ser usado na chamada de trabalho do criar é recebido na resposta.

Para atribuir responsáveis ao trabalho (a menos que sejam atribuídos diretamente na chamada Criar trabalho) use a chamada Edicionar trabalho.

O ID do responsável que é inserido na chamada pode ser obtido de duas maneiras:

  • Para recuperar o ID do aplicativo phrase, execute estas etapas: 

    1. Na Setup_gear.pngpágina de configurações role para baixo até a seção Administração e clique em Usuários ou clique em Usuários na barra lateral.

      A página Usuários é aberta.

    2. Clique no nome do usuário e copie a última parte do URL do navegador.

    3. Use esta parte como o ID desse usuário.

  • Use a chamada da API List users. 

    Esta chamada de API não requer nenhum parâmetro específico e retornará uma lista de todos os usuários na conta. A resposta contém nomes de usuário e IDs.

    Um parâmetro opcional, o nome de usuário, pode ser adicionado à consulta permitindo que você lista apenas usuários com nomes de usuário específicos.

Notificar usuários atribuídos

O ID U do trabalho pode ser usado como um parâmetro opcional na chamada Notificar usuários atribuídos, juntamente com o parâmetro e-mail model que representa o ID do modelo de e-mail a ser usado. Isso pode ser obtido usando a chamada modelos de e-mail de lista.

  • Solicitar URL 

    https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs/notifyAssigned

  • Resposta 

    Empty (estado 204: Nenhum conteúdo) 

É nisto que o tradutor começaria a trabalhar no seu perfil, assim como se tivesse usado a interface do phrase. Após o trabalho terminar, o GP encarregado recebe uma notificação e a Seguinte parte do cenário é iniciada. Uma chamada de retorno pode ser interceptada por meio de webhooks para iniciar automaticamente a Parte Seguinte do cenário, mas isso não será abordado neste exemplo.

Etapa 3: Baixar arquivo traduzido (concluir) e definir o projeto como concluído

Baixar arquivo traduzido

Este cenário funciona com a suposição de que um tradutor conclui seu trabalho (marca o trabalho como Concluído), mas o arquivo concluído pode ser baixado a qualquer momento, o trabalho não precisa ter o estado Concluído.  

Para baixar um arquivo traduzido, são necessárias duas chamadas de API: Baixar arquivo de tradução (assíncrono) e Baixar arquivo de tradução com base nas chamadas de solicitação assíncrono.

A primeira etapa é ligar Baixar arquivo de tradução (asincronizado) com os parâmetros projectUid e jobUid. Se você estiver baixando o arquivo concluído de um projeto com várias etapas do fluxo de trabalho, certifique-se de usar o jobUid da etapa do fluxo de trabalho específica da qual você gostaria de baixar o arquivo concluído, p.ex., etapa do fluxo de trabalho de revisão.

  • Para recuperar o jobUID de uma etapa do fluxo de trabalho específica do aplicativo phrase, execute estas etapas: 

    1. Abra o projeto.

    2. Na tabela Trabalhos, mude para a etapa do fluxo de trabalho a partir da qual você gostaria de baixar o arquivo concluído.

    3. Copiar a parte exclusiva do URL após /trabalho do navegador.

  • Use a chamada API trabalhos de lista. 

    Este endpoint retorna uma lista de trabalhos no projeto especificado. Use a chamada com o parâmetro de consulta workflowLevel. Este parâmetro é um parâmetro baseado em não zero que indica a etapa do fluxo de trabalho ao qual os trabalhos retornados pertencem. Se não especificado, seu valor é definido como padrão para 1 (= primeira etapa do fluxo de trabalho). Por exemplo, se você precisar obter os trabalhos da etapa de revisão, especifique o número da etapa na consulta, ou seja, 2.

A chamada para baixar arquivo de tradução (asíncrono) inicia uma solicitação assíncrona para gerar e baixar o arquivo de tradução contendo traduções. Ele não fornece diretamente o arquivo de tradução dentro da resposta, mas um asyncRequestId necessário para a chamada seguinte. 

  • Método 

    PUT

  • Solicitar URL 

    https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/targetFile 

  • Resposta 

    Assíncrono Solicitar ID

Use Receber solicitação assíncrona com o syncRequestID da resposta para verificar se a solicitação foi concluída. Depois da conclusão da solicitação assíncrona, você pode baixar o arquivo de tradução usando o arquivo de tradução baixando com base na chamada de solicitação assíncrona. O asyncRequestId só pode ser usado uma vez. Assim que o baixar é iniciado, o asyncRequestId torna-se inválido para uso adicional.

  • Método 

    INSTALAR

  • Solicitar URL 

    https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/downloadTargetFile/1291716982 

  • Resposta 

    Resposta binária com o próprio arquivo concluído

Definir projeto como concluído

Para finalizar o projeto após o trabalho no projeto Concluir, use a chamada Edicionar estado do projeto com os parâmetros obrigatórios projectUid e estado para alterar o estado de todo o projeto a ser concluído. Essa alteração é manual, mas se a automatização do estado do projeto for usada, o estado será alterado automaticamente. Também é possível esperar por um webhook e iniciar outras ações com base na chamada de retorno recebida.

  • Método 

    POST

  • Solicitar URL 

    https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/setStatus 

  • Solicitar corpo 

    { "status": "CONCLUÍDO"}
  • Resposta 

    Empty (estado 204: Nenhum conteúdo)

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.