Référence de l'API PTC
L'API PTC utilise REST et vous permet d'intégrer la localisation de logiciels dans votre processus de développement. Les points de terminaison d'API vous permettent d'ajouter et de mettre à jour des fichiers sources, de récupérer des informations, de gérer les traductions, et plus encore.
L'API PTC ne peut être utilisée qu'en mode production. Elle prend en charge les méthodes HTTP standard et renvoie des réponses au format JSON. L'authentification est basée sur des jetons et spécifique au projet.
Extraits de code
curl -X GET "https://app.ptc.wpml.org/api/v1/source_files/supported_extensions" \
-H "Authorization: Bearer YOUR_API_TOKEN"require 'net/http'
require 'uri'
uri = URI('https://app.ptc.wpml.org/api/v1/source_files/supported_extensions')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
response = http.request(request)
puts response.bodyimport requests
headers = {
'Authorization': 'Bearer YOUR_API_TOKEN'
}
response = requests.get('https://app.ptc.wpml.org/api/v1/source_files/supported_extensions', headers=headers)
print(response.json())<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://app.ptc.wpml.org/api/v1/source_files/supported_extensions',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_TOKEN'
],
]);
$response = curl_exec($curl);
curl_close($curl);
print_r(json_decode($response, true));
?>import okhttp3.*;
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://app.ptc.wpml.org/api/v1/source_files/supported_extensions")
.addHeader("Authorization", "Bearer YOUR_API_TOKEN")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://app.ptc.wpml.org/api/v1/source_files/supported_extensions", nil)
req.Header.Add("Authorization", "Bearer YOUR_API_TOKEN")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "YOUR_API_TOKEN");
var response = await client.GetAsync("https://app.ptc.wpml.org/api/v1/source_files/supported_extensions");
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);const axios = require('axios');
const response = await axios.get('https://app.ptc.wpml.org/api/v1/source_files/supported_extensions', {
headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});
console.log(response.data);La documentation utilise cURL pour montrer comment effectuer des requêtes HTTP vers l'API PTC, mais vous pouvez changer d'onglet pour voir la même requête dans d'autres langages.
Authentification
La création de jetons d'API est une fonctionnalité Pro. Elle devient disponible lorsque vous activez Pay-As-You-Go.
Pour commencer :
-
Connectez-vous à votre compte PTC. Si vous n'en avez pas encore, commencez un essai et téléversez votre premier fichier manuellement.
-
Pour passer un projet existant à l'Intégration API, allez dans Paramètres → Gérer les jetons API et ajoutez un jeton d'accès. Pour les projets suivants, vous pouvez sélectionner Intégration API dans l'assistant de configuration.
Toutes les requêtes vers l'API PTC nécessitent une authentification à l'aide d'un jeton qui vous donne accès à un seul projet dans PTC.
Incluez le jeton dans l'en-tête Authorization de chaque requête en utilisant le format Bearer :
Bearer <AUTHENTICATION_TOKEN>
Codes de réponse
L'API PTC utilise les codes de réponse HTTP standard pour indiquer le succès ou l'échec d'une requête.
Codes d'état d'authentification
La requête a fonctionné comme prévu.
Aucun jeton d'API valide n'a été fourni. Vérifiez que votre jeton est correct, qu'il n'a pas expiré et qu'il est inclus dans l'en-tête Authorization.
Limites de débit
L'API PTC met en œuvre des limites de débit pour garantir une utilisation équitable et maintenir la qualité du service. Les limites s'appliquent par organisation et sont suivies sur des opérations d'API spécifiques.
| Type de limite | Requêtes | Période | Portée |
|---|---|---|---|
| Opérations sur les fichiers | 10 | 1 minute | Par organisation |
Points de terminaison concernés
POST /api/v1/source_files– Créer les fichiers sourcesPUT /api/v1/source_files/process– Traiter les fichiers sourcesPOST /api/v1/source_files/bulk– Téléverser des fichiers sources en masse
En cas de dépassement des limites de débit
Si une requête dépasse le débit autorisé, l'API renvoie :
Status: 429 Too Many Requests
{
"error": "Rate limit exceeded"
}
Catégories d'API disponibles
Téléverser et gérer les fichiers sources via l'API
Utilisez ces points de terminaison pour téléverser, remplacer et organiser vos fichiers sources. Cela inclut :
- Le téléversement d'un seul fichier ou le téléversement en masse de plusieurs fichiers dans une archive ZIP
- Le remplacement ou la mise à jour d'un fichier source existant avec du nouveau contenu
- Le listage des fichiers avec des options de filtrage, de tri et de pagination
Aller à Téléverser et gérer les fichiers sources →
Obtenir les formats de fichiers pris en charge et les langues cibles via l'API
Utilisez ces points de terminaison pour vérifier :
- Les codes ISO corrects à utiliser lors de la création de tâches de traduction ou du téléversement de traductions
- Quelles langues votre projet prend en charge
- Toutes les extensions de fichiers sources que vous pouvez téléverser sur PTC, ainsi que tous les fichiers de traduction supplémentaires que PTC peut générer pour ces entrées
Aller à Formats de fichiers disponibles et langues cibles →
Demander et récupérer des traductions via l'API
Utilisez ces points de terminaison pour soumettre du contenu à traduire, suivre sa progression et récupérer les traductions. Cela inclut :
- La création de tâches de traduction pour le contenu structuré en JSON
- La vérification du statut des tâches de traduction
- La récupération des traductions terminées
Aller à Demander et récupérer des traductions →
Intégrer la localisation dans votre pipeline CI/CD avec l'API PTC
Utilisez ce guide pour automatiser les traductions dans le cadre de votre processus de build. Cela inclut :
- La configuration de PTC avec GitHub Actions, GitLab CI/CD ou d'autres systèmes CI/CD à l'aide de fichiers de configuration prêts à l'emploi
- L'exécution automatique et sécurisée des traductions lors de chaque build
Essayez PTC pendant 30 jours
Traduisez jusqu'à 20 000 mots dans 2 langues sans frais, puis passez à la version Pro pour débloquer toutes les fonctionnalités.
Débloquez ceci dans Pro
Passez à la version Pro pour activer toutes les fonctionnalités.