API de Phrase TMS

Webhooks (TMS)

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

Disponible para

  • Planes Team, Professional, Business y Enterprise

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

Los webhooks son direcciones URL arbitrarias que gestionan solicitudes HTTP POST permitiendo la notificación de eventos específicos a sistemas de terceros.

phrase monitoriza si se ha recibido correctamente una rellamada webhook. Si una recepción webhook falla 3000 veces, se desactiva con una notificación enviada a los administradores de la cuenta y el error se observa en el webhook específico de la página Webhooks. El mecanismo de reintento tiene un máximo de 10 reintentos, computándose el intervalo entre reintentos hasta un valor máximo de 30 minutos.

Los webhooks se pueden deshabilitar/habilitar, probar o eliminar de la página webhooks pasando el cursor por webhooks individuales y haciendo clic en ellipses.png para acceder al menú. La función Historial proporciona un resumen de las llamadas realizadas durante los últimos 14 días y se pueden reproducir webhooks con errores.

Importante

La lista blanca de conexiones webhook por direcciones IP quedó obsoleta y ha sido reemplazada por tokens de seguridad webhook.

Se pueden seleccionar webhooks para los siguientes eventos:

  • Job status changed

  • Trabajo creado

  • Job assigned

  • La fecha de entrega del Trabajo ha cambiado

  • Fuente del trabajo actualizada

  • Meta trabajo actualizadad (Se refiere a la acción Meta actualizar en trabajos)

  • Trabajo continuo actualizado

  • Proyecto creado

  • Estado del proyecto cambiado

  • La fecha de entrega del Proyecto ha cambiado

  • Plantilla del proyecto creada

  • Plantilla del proyecto cambiada

  • Plantilla del proyecto eliminada

  • Shared project assigned

  • Metadatos del proyecto actualizados

  • Pre-traducción terminada

  • Análisis creado

  • Trabajo eliminado

  • Proyecto eliminado

  • Trabajo exportado

  • Trabajo no exportado

  • Importación Lingüe AI finalizada

  • Traducción del lenguaje AI terminada

Configurar webhooks

Para configurar webhooks, sigue estos pasos:

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

    Se abre la página Webhooks.

  2. Haz clic en Agregar webhook.

    Se abre la página de creación.

  3. Proporcionar URL.

  4. Proporcionar identificador único (token) de seguridad si es necesario.

    Especificar un valor que debe incluirse en el encabezado del identificador único (token) de x Memsource o en el encabezado de la autorización, de modo que el usuario pueda elegir su método preferido para autenticar al remitente del webhook.

  5. Seleccionar eventos.

  6. Haz clic en esquema vista previa para ver la respuesta webhook al ejecutarse.

  7. Haz clic en Crear webhook.

    El webhook se añade a la lista de la página Webhooks.

Ejemplos de uso webhook

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

La Siguiente vez que se cambie el estado del trabajo o se cree un trabajo en la cuenta, la URL recibirá la respuesta adecuada 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

Los ejemplos del estado de un trabajo cambian, una asignación de trabajo, creación de trabajo y cuándo se cambia la fecha de entrega de un trabajo.

Estatus del trabajo ha cambiado

{
"jobParts": [
  {
    "id": 9,
    "uid": "ipmdz5p0sagqcOYaijTZU2",
    "internalId": "4",
    "tarea": "SEfSaenvqFgctE1I0_dc1",
    "fileName": "en.txt",
    "targetLang": "af",
    "workflowLevel": 1,
    "status": "NUEVO",
    "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": "Europa/Londres",
          "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 entrega del trabajo cambiada

{
  "jobParts": [
    {
      "id": 127865777,
      "uid": "ElTXvXnNIHEN2xgL5sU2L2",
      "internalId": "1",
      "task": "LvkAHilgobApeoVm_dc4",
      "fileName": "Libro Blanco de la UE Editado.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

Cuando se trabaja con API, webhooks e interfaz de usuario, el estado puede nombrarse de manera 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 ELECTRÓNICO (por proveedor)

COMPLETED

COMPLETED_BY_LINGUIST

TERMINADO (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.