Este é um cenário de API simples com exemplos de chamadas de API e instruções sobre como encadeá-las para Concluir uma ação simples usando apenas APIs. As opções que podem ser definidas via APIs são extensas. Consulte as respectivas seções da documentação da API REST para saber mais sobre todas as opções disponíveis.
A plataforma de API Postman foi usada para Criar o cenário.
Nesses exemplos, a URL de solicitação padrão começa com https://cloud.memsource.com. Caso as APIs sejam usadas por uma organização no centro de dados dos EUA, a URL de solicitação deve começar com https://us.cloud.memsource.com.
Cenário
-
autenticação
O usuário é autenticado (o equivalente da API para fazer login).
-
Criação
A criação de um projeto simples, trabalhos carregados e atribuição de linguista com notificação por e-mail.
-
Tradução
Trabalho de tradução realizado fora do cenário da API (em qualquer um dos Editores).
-
Função da API
Assim que a atribuição é concluída (marcada como Concluído pelo linguista), o estado do projeto é definido como Concluído e o documento finalizado é baixado do projeto.
Metodologia
Cada chamada de API REST individual tem um método apropriado listado. Usar um método incorreto (por exemplo, GET em vez de POST na chamada de criação de projeto) resulta em uma chamada de API malsucedida.
Etapa 1: autenticação
Existem dois métodos de autenticação:
-
Chamada de API de autenticação:
Gera um token de autenticação válido por 24 horas. O token precisa ser inserido em todas as APIs seguintes. O token valida usuários e permite que eles executem quaisquer outras funções dentro do perfil.
-
Permite a validação de um aplicativo. Um aplicativo validado está em comunicação contínua e não precisa de mais autenticação.
Para o cenário, a chamada de API de autenticação é usada. O token gerado é necessário para todas as chamadas de API seguintes e não está listado nos parâmetros de exemplo.
Usar a API Login para autenticação com os parâmetros necessários. Neste caso, username e password são necessários.
-
Método
POST
-
URL de solicitação
https://cloud.memsource.com/web/api2/v3/auth/login
-
Corpo da solicitação:
{ "userName":"username", "password":"password"} -
Resposta
Token de autenticação.
Membros de múltiplas organizações TMS têm o mesmo nome de usuário e senha para múltiplas contas. Neste caso, o userUid deve ser adicionado ao corpo da solicitação para especificar em qual organização o usuário deseja fazer login. Se não especificado, o usuário está conectado à conta padrão associada ao nome de usuário e senha fornecidos.
Etapa 2: Criação, importar e atribuição de projeto
Criação de projeto
Use a chamada de API Projetos para criar um projeto com os parâmetros obrigatórios name, sourceLang e targetLangs.
-
Método
POST
-
URL de solicitação
https://cloud.memsource.com/web/api2/v3/projects
-
Corpo da solicitação
{ "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 de API Criar modelo de projeto com o UID do projeto da última chamada.
-
Método
POST
-
URL de solicitação
https://cloud.memsource.com/web/api2/v1/projectTemplates
-
Corpo da solicitação
{ "project": { "uid": "string" }, "name": "string", "importSettings": { "uid": "string" }, "useDynamicTitle": true, "dynamicTitle": "string" } -
Resposta
UID do modelo de projeto (por exemplo, AmtNyVlz1skQd2aMVEipp8)
A maneira mais eficiente de criar projetos é usar um modelo de projeto. Use Criar projeto a partir de modelo com o UID do modelo de projeto da última chamada para criar um novo projeto com base nas configurações do modelo de projeto.
A expressão {templateUid} serve como um marcador de posição na URL da solicitação onde o UID do modelo de projeto obtido é inserido.
-
Método
POST
-
URL de solicitação
https://cloud.memsource.com/web/api2/v2/projects/applyTemplate/oNQiljwTGHpd2l1nnQRiu4
-
Corpo da solicitação
{ "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 de trabalho
Com o UID do projeto da última chamada, novos trabalhos podem ser adicionados diretamente ao projeto recém-criado usando Criar trabalho.
A expressão {projectUid} serve como um marcador de posição na URL da solicitação onde o UID do projeto obtido é inserido. Com a chamada de API Criar trabalho, os Cabeçalhos da solicitação devem ser alterados para corresponder aos exigidos pelo Phrase (em outras chamadas, o Postman adiciona automaticamente os cabeçalhos apropriados à solicitação).
Todos os parâmetros de importar precisam ser inseridos em um cabeçalho Memsource Personalizado.
O cabeçalho Content-Disposition deve incluir o nome do arquivo em um formato predefinido para processar corretamente a solicitação de importar.
Para importar um arquivo de texto original, vá para o corpo, selecione e a opção aparecerá.
-
Método
POST
-
URL de solicitação
https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs
-
(Cabeçalho) Content-Disposition
filename*=UTF-8''file.txt -
(Cabeçalho) Memsource
{"targetLangs":["de","fr"]} -
(Cabeçalho) Content-Type
application/octet-stream
-
Resposta
UID do trabalho (por exemplo, dOYgeXzAdAbj4xFjuEVZP2)
UID de AsyncRequest
Use Obter solicitação assíncrona com o UID de AsyncRequest da chamada de Criar trabalho para verificar se o trabalho foi criado com sucesso e se está funcional.
O UID do trabalho retornado é exclusivo em cada etapa do fluxo de trabalho do projeto. Portanto, se o trabalho for criado em um projeto com fluxo de trabalho, a resposta retorna um UID de trabalho exclusivo para cada etapa do fluxo de trabalho.
Configurações de importação reutilizáveis podem ser configuradas com a chamada Criar configurações de importação. Um UID de configurações de importação que pode ser usado na chamada de criar trabalho é recebido na resposta.
Para atribuir responsáveis ao trabalho (a menos que atribuídos diretamente na chamada de Criar trabalho), use a chamada Editar trabalho.
O ID do responsável que é inserido na chamada pode ser obtido de duas maneiras:
-
Para recuperar o ID do aplicativo Phrase, siga estas etapas:
-
Use a lista de usuários chamada de API.
Esta chamada de API não requer parâmetros específicos 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, userName, pode ser adicionado à consulta permitindo que você liste apenas usuários com nomes de usuário específicos.
Notificar usuários atribuídos
O UID do trabalho pode então ser usado como um parâmetro opcional na chamada Notificar usuários atribuídos junto com o parâmetro emailTemplate representando o ID do modelo de e-mail a ser usado. Isso pode ser obtido usando a chamada lista de modelos de e-mail.
-
URL de solicitação
https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs/notifyAssigned
-
Resposta
vazio (estado 204: Sem conteúdo)
É aqui que o tradutor começaria a trabalhar em seu perfil como se a interface do Phrase estivesse sendo usada. Após o trabalho ser concluído, o GP responsável recebe uma notificação, e a Seguinte parte do cenário é iniciada. Um retorno de chamada pode ser interceptado via webhooks para iniciar automaticamente a Seguinte parte do cenário, mas isso não será abordado neste exemplo.
Etapa 3: Download do arquivo de tradução (concluir), definir projeto como concluído
Download do arquivo de tradução
Este cenário funciona com a suposição de que um tradutor termina seu trabalho (marca o trabalho como concluir), mas o arquivo de tradução pode ser baixado a qualquer momento, o trabalho não precisa ter o estado concluir.
Para fazer o download de um arquivo de tradução, duas chamadas de API são necessárias: Download do arquivo de tradução (async) e Download do arquivo de tradução com base na solicitação async.
A primeira etapa é chamar Download do arquivo de tradução (async) com os parâmetros projectUid e jobUid. Se você estiver fazendo o download do arquivo de tradução 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 fazer o download do arquivo de tradução, por exemplo, etapa do fluxo de trabalho de revisão.
-
Para recuperar o jobUID para uma etapa do fluxo de trabalho específica do aplicativo Phrase, siga estas etapas:
-
Abra o projeto.
-
Na tabela de trabalhos, mude para a etapa do fluxo de trabalho da qual você gostaria de fazer o download do arquivo de tradução.
-
Copie a parte exclusiva da URL após /job do navegador.
-
-
Usar a lista de trabalhos chamada de API.
Este endpoint retorna uma lista de trabalhos dentro do projeto especificado. Usar a chamada com o parâmetro de consulta
workflowLevel. Este parâmetro não é baseado em zero e indica a etapa do fluxo de trabalho à qual os trabalhos retornados pertencem. Se não for especificado, seu valor é definido como1(= primeira etapa do fluxo de trabalho) por padrão. Por exemplo, se você precisar obter os trabalhos da etapa de revisão, especifique o número dessa etapa no parâmetro de consulta, ou seja,2.
A chamada Download de arquivo de tradução (assíncrona) inicia uma solicitação assíncrona para gerar e fazer o download do arquivo de tradução contendo traduções. Ela não fornece diretamente o arquivo de tradução na resposta, mas sim um asyncRequestId necessário para a chamada a seguir.
-
Método
PUT
-
URL de solicitação
https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/targetFile
-
Resposta
ID de solicitação assíncrona
Usar Obter solicitação assíncrona com o asyncRequestID da resposta para verificar se a solicitação foi Concluir. Assim que a solicitação assíncrona for Concluir, você pode fazer o download da tradução usando a chamada Download target file based on async request. O asyncRequestId pode ser usado apenas uma vez. Assim que o download for iniciado, o asyncRequestId torna-se inválido para uso posterior.
-
Método
INSTALAR
-
URL de solicitação
https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/downloadTargetFile/1291716982
-
Resposta
Resposta binária com o próprio arquivo Concluir
Definir projeto como Concluir
Para finalizar o projeto assim que o trabalho no projeto estiver Concluir, usar a chamada Edit project status com os parâmetros obrigatórios projectUid e status para alterar o estado de todo o projeto para Completed. Esta alteração é manual, mas se Project Status Automation for usado, o estado será alterado automaticamente. Também é possível aguardar um webhook e iniciar outras ações com base no retorno de chamada recebido.
-
Método
POST
-
URL de solicitação
https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/setStatus
-
Corpo da solicitação
{ "status": "COMPLETED"} -
Resposta
vazio (estado 204: Sem conteúdo)