API de Phrase TMS

webhook (TMS)

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

Disponible para

  • Planes Team, Professional, Business, Enterprise y Software UI/UX

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

Los webhook son URL arbitrarias que gestionan solicitudes HTTP POST, lo que permite la notificación a sistemas de terceros sobre eventos especificados.

Phrase supervisa si se recibió correctamente una devolución de llamada 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 el error se registra en el webhook específico en la página webhook. El mecanismo de reintento tiene un máximo de 10 reintentos, y el intervalo entre reintentos se calcula hasta un valor máximo de 30 minutos.

Los webhook se pueden desactivar/activar, mostrar el historial, probar o eliminar desde la página de webhook seleccionando el webhook individual para mostrar la barra de herramientas. La función historial proporciona una descripción general de las llamadas durante los 14 días anteriores y los webhook fallidos se pueden volver a reproducir.

Importante

La inclusión en listas blancas de conexiones de webhook por direcciones IP quedó obsoleta y ha sido reemplazada por identificador único (token) de seguridad de webhook.

Los webhook se pueden seleccionar para los siguientes eventos:

  • Job status changed

  • Trabajo creado

  • Job assigned

  • La fecha de entrega del Trabajo ha cambiado

  • Fuente del trabajo actualizada

  • Meta del trabajo actualizada (se refiere a la acción actualizar meta 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 webhook

Para configurar webhook, sigue estos pasos:

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

    Se abre la página webhook.

  2. Haz clic en agregar webhook o nuevo.

    Se abre la página crear nuevo webhook.

  3. Proporciona un nombre, una URL y un identificador único (token) si es necesario.

    Especifique un valor para incluirlo en el encabezado x-memsource-identificador único (token) o en el encabezado Authorization, que permita al usuario seleccionar 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 añade a la lista en la página Webhooks.

Ejemplos de uso de webhook

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

La próxima vez que se cambie un estado de 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 como 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 la fecha de entrega de un trabajo ha cambiado.

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

La fecha de entrega del trabajo ha cambiado

{
  "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 el proveedor)

DECLINED

DECLINED_BY_LINGUIST

RECHAZADO (por proveedor)

REJECTED

REJECTED_BY_LINGUIST

RECHAZADO (por el proveedor)

DELIVERED

COMPLETADO

ENTREGADO

EMAILED

EMAILED

ENVIADO POR CORREO (por el proveedor)

COMPLETED

COMPLETED_BY_LINGUIST

COMPLETADO (por el 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.