API de Phrase TMS

Webhooks (TMS)

El contenido se traduce automáticamente del inglés por Phrase Language AI.

Disponible para

  • Equipo, Profesional, Negocios, Empresa y planes de UI/UX de Software

Ponte en contacto con el equipo de ventas para preguntar por nuestros planes.

Los webhooks son URLs arbitrarias que manejan solicitudes HTTP POST permitiendo la notificación de sistemas de terceros sobre eventos específicos.

Phrase monitorea si se recibió exitosamente un callback de webhook. Si la recepción de un webhook falla 3000 veces, se desactiva con una notificación enviada a los Administradores de la cuenta y la falla se anota en el webhook específico en la página Webhooks. El mecanismo de reintento tiene un máximo de 10 reintentos con el intervalo entre reintentos calculado hasta un valor máximo de 30 minutos.

Los webhooks pueden ser desactivados/activados, mostrar historial, ser probados o eliminados desde la página de webhooks seleccionando el webhook individual para mostrar la barra de herramientas. La función Historial proporciona una visión general de las llamadas durante los últimos 14 días y los webhooks fallidos pueden ser reproducidos.

Importante

La inclusión en la lista blanca de conexiones de Webhook por direcciones IP fue desaprobada y ha sido reemplazada por tokens de seguridad de Webhook.

Los webhooks pueden ser seleccionados para los siguientes eventos:

  • Job status changed

  • Trabajo creado

  • Job assigned

  • La fecha de entrega del Trabajo ha cambiado

  • Fuente del trabajo actualizada

  • Objetivo de trabajo actualizado (Se refiere a la acción Actualizar objetivo en trabajos)

  • Trabajo continuo actualizado

  • Proyecto creado

  • Estado del proyecto cambiado

  • La fecha de entrega del Proyecto ha cambiado

  • Plantilla del proyecto creada

  • Plantilla de proyecto cambiada

  • Plantilla del proyecto eliminada

  • Shared project assigned

  • Metadatos del proyecto actualizados

  • Pre-traducción terminada

  • Se ha creado el análisis

  • Trabajo eliminado

  • Proyecto eliminado

  • Trabajo exportado

  • Trabajo no exportado

  • Importación de Language AI finalizada

  • Traducción del lenguaje AI terminada

Configurar Webhooks

Para configurar Webhooks, sigue estos pasos:

  1. Desde la página de Configuración Setup_gear.png, baja hasta la sección Integraciones y haz clic en Webhooks.

    Se abre la página Webhooks.

  2. Haz clic en Agregar webhook o Nueva.

    Se abre la página Crear nuevo webhook.

  3. Proporciona un nombre, URL y token de seguridad si es necesario.

    Especifique un valor que se incluirá en el encabezado x-memsource-token o en el encabezado Authorization, que permite al usuario elegir su método preferido para autenticar al remitente del webhook.

  4. Seleccionar eventos.

  5. Haga clic en Vista previa del esquema para ver la respuesta del webhook al ejecutarse.

  6. Haga clic en Crear webhook.

    El webhook se agrega a la lista en la página Webhooks.

Ejemplos de uso del webhook

Un sitio web llamado RequestBin proporcionará una URL para usar al crear un webhook.

La próxima vez que se cambie el estado de un trabajo o se cree un trabajo en la cuenta, la URL recibe la respuesta apropiada del sistema. El uso real puede ser más complejo y la recepción de la respuesta debe considerarse una señal para que la aplicación conectada realice ciertas acciones.

Eventos

Ejemplos de un cambio de estado de trabajo, una asignación de trabajo, creación de trabajo y cuando se cambia la fecha de vencimiento de un trabajo.

El estado del trabajo ha cambiado

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

Trabajo asignado

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

Trabajo Creado

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

Fecha de Vencimiento del Trabajo Cambiada

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

Tabla de Estado

Al trabajar con APIs, Webhooks y la UI, el estado puede tener un nombre ligeramente diferente.

API REST

Webhook

UI

NEW

NEW

NUEVO

ACCEPTED

ASSIGNED

ACEPTADO (por proveedor)

DECLINED

DECLINED_BY_LINGUIST

RECHAZADO (por proveedor)

REJECTED

REJECTED_BY_LINGUIST

RECHAZADO (por proveedor)

DELIVERED

COMPLETADO

ENTREGADO

EMAILED

EMAILED

ENVIADO POR CORREO (por proveedor)

COMPLETED

COMPLETED_BY_LINGUIST

COMPLETADO (por proveedor)

CANCELLED

CANCELLED

CANCELLED

¿Fue útil este artículo?

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.