API do Phrase TMS

Webhooks (TMS)

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

Disponível a partir de

  • Planos Team, Professional, Business e Enterprise

Entre em contato com Comércio para perguntas de licenciamento.

Os webhooks são URLs arbitrárias que processam solicitações POST HTTP permitindo a notificação de sistemas de terceiros sobre eventos específicos.

O phrase monitora se um callback de webhook foi recebido. Se uma recepção de webhook falhar 3000 vezes, ela é desativada com uma notificação enviada aos administradores da conta e a falha é notada no webhook específico na página Webhooks. O mecanismo de repetição tem um máximo de 10 repetições com o intervalo entre as repetições sendo calculado até um valor máximo de 30 minutos.

Os webhooks podem ser desativados/habilitados, testados ou excluídos da página de webhooks pondo sobre webhooks individuais e clicando em ellipses.png para acessar o menu. A função Histórico fornece uma visão geral das chamadas nos últimos 14 dias e os webhooks com erro podem ser reproduzidos.

Importante

As conexões do webhook em lista branca por endereços IP foram obsoletas e foram substituídas por tokens de segurança do webhook.

Os webhooks podem ser selecionados para os seguintes eventos:

  • Job status changed

  • Trabalho criado

  • Job assigned

  • Data de entrega do trabalho alterada

  • Original do trabalho atualizado

  • Atualizar tradução trabalho (referente à ação Atualizar tradução em trabalhos)

  • Trabalho contínuo atualizado

  • Projeto criado

  • Estado do projeto alterado

  • Data de entrega do projeto alterada

  • Modelo de projeto criado

  • Modelo de projeto alterado

  • Modelo de projeto excluído

  • Shared project assigned

  • Metadados do projeto atualizados

  • Pré-tradução concluída

  • Análise criada

  • Trabalho excluído

  • Projeto excluído

  • Trabalho exportado

  • Trabalho não exportado

  • Importação de Language AI concluída

  • Tradução do Language AI concluída

Configurar Webhooks

Para configurar Webhooks, siga estes passos:

  1. Na página de Setup_gear.png de configurações role para baixo até a seção de Integrações e clique em Webhooks.

    A página Webhooks é aberta.

  2. Clique em Adicionar webhook.

    A página de criação é aberta.

  3. Forneça URL.

  4. Forneça token de segurança se necessário.

    Especifique um valor a ser incluído no cabeçalho do token x-memsource ou no cabeçalho de autenticação, que permita ao usuário escolher o método preferido para autenticar o remetente do webhook.

  5. Selecionar eventos.

  6. Clique em Prévia esquema para ver a resposta do webhook ao executar.

  7. Clique em Criar webhook.

    O webhook está adicionado à lista na página Webhooks.

Exemplos de uso de webhook

Um site chamado RequestBin fornecerá uma URL para usar ao criar um webhook.

A Seguinte vez que um estado de trabalho for alterado ou um trabalho for criado na conta, o URL receberá a resposta apropriada do sistema. O uso real pode ser mais complexo e o recebimento da resposta deve ser considerado um sinal para que a aplicação conectada faça algumas ações.

Eventos

Exemplos de alterar o estado de um trabalho, atribuir um trabalho, criar trabalho e quando a data de entrega de um trabalho é alterada.

O estado do trabalho mudou

{
"jobParts": [
  {
    "id": 9,
    "uid": "ipmdz5p0sagqcOYaijTZU2",
    "internalId": "4",
    "task": "SEfSaenvqFgctE1I0_dc1",
    "fileName": "en.txt",
    "targetLang": "af",
    "workflowLevel": 1,
    "status": "NOVO",
    "wordsCount": 2,
    "beginIndex": 0,
    "endIndex": 1,
    "isParentJobSplit": false,
    "dateDue": null,
    "dateCreated": "2016-11-02T17:06:54Z",
    "project": {
      "id": 2,
      "uid": "4RvyVbwX00KerkomA7kpT9",
      "lastWorkflowLevel": 1
    },
    "assignedTo": [
      {
        "vendor": {
          "id": 1,
          "name": "Abc",
          "vendorToken": "4-ifos0-CAqPo"
        }
      },
      {
        "linguist": {
          "id": 3,
          "firstName": "Admin",
          "lastName": "Admin",
          "userName": "admin",
          "email": "admin@example.com",
          "função": "ADMIN",
          "timezone": "Europa/Londres",
          "active": true,
          "deleted": false,
          "terminologist": false,
          "dateCreated": "2016-10-11T07:43:22Z"
        }
      }
    ]
  }
],
"evento": "JOB_STATUS_CHANGED"
}

Trabalho atribuído

{
"jobParts": [
  {
    "id": 9,
    "uid": "ipmdz5p0sagqcOYaijTZU2",
    "internalId": "4",
    "task": "SEfSaenvqFgctE1I0_dc1",
    "fileName": "en.txt",
    "targetLang": "af",
    "workflowLevel": 1,
    "status": "NOVO",
    "wordsCount": 2,
    "beginIndex": 0,
    "endIndex": 1,
    "isParentJobSplit": false,
    "dateDue": null,
    "dateCreated": "2016-11-02T17:06:54Z",
    "project": {
      "id": 2
      "uid": "4RvyVbwX00KerkomA7kpT9",
      "lastWorkflowLevel": 1
    },
    "assignedTo": [
      {
        "vendor": {
          "id": 1,
          "name": "Abc",
          "vendorToken": "4-ifos0-CAqPo"
        }
      },
      {
        "linguist": {
          "id": 3,
          "firstName": "Admin",
          "lastName": "Admin",
          "userName": "admin",
          "email": "admin@example.com",
          "função": "ADMIN",
          "timezone": "Europa/Londres",
          "active": true,
          "deleted": false,
          "terminologist": false,
          "dateCreated": "2016-10-11T07:43:22Z"
        }
      }
    ]
  }
],
"evento": "JOB_ASSIGNED"
}

Trabalho criado

{
 "jobParts": [
   {
     "id": 9,
     "uid": "ipmdz5p0sagqcOYaijTZU2",
     "internalId": "4",
     "task": "SEfSaenvqFgctE1I0_dc1",
     "fileName": "en.txt",
     "targetLang": "af",
     "workflowLevel": 1,
     "status": "NOVO",
     "wordsCount": 2,
     "beginIndex": 0,
     "endIndex": 1,
     "isParentJobSplit": false,
     "dateDue": null,
     "dateCreated": "2016-11-02T17:06:54Z",
     "project": {
       "id": 2,
       "uid": "4RvyVbwX00KerkomA7kpT9",
       "lastWorkflowLevel": 1
     },
     "assignedTo": [
       {
         "vendor": {
           "id": 1,
           "name": "Abc",
           "vendorToken": "4-ifos0-CAqPo"
         }
       },
       {
         "linguist": {
           "id": 3,
           "firstName": "Admin",
           "lastName": "Admin",
           "userName": "admin",
           "email": "admin@example.com",
           "função": "ADMIN",
           "timezone": "Europa/Londres",
           "active": true,
           "deleted": false,
           "terminologist": false,
           "dateCreated": "2016-10-11T07:43:22Z"
         }
       }
     ]
   }
 ],
 "evento": "JOB_CREATED"
}

Data de entrega do trabalho alterada

{
  "jobParts": [
    {
      "id": 127865777,
      "uid": "ElTXvXnNIHEN2xgL5sU2L2",
      "internalId": "1",
      "task": "LvkAHilgobApeoVm_dc4",
      "fileName": "Livro Branco UE Editado.doc",
      "targetLang": "de",
      "workflowLevel": 1,
      "status": "NOVO",
      "wordsCount": 204,
      "beginIndex": 0,
      "endIndex": 16,
      "isParentJobSplit": false,
      "dateDue": "2018-09-11T22:00:00Z",
      "dateCreated": "2018-09-10T06:25:41Z",
      "project": {
        "id": 12277756,
        "uid": "4RvyVbwX00KerkomA7kpT9
        "lastWorkflowLevel": 1
      },
      "assignedTo": []
    }
  ],
  "evento": "JOB_DUE_DATE_CHANGED"
}

Tabela de estado

Ao trabalhar com APIs, Webhooks e a interface, o estado pode ser nomeado de forma ligeiramente diferente.

Rest API

Webhook

UI

NEW

NEW

NOVO

ACCEPTED

ASSIGNED

ACEITO (por responsável)

DECLINED

DECLINED_BY_LINGUIST

REJEITADO (por responsável)

REJECTED

REJECTED_BY_LINGUIST

REJEITADO (por responsável)

DELIVERED

COMPLETED

ENTREGUE

EMAILED

EMAILED

ENVIADO POR E-MAIL (por responsável)

COMPLETED

COMPLETED_BY_LINGUIST

CONCLUÍDO (por responsável)

CANCELLED

CANCELLED

CANCELLED

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.