Este é um cenário simples de API com chamadas de API de exemplo e instruções sobre como encadeá-las 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 respectivas seções da documentação da REST API para saber mais sobre todas as opções disponíveis.
A plataforma de API Postman foi usada para criar o cenário.
Nestes 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 está autenticado (o equivalente da API a fazer login).
-
Criação
A criação de um projeto simples, upload de trabalhos 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
Depois 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 do projeto) resulta em uma chamada de API malsucedida.
Etapa 1: Autenticação
Existem dois métodos de autenticação:
-
Chamada da API de Autenticação:
Gera um token de autenticação válido por 24 horas. O token precisa ser inserido em todas as APIs a seguir. O token valida os usuários e permite que eles realizem 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 da 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.
Use a API Login para autenticação com os parâmetros obrigatórios. Neste caso, nome de usuário e senha são obrigatórios.
-
Método
POST
-
URL da 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 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 da solicitação para especificar a qual organização o usuário deseja fazer login. Se não especificado, o usuário será conectado à conta padrão associada ao nome de usuário e senha fornecidos.
Etapa 2: Criação, importação e atribuição de projeto
Criação de Projeto
Use a chamada da API Projetos para criar um projeto com os parâmetros obrigatórios nome, sourceLang e targetLangs.
-
Método
POST
-
URL da Solicitação
https://cloud.memsource.com/web/api2/v3/projects
-
Corpo da solicitação
{ "name":"Meu projeto", "sourceLang":"en", "targetLangs":[ "de","fr" ]} -
Resposta
UID do Projeto (ex: KmtNyVlz1skQd2aMVEipp7)
É possível criar um modelo de projeto usando a chamada da API Criar modelo de projeto com o UID do projeto da última chamada.
-
Método
POST
-
URL da 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 (ex: 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 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 da 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", "cliente": { "id": "string" }, "businessUnit": { "id": "string" }, "domínio": { "id": "string" }, "subtema": { "id": "string" }, "costCenter": { "id": "string" } }{ "project": { "uid": "string" }, "name": "string", "importSettings": { "uid": "string" }, "useDynamicTitle": true, "dynamicTitle": "string" } -
Resposta
UID do Projeto (ex: 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 da API Criar Trabalho, os Headers da solicitação devem ser alterados para corresponder aos exigidos pela Phrase (em outras chamadas, o Postman adiciona automaticamente os cabeçalhos apropriados à solicitação).
Todos os parâmetros de importação precisam ser inseridos em um cabeçalho personalizado Memsource.
O cabeçalho Content-Disposition deve incluir o nome do arquivo em um formato predefinido para processar corretamente a solicitação de importação.
Para importar um arquivo de origem, vá para o corpo, selecione e a opção aparece.
-
Método
POST
-
URL da 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 (ex: dOYgeXzAdAbj4xFjuEVZP2)
AsyncRequest UID
Use Obter solicitação assíncrona com o AsyncRequest UID da chamada Criar trabalho para verificar se o trabalho foi criado com sucesso e se está funcional.
O UID do trabalho retornado é único 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 único para cada etapa do fluxo de trabalho.
As configurações de importação reutilizáveis podem ser configuradas com a chamada Criar configurações de importação. Um UID de configuração 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 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 o Listar usuários chamada da API.
Esta chamada da API não requer parâmetros específicos e retornará uma lista de todos os usuários na conta. A resposta contém tanto nomes de usuário quanto IDs.
Um parâmetro opcional, userName, pode ser adicionado à consulta permitindo que você liste apenas usuários com usernames 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, que representa o ID do modelo de e-mail a ser usado. Isso pode ser obtido usando a chamada Listar modelos de e-mail.
-
URL da Solicitação
https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs/notifyAssigned
-
Resposta
Vazio (Status 204: Sem conteúdo)
É aqui que o tradutor começaria a trabalhar em seu perfil, como se estivesse usando a interface do Phrase. Após a conclusão do trabalho, o GP responsável recebe uma notificação, e a próxima parte do cenário é iniciada. Um callback pode ser interceptado via webhooks para iniciar automaticamente a próxima parte do cenário, mas isso não será abordado neste exemplo.
Etapa 3: Baixar arquivo traduzido (Concluído), definir o projeto como concluído.
Baixar arquivo traduzido
Este cenário funciona com a suposição de que um tradutor conclui sua tarefa (marca o trabalho como Concluído), mas o arquivo concluído pode ser baixado a qualquer momento, o trabalho não precisa ter o status 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 na solicitação assíncrona chamadas.
A primeira etapa é chamar Baixar arquivo de tradução (assíncrono) com os parâmetros projectUid e jobUid. Se você estiver baixando o arquivo concluído de um projeto com várias etapas de fluxo de trabalho, certifique-se de usar o jobUid da etapa de fluxo de trabalho específica da qual você gostaria de baixar o arquivo concluído, por exemplo, etapa de revisão do fluxo de trabalho.
-
Para recuperar o jobUID para uma etapa de 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 baixar o arquivo concluído.
-
Copie a parte única da URL após /job do navegador.
-
-
Use a chamada Listar trabalhos da API.
Este endpoint retorna uma lista de trabalhos dentro do projeto especificado. Use 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 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 Baixar arquivo de tradução (assíncrono) inicia uma solicitação assíncrona para gerar e baixar o arquivo de tradução contendo traduções. Não fornece diretamente o arquivo de tradução na resposta, mas um asyncRequestId necessário para a chamada seguinte.
-
Método
PUT
-
URL da Solicitação
https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/targetFile
-
Resposta
AsyncRequest ID
Use Obter solicitação assíncrona com o asyncRequestID da resposta para verificar se a solicitação foi concluída. Assim que a solicitação assíncrona for concluída, você pode baixar o arquivo de tradução usando a chamada Baixar arquivo de tradução com base na solicitação assíncrona. O asyncRequestId pode ser usado apenas uma vez. Uma vez que o download é iniciado, o asyncRequestId se torna inválido para uso posterior.
-
Método
GET
-
URL da Solicitação
https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/downloadTargetFile/1291716982
-
Resposta
Resposta binária com o arquivo concluído em si
Definir Projeto como Concluído
Para finalizar o projeto quando o trabalho no projeto estiver concluído, use a chamada Editar estado do projeto com os parâmetros obrigatórios projectUid e status para alterar o estado de todo o projeto para Concluído. Essa alteração é manual, mas se Automatização de estado do projeto for usada, o estado será alterado automaticamente. Também é possível aguardar um webhook e iniciar outras ações com base no callback recebido.
-
Método
POST
-
URL da Solicitação
https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/setStatus
-
Corpo da solicitação
{ "status": "CONCLUÍDO"} -
Resposta
Vazio (Status 204: Sem conteúdo)