API de Phrase TMS

Technologie API (TMS)

Le contenu est traduit de l’anglais par Phrase Language AI.

Notre API considère les entités applicatives (projets, tâches, paramètres) comme des ressources qui peuvent être récupérées, créées, modifiées et supprimées. 

Chaque méthode HTTP représente une action :

  • GET

    Récupère une ressource, sans jamais la modifier

  • POST

    Crée une ressource. POST est également utilisé pour les opérations qui ne rentrent dans aucune des quatre opérations ou qui ont une saisie longue ou complexe, comme la recherche dans les mémoires de traduction ou la création de tâches.

  • PUT

    Met à jour la ressource. Veuillez noter que l'entité entière est requise avec tous ses champs, pas seulement ceux modifiés ; ne pas l'inclure signifie qu'elle doit être définie sur null.

  • DELETE

    Supprime la ressource.

Important

Les données d'entrée et sortie sont généralement au format JSON, encodées UTF-8. Pour un fichier en tant que demande, le type de contenu application/octet-stream ou multipart/form-data est utilisé.

Les entités utilisent une structure plate lorsque cela est possible pour maintenir de bons temps de réponse. Au lieu d’inclure des objets enfants entiers dans les réponses, les références qui contiennent l’Identifiant, l’UID et quelques autres attributs sont contenues. Les objets IDReference ou UidReference pour faire référence à des entités connexes sont attendus.

Toutes les listes de réponses sont paginées. Utilisez les paramètres pageNumber et pageSize pour récupérer les données demandées. La taille de page maximale est de 50.

Documentation

OpenAPI 3.0 est utilisé pour la documentation API. Les générateurs de code Swagger sont recommandés pour le développement client.

Fichiers de documentation brute :

API Examples

Obtenir la liste de toutes les mémoires de traduction

GET

/web/api2/v1/transMemories

Réponse

200

{
    "pageNumber": 0,
    "content": [
        {
            "internalId": 1,
            "createdBy": {
                "userName": "admin",
                "id": "3",
                "firstName": "Jan",
                "lastName": "Janocko",
                "role": "ADMINISTRATEUR",
                "email": "jan.janocko@phrase.com"
            },
            "client": null,
            « note » : « pas nécessaire d'utiliser en MT »,
            "dateCreated": "2018-01-09T14:07:46+0000",
            "id": "1",
            "targetLangs": [
                "es",
                "il"
            ],
            "subDomain": null,
            "businessUnit": {
                "id": "1",
                "name": "Première BU"
            },
            "sourceLang": "en",
            "domain": null,
            "name": "Ma nouvelle MT"
        }
    ],
    "numberOfElements": 1,
    "totalElements": 1,
    "pageSize": 50,
    "totalPages": 1
}

Créer nouveau une mémoire de traduction

POST

/web/api2/v1/transMemories

{{
"name": "Ma nouvelle MT",
"sourceLang": "en",
"targetLangs": [
"es", "it-IT"
],
"businessUnit": {
"id": "1"
},
« note » : « pas nécessaire d'utiliser en MT »
}

Réponse

201

{
    "internalId": 1,
    "createdBy": {
        "userName": "admin",
        "id": "3",
        "firstName": "J",
        "lastName": "Jan",
        "role": "ADMINISTRATEUR",
        "email": "jan.j@phrase.com"
    },
    "client": null,
    « note » : « pas nécessaire d'utiliser en MT »,
    "dateCreated": "2018-01-09T14:07:46+0000",
    "id": "1",
    "targetLangs": [
        "es",
        "il"
    ],
    "subDomain": null,
    "businessUnit": {
        "id": "1",
        "name": "Première BU"
    },
    "sourceLang": "en",
    "domain": null,
    "name": "Ma nouvelle MT"
}

Ajout de fichiers lors de la création d’une tâche

Ajouter ce fichier au corps de la demande en tant que pièce jointe binaire. Assurez-vous que Phrase et les en-têtes Disposition du contenu sont correctement insérés.

Exemple 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(
'jeton' => 'Votre jeton passe ici'
));

$request->setHeaders(tableau(
'postman-jeton' => 'ABC',
'cache-control' => 'no-cache',
'contenu' => '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;
}

Traitement des erreurs

En cas de problème lors du traitement d'une demande API, la structure JSON suivante sera renvoyée. Le code d'erreur sera toujours présent ; la description détaillée peut être nulle.

{ "errorCode": "InvalidArguments",
"errorDescription": "Argument requis \"mot de passe\" de type \"chaîne\" est manquant."
}

Une réponse d'erreur peut être détectée en lisant le code statut HTTP de la réponse. Si une erreur se produit, elle ne sera jamais définie sur 2xx. Le code statut est 400 mauvaise requête, 401 ou 403 pour des problèmes d'authentification ou d'autorisation.

Rapporter les problèmes

Lorsque tu signales un problème au support technique, inclue les éléments suivants dans le rapport :

  • Point de terminaison API

  • Demande

  • Heure (et fuseau horaire)

  • Réponse

  • Identifiant Phrase Action de la réponse

Cet article vous a-t-il été utile ?

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.