API de Phrase TMS

Tecnología API (TMS)

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

Nuestra API ve las entidades de la aplicación (proyectos, trabajos, configuraciones) como recursos que se pueden recuperar, crear, modificar y eliminar. 

Cada método HTTP representa una acción:

  • GET

    Recupera un recurso, sin cambiar nunca el recurso

  • POST

    Crea un recurso. POST también se utiliza para operaciones que no encajan en ninguna de las cuatro operaciones o que tienen una entrada larga o compleja, como la búsqueda de memorias de traducción o la creación de trabajos.

  • PUT

    Actualiza el recurso. Tenga en cuenta que toda la entidad es necesaria con todos sus campos, no solo los cambiados; no incluirlo significa que debe establecerse como nulo.

  • ELIMINAR

    Elimina el recurso.

Importante

Los datos de entrada y salida suelen estar en formato JSON, codificados UTF-8. Para un archivo como órgano solicitante se utiliza el tipo de contenido aplicación/flujo de octetos o datos múltiples/formularios.

Las entidades usan una estructura plana cuando es posible para mantener buenos tiempos de respuesta. En lugar de incluir objetos elementos secundarios completos en las respuestas, se contienen referencias que contienen el ID, el UID y algunos otros atributos. Se espera que los objetos IDReference o UidReference para referirse a entidades relacionadas.

Todas las listas de respuestas están paginadas. Use los parámetros pageNumber y pageSize para recuperar los datos solicitados. El tamaño máximo de la página es 50.

Documentación

OpenAPI 3.0 se utiliza para la documentación API. Se recomiendan generadores de códigos de presunción para el desarrollo de clientes.

Archivos de documentación sin procesar:

Ejemplos API

Obtener lista de todas las memorias de traducción

GET

/web/api2/v1/transMemories

Respuesta

200

{
    "pageNumber": 0,
    "content": [
        {
            "internalId": 1,
            "createdBy": {
                "userName": "admin",
                "id": "3",
                "firstName": "Ene",
                "lastName": "Janocko",
                "función": "ADMIN",
                "email": "jan.janocko@phrase.com"
            },
            "cliente": nulo,
            "nota": "no es necesario usar en TM",
            "dateCreated": "2018-01-09T14:07:46+0000",
            "id": "1",
            "targetLangs": [
                "es",
                "eso"
            ],
            "subDomain": null,
            "businessUnit": {
                "id": "1",
                "nombre": "Primera BU"
            },
            "sourceLang": "en",
            "domain": null,
            "nombre": "Mi nueva TM"
        }
    ],
    "numberOfElements": 1,
    "totalElements": 1,
    "pageSize": 50,
    "totalPages": 1
}

Crear nueva memoria de traducción

POST

/web/api2/v1/transMemories

{{
"nombre": "Mi nueva TM",
"sourceLang": "en",
"targetLangs": [
"es", "it-IT"
],
"businessUnit": {
"id": "1"
},
"nota": "no es necesario usarlo en TM"
}

Respuesta

201

{
    "internalId": 1,
    "createdBy": {
        "userName": "admin",
        "id": "3",
        "firstName": "J",
        "lastName": "Ene",
        "función": "ADMIN",
        "email": "jan.j@phrase.com"
    },
    "cliente": nulo,
    "nota": "no es necesario usar en TM",
    "dateCreated": "2018-01-09T14:07:46+0000",
    "id": "1",
    "targetLangs": [
        "es",
        "eso"
    ],
    "subDomain": null,
    "businessUnit": {
        "id": "1",
        "nombre": "Primera BU"
    },
    "sourceLang": "en",
    "domain": null,
    "nombre": "Mi nueva TM"
}

Agregar archivos al crear un trabajo

Agregar este archivo al cuerpo de la solicitud como archivo adjunto binario. Asegúrese de que Phrase y los encabezados de disposición de contenido estén insertados correctamente.

Muestra PHP de Postman:

<?php

$request = new HttpRequest();
$request->setUrl('https://cloud.memsource.com/web/api2/v1/projects/%7BUID%20of%20your%20project%7D/jobs');
$request->setMethod(HTTP_METH_POST);

$request->setQueryData(array(
'identificador único (token)' => 'Tu identificador único (token) va aquí'
));

$request->setHeaders(array(
'postman-token' => 'ABC',
'cache-control' => 'no-cache',
'content-disposition' => 'filename*=UTF-8''Sample.txt',
'Memsource' => '{\\"targetLangs\\":[\\"de\\",\\"fr\\",\"es\\"],\\"callbackUrl\\":\\"https://my-shiny- service.com/consumeCallback\\",\\"importSettings\\":{\\"uid\\":\\"WF0T1SfSHxII09yKr0dZh9\\"}}'
));

probar {
$response = $request->send();

echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}

Gestión de errores

Si hay un problema al procesar una solicitud API, se devolverá la siguiente estructura JSON. El código de error siempre estará presente; la descripción detallada puede ser nula.

{ "errorCode": "InvalidArguments",
"errorDescription": "Falta argumento requerido \"contraseña\" de tipo \"cadena\".
}

Una respuesta de error se puede detectar leyendo el de estado HTTP de la respuesta. Si se produce un error, nunca se cambiará a 2xx. El código de estado es 400 solicitud incorrecta, 401 o 403 por problemas de autenticación o autorización.

Notificación de problemas

Al informar del problema al Soporte Técnico, incluye lo siguiente en el informe:

  • Punto de conexión API

  • Solicitud

  • Hora (y zona horaria)

  • Respuesta

  • Phrase Action ID de la respuesta

¿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.