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