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 para

  • Equipe, Profissional, Negócios, Empresa e Planos de UI/UX de Software

Entre em contato com o departamento de Vendas para perguntas sobre o licenciamento.

Webhooks são URLs arbitrárias que manipulam solicitações HTTP POST permitindo a notificação de sistemas de terceiros sobre eventos especificados.

A frase monitora se um callback de webhook foi recebido com sucesso. Se a recepção de um webhook falhar 3000 vezes, ele é desativado com uma notificação enviada aos Administradores da conta e a falha é anotada no webhook específico na página Webhooks. O mecanismo de repetição tem um máximo de 10 tentativas, com o intervalo entre as tentativas sendo calculado até um valor máximo de 30 minutos.

Webhooks podem ser desativados/ativados, exibir histórico, testados ou excluídos na página de webhooks selecionando o webhook individual para exibir a barra de ferramentas. A função Histórico fornece uma visão geral das chamadas nos últimos 14 dias e webhooks falhados podem ser reproduzidos.

Importante

A lista branca de conexões de Webhook por endereços IP foi descontinuada e foi substituída por tokens de segurança de Webhook.

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

  • Alvo do trabalho atualizado (Refere-se à ação Atualizar alvo 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 estas etapas:

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

    A página Webhooks é aberta.

  2. Clique em Adicionar webhook ou Novo.

    A página Criar novo webhook é aberta.

  3. Forneça um nome, URL e token de segurança, se necessário.

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

  4. Selecione eventos.

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

  6. Clique em Criar webhook.

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

Exemplos de uso do Webhook

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

Na próxima vez que um Status de Trabalho for alterado ou um Trabalho for criado na conta, a 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 o aplicativo conectado realizar certas ações.

Eventos

Exemplos de uma mudança de status de trabalho, uma atribuição de trabalho, criação de trabalho e quando a data de vencimento de um trabalho é alterada.

O status do trabalho foi alterado

{
"jobParts": [
  {
    "id": 9,
    "uid": "ipmdz5p0sagqcOYaijTZU2",
    "internalId": "4",
    "task": "SEfSaenvqFgctE1I0_dc1",
    "fileName": "en.txt",
    "targetLang": "af",
    "workflowLevel": 1,
    "status": "NEW",
    "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",
          "role": "ADMIN",
          "timezone": "Europe/London",
          "active": true,
          "deleted": false,
          "terminologist": false,
          "dateCreated": "2016-10-11T07:43:22Z"
        }
      }
    ]
  }
],
"event": "JOB_STATUS_CHANGED"
}

Job Assigned

{
"jobParts": [
  {
    "id": 9,
    "uid": "ipmdz5p0sagqcOYaijTZU2",
    "internalId": "4",
    "task": "SEfSaenvqFgctE1I0_dc1",
    "fileName": "en.txt",
    "targetLang": "af",
    "workflowLevel": 1,
    "status": "NEW",
    "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",
          "role": "ADMIN",
          "timezone": "Europe/London",
          "active": true,
          "deleted": false,
          "terminologist": false,
          "dateCreated": "2016-10-11T07:43:22Z"
        }
      }
    ]
  }
],
"event": "JOB_ASSIGNED"
}

Job Created

{
 "jobParts": [
   {
     "id": 9,
     "uid": "ipmdz5p0sagqcOYaijTZU2",
     "internalId": "4",
     "task": "SEfSaenvqFgctE1I0_dc1",
     "fileName": "en.txt",
     "targetLang": "af",
     "workflowLevel": 1,
     "status": "NEW",
     "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",
           "role": "ADMIN",
           "timezone": "Europe/London",
           "active": true,
           "deleted": false,
           "terminologist": false,
           "dateCreated": "2016-10-11T07:43:22Z"
         }
       }
     ]
   }
 ],
 "event": "JOB_CREATED"
}

Job Due Date Changed

{
  "jobParts": [
    {
      "id": 127865777,
      "uid": "ElTXvXnNIHEN2xgL5sU2L2",
      "internalId": "1",
      "task": "LvkAHilgobApeoVm_dc4",
      "fileName": "EU White Paper Edited.doc",
      "targetLang": "de",
      "workflowLevel": 1,
      "status": "NEW",
      "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": []
    }
  ],
  "event": "JOB_DUE_DATE_CHANGED"
}

estado da Tabela

Ao trabalhar com APIs, Webhooks e a UI, o status 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.