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

  • Planos Team, Professional, Business, Enterprise e Software UI/UX

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

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

O Phrase monitora se um retorno de chamada de webhook foi recebido com sucesso. Se o recebimento de um webhook falhar 3000 vezes, ele é desativado com uma notificação enviada aos administradores da conta e a falha é registrada no webhook específico na página Webhooks. O mecanismo de nova tentativa 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, ter o histórico exibido, testados ou excluídos da 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 com falha podem ser repetidos.

Importante

A lista de permissões de conexões de webhook por endereços IP foi descontinuada e 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

  • Trabalho de tradução atualizado (Refere-se à ação Atualizar tradução em trabalhos)

  • Trabalho contínuo atualizado

    Disparado quando o texto original de um trabalho contínuo é atualizado via um repositório monitorado por conector. Não dispara para uma ação manual de Atualizar texto original em um trabalho regular (não contínuo).

  • 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 do Language AI concluída

  • Tradução do Language AI concluída

Configurar webhooks

Para configurar webhooks, siga estas etapas:

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

    A página de Webhooks é aberta.

  2. Clique em adicionar webhook ou Novo.

    A página criar 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. Selecionar eventos.

  5. Clique em prévia do esquema para visualizar a resposta do webhook ao executar.

  6. Clique em criar webhook.

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

Exemplos de uso de webhook

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

Na próxima vez que um estado do 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 alteração de estado do trabalho, uma atribuição de trabalho, criação de trabalho e quando a data de entrega de um trabalho é alterada.

O estado 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"
}

Trabalho criado

{
 "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"
}

Data de entrega do trabalho alterada

{
  "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"
}

Tabela de estado

Ao trabalhar com APIs, Webhooks e a UI, o estado pode ter nomes ligeiramente diferentes.

API REST

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.