API de Phrase TMS

API Technology (TMS)

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

Nuestra API ve las entidades de aplicación (proyectos, trabajos, configuraciones) como recursos que pueden ser recuperados, creados, modificados y eliminados. 

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 tienen entradas largas o complejas, como buscar memorias de traducción o crear trabajos.

  • PUT

    Actualiza el recurso. Tenga en cuenta que se requiere la entidad completa con todos sus campos, no solo aquellos que se han cambiado; no incluirlo significa que debe establecerse en nulo.

  • DELETE

    Elimina el recurso.

Importante

Los datos de entrada y salida suelen estar en formato JSON, codificados en UTF-8. Para un archivo como tipo de contenido del cuerpo de la solicitud, se utiliza application/octet-stream o multipart/form-data.

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

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

Documentación

OpenAPI 3.0 se utiliza para la documentación de API. Generadores de código Swagger son recomendados para el desarrollo de clientes.

Ejemplos de API

Obtener lista de todas las memorias de traducción

GET

/web/api2/v1/transMemories

Respuesta

200

{
    "pageNumber": 0,
    "contenido": [
        {
            "internalId": 1,
            "creadoPor": {
                "userName": "admin",
                "id": "3",
                "firstName": "Jan",
                "lastName": "Janocko",
                "role": "ADMIN",
                "email": "jan.janocko@phrase.com"
            },
            "cliente": null,
            "nota": "no es necesario usar en TM"
            "dateCreated": "2018-01-09T14:07:46+0000",
            "id": "1",
            "targetLangs": [
                "es",
                "it"
            ],
            "subdominio": null,
            "unidadDeNegocio": {
                "id": "1",
                "name": "Primera UN" ,
            },
            "idiomaFuente": "en",
            "dominio": null,
            "name": "Mi nueva TM"
        }
    ],
    "numberOfElements": 1,
    "totalElements": 1,
    "pageSize": 50,
    "totalPages": 1
}

crear nueva memoria de traducción

POST

/web/api2/v1/transMemories

{{
"name": "Mi nueva TM",
"idiomaFuente": "en",
"targetLangs": [
"es", "it-IT"
],
"unidadDeNegocio": {
"id": "1"
},
"nota": "no es necesario usar en TM"
}

Respuesta

201

{
    "internalId": 1,
    "creadoPor": {
        "userName": "admin",
        "id": "3",
        "firstName": "J",
        "lastName": "Jan",
        "role": "ADMIN",
        "email": "jan.j@phrase.com"
    },
    "cliente": null,
    "nota": "no es necesario usar en TM"
    "dateCreated": "2018-01-09T14:07:46+0000",
    "id": "1",
    "targetLangs": [
        "es",
        "it"
    ],
    "subdominio": null,
    "unidadDeNegocio": {
        "id": "1",
        "name": "Primera UN" ,
    },
    "idiomaFuente": "en",
    "dominio": null,
    "name": "Mi nueva TM"
}

Agregando Archivos Al Crear un Trabajo

Agrega este archivo al cuerpo de la solicitud como un archivo adjunto binario. Asegúrate de que Phrase y los encabezados Content-Disposition estén correctamente insertados.

Ejemplo de PHP desde Postman:

<?php

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

$request->setQueryData(array(
'token' => 'Tu 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\\"}}'
));

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

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

Manejo de Errores

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

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

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

Reportando Problemas

Al informar un problema a Soporte Técnico, incluye lo siguiente en el informe:

  • Punto de conexión API

  • Solicitud

  • Hora (y zona horaria)

  • Respuesta

  • ID de Acción-Frase 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.