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.

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

Phrase monitora se um retorno de chamada de webhook foi recebido com sucesso. Se uma recepção de 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 webhook. 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.

webhook podem ser desativados/ativados, exibir histórico, testados ou excluídos da página de webhook 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 webhook com falha podem ser reproduzidos.

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.

webhook 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 tradução atualizado (Refere-se à 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

  • importar Language AI concluído

  • Tradução do Language AI concluída

Configurar webhook

Para configurar webhook, siga estas etapas:

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

    A página de webhook abre.

  2. Clique em adicionar webhook ou Novo.

    A página criar novo webhook abre.

  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 selecionar seu método preferido para autenticar o remetente do webhook.

  4. Selecionar eventos.

  5. Clique em Preview schema para visualizar a resposta do webhook ao executar.

  6. Clique em Create webhook.

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

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 que o aplicativo conectado execute determinadas 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 interface do usuário, 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.