Este es un escenario simple de API con llamadas de API de muestra e instrucciones sobre cómo encadenarlas para completar una acción simple utilizando solo APIs. Las opciones que se pueden establecer a través de las APIs son extensas. Consulte las secciones respectivas de documentación de la API REST para obtener más información sobre todas las opciones disponibles.
La plataforma API Postman se utilizó para crear el escenario.
En estos ejemplos, la URL de solicitud estándar comienza con https://cloud.memsource.com
. En caso de que las APIs sean utilizadas por una organización en el centro de datos de EE. UU., la URL de solicitud debe comenzar con https://us.cloud.memsource.com
.
Escenario
-
Autenticación
El usuario está autenticado (el equivalente de API de iniciar sesión).
-
Creación
La creación de un proyecto simple, trabajos subidos y asignación de lingüista con notificación por correo electrónico.
-
Traducción
Trabajo de traducción realizado fuera del escenario de API (en cualquiera de los editores).
-
Función de API
Una vez que la asignación está terminada (marcada como Completado por el lingüista), el estado del proyecto se establece en Completado y el documento terminado se descarga del proyecto.
Metodología
Cada llamada individual a la API REST tiene un método apropiado listado. Usar un método incorrecto (por ejemplo, GET en lugar de POST en la llamada de creación de proyecto) resulta en una llamada de API no exitosa.
Paso 1: Autenticación
Hay dos métodos de autenticación:
-
Llamada a la API de autenticación:
Genera un token de autenticación válido por 24 horas. El token debe ser insertado en todas las siguientes APIs. El token valida a los usuarios y les permite realizar cualquier otra función dentro del perfil.
-
Permite la validación de una aplicación. Una aplicación validada está en comunicación continua y no necesita más autenticación.
Para el escenario, se utiliza la llamada a la API de autenticación. El token generado es requerido para todas las siguientes llamadas a la API y no está listado en los parámetros de ejemplo.
Usa la API Login para autenticación con los parámetros requeridos. En este caso, nombre de usuario y contraseña son requeridos.
-
Método
POST
-
URL de solicitud
https://cloud.memsource.com/web/api2/v3/auth/login
-
Cuerpo de la solicitud:
{ "userName":"username", "password":"password"}
-
Respuesta
Token de autenticación.
Los miembros de múltiples organizaciones TMS tienen el mismo nombre de usuario y contraseña para múltiples cuentas. En este caso, el userUid
debe ser agregado al cuerpo de la solicitud para especificar a qué organización el usuario desea iniciar sesión. Si no se especifica, el usuario inicia sesión en la cuenta predeterminada asociada con el nombre de usuario y la contraseña dados.
Paso 2: Creación, Importación y Asignación de Proyectos
Creación de Proyecto
Utiliza la llamada a la API Projects para crear un proyecto con los parámetros obligatorios name, sourceLang y targetLangs.
-
Método
POST
-
URL de solicitud
https://cloud.memsource.com/web/api2/v3/projects
-
Cuerpo de la solicitud
{ "name":"My project", "sourceLang":"en", "targetLangs":[ "de","fr" ]}
-
Respuesta
Project UID (e.g. KmtNyVlz1skQd2aMVEipp7)
Es posible crear una plantilla de proyecto utilizando la llamada a la API Crear plantilla de proyecto
con el UID del proyecto de la última llamada.
-
Método
POST
-
URL de solicitud
https://cloud.memsource.com/web/api2/v1/projectTemplates
-
Cuerpo de la solicitud
{ "project": { "uid": "string" }, "name": "cadena", "importSettings": { "uid": "string" }, "useDynamicTitle": true, "dynamicTitle": "string" }
-
Respuesta
UID de la Plantilla de Proyecto (por ejemplo, AmtNyVlz1skQd2aMVEipp8)
La forma más eficiente de crear proyectos es utilizar una plantilla de proyecto. Usa Crear proyecto desde plantilla con el UID de la Plantilla de Proyecto de la última llamada para crear un nuevo proyecto basado en la configuración de la plantilla de proyecto.
La expresión {templateUid}
sirve como un marcador de posición en la URL de la solicitud donde se inserta el UID de la plantilla del proyecto obtenido.
-
Método
POST
-
URL de solicitud
https://cloud.memsource.com/web/api2/v2/projects/applyTemplate/oNQiljwTGHpd2l1nnQRiu4
-
Cuerpo de la solicitud
{ "name": "cadena", "sourceLang": "string", "targetLangs": [ "string" ], "workflowSteps": [ { "id": "string" } ], "dateDue": "2019-08-24T14:15:22Z", "note": "cadena", "client": { "id": "string" }, "businessUnit": { "id": "string" }, "domain": { "id": "string" }, "subDomain": { "id": "string" }, "costCenter": { "id": "string" } }{ "project": { "uid": "string" }, "name": "cadena", "importSettings": { "uid": "string" }, "useDynamicTitle": true, "dynamicTitle": "string" }
-
Respuesta
UID del proyecto (por ejemplo, BmtNyVlz1skQd2aMVEipp9)
Creación de trabajo
Con el UID del proyecto de la última llamada, se pueden agregar nuevos trabajos directamente al proyecto recién creado usando Crear trabajo.
La expresión {projectUid}
sirve como un marcador de posición en la URL de la solicitud donde se inserta el UID del proyecto obtenido. Con la llamada a la API Crear trabajo, los Encabezados de la solicitud deben cambiarse para coincidir con los requeridos por Phrase (en otras llamadas, Postman agrega automáticamente los encabezados apropiados a la solicitud).
Todos los parámetros de importación deben insertarse en un encabezado personalizado Memsource.
El encabezado Content-Disposition debe incluir el nombre de archivo en un formato predefinido para procesar correctamente la solicitud de importación.
Para importar un archivo fuente, ve al cuerpo, selecciona
y aparece la opción .-
Método
POST
-
URL de solicitud
https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs
-
(Header) Content-Disposition
filename*=UTF-8''file.txt
-
(Header) Memsource
{"targetLangs":["de","fr"]}
-
(Header) Content-Type
application/octet-stream
-
Respuesta
Job UID (e.g. dOYgeXzAdAbj4xFjuEVZP2)
UID de solicitud asíncrona
Usa Get asynchronous request con el UID de AsyncRequest de la llamada Crear trabajo para verificar que el trabajo se creó correctamente y que es funcional.
El UID del trabajo devuelto es único en cada paso del flujo de trabajo del proyecto. Por lo tanto, si el trabajo se crea en un proyecto con flujo de trabajo, la respuesta devuelve un UID de trabajo único para cada paso del flujo de trabajo.
Se pueden configurar ajustes de importación reutilizables con la llamada Create import settings. Se recibe un UID de ajuste de importación que se puede usar en la llamada de crear trabajo en la respuesta.
Para asignar proveedores al trabajo (a menos que se asignen directamente en la llamada Crear trabajo), usa la llamada Edit job.
El ID del proveedor que se inserta en la llamada se puede obtener de dos maneras:
-
Para recuperar el ID de la aplicación Phrase, sigue estos pasos:
-
Use el Lista de usuarios llamada a la API.
Esta llamada a la API no requiere parámetros específicos y devolverá una lista de todos los usuarios en la cuenta. La respuesta contiene tanto nombres de usuario como IDs.
Un parámetro opcional, nombreDeUsuario, se puede agregar a la consulta permitiéndole listar solo usuarios con nombres de usuario específicos.
Notificar a los usuarios asignados
El UID del trabajo se puede usar como un parámetro opcional en la llamada Notificar a los usuarios asignados junto con el parámetro plantillaDeCorreo que representa el ID de la plantilla de correo electrónico a utilizar. Esto se puede obtener utilizando la llamada Lista de plantillas de correo electrónico.
-
URL de solicitud
https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/jobs/notifyAssigned
-
Respuesta
Vacío (Estado 204: Sin contenido)
Aquí es donde el traductor comenzaría a trabajar en su perfil como si se estuviera utilizando la interfaz de usuario de Phrase. Después de que se complete el trabajo, el PM a cargo recibe una notificación y se inicia la siguiente parte del escenario. Se puede interceptar un callback a través de webhooks para iniciar automáticamente la siguiente parte del escenario, pero esto no se abordará en este ejemplo.
Paso 3: Descargar archivo traducido (completo), establecer proyecto como completado
Descargar archivo traducido
Este escenario funciona con la suposición de que un traductor termina su tarea (marca el trabajo como Completado), pero el archivo completado se puede descargar en cualquier momento, el trabajo no necesita tener el estado Completado.
Para descargar un archivo traducido, se necesitan dos llamadas a la API: Descargar archivo objetivo (asíncrono) y Descargar archivo objetivo basado en solicitud asíncrona llamadas.
El primer paso es llamar a Descargar archivo objetivo (asíncrono) con los parámetros projectUid y jobUid. Si estás descargando el archivo completado de un proyecto con múltiples pasos de flujo de trabajo, asegúrate de usar el jobUid del paso de flujo de trabajo específico desde el cual te gustaría descargar el archivo completado, por ejemplo, paso de flujo de trabajo de revisión.
-
Para recuperar el jobUID para un paso de flujo de trabajo específico de la aplicación Phrase, sigue estos pasos:
-
Abre el proyecto.
-
En la tabla de trabajos, cambia al paso de flujo de trabajo desde el cual te gustaría descargar el archivo completado.
-
Copia la parte única de la URL después de /job del navegador.
-
-
Usa el Lista de trabajos llamada a la API.
Este endpoint devuelve una lista de trabajos dentro del proyecto especificado. Usa la llamada con el parámetro de consulta
workflowLevel
. Este parámetro es un parámetro no basado en cero que indica el paso de flujo de trabajo al que pertenecen los trabajos devueltos. Si se deja sin especificar, su valor se establece en1
(= primer paso de flujo de trabajo) por defecto. Por ejemplo, si necesitas obtener los trabajos del paso de revisión, especifica el número de ese paso en el parámetro de consulta, es decir,2
.
La llamada Descargar archivo objetivo (asíncrono) inicia una solicitud asíncrona para generar y descargar el archivo objetivo que contiene traducciones. No proporciona directamente el archivo objetivo dentro de la respuesta, sino un asyncRequestId requerido para la siguiente llamada.
-
Método
PUT
-
URL de solicitud
https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/targetFile
-
Respuesta
ID de AsyncRequest
Usa Obtener solicitud asíncrona con el asyncRequestID de la respuesta para verificar que la solicitud se ha completado. Una vez que la solicitud asíncrona se ha completado, puedes descargar el archivo objetivo usando la llamada Descargar archivo objetivo basado en solicitud asíncrona. El asyncRequestId solo se puede usar una vez. Una vez que se inicia la descarga, el asyncRequestId se vuelve inválido para más usos.
-
Método
OBTENER
-
URL de solicitud
https://cloud.memsource.com/web/api2/v2/projects/KmtNyVlz1skQd2aMVEipp7/jobs/dOYgeXzAdAbj4xFjuEVZP2/downloadTargetFile/1291716982
-
Respuesta
Respuesta binaria con el archivo completado en sí
Establecer Proyecto como Completado
Para finalizar el proyecto una vez que el trabajo en el proyecto esté completo, usa la llamada Editar estado del proyecto con los parámetros obligatorios projectUid y estado para cambiar el estado de todo el proyecto a Completado. Este cambio es manual, pero si se usa Automatización del Estado del Proyecto, el estado se cambiará automáticamente. También es posible esperar un webhook e iniciar otras acciones basadas en el callback recibido.
-
Método
POST
-
URL de solicitud
https://cloud.memsource.com/web/api2/v1/projects/KmtNyVlz1skQd2aMVEipp7/setStatus
-
Cuerpo de la solicitud
{ "status": "COMPLETADO"}
-
Respuesta
Vacío (Estado 204: Sin contenido)