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 des traductions, et bien plus encore.
L'API PTC peut être utilisée uniquement en mode live. 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 la réussite 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 si votre jeton est correct, s'il n'a pas expiré et s'il est inclus dans l'en-tête Authorization.
Limites de débit
L'API PTC implémente des limites de débit pour garantir une utilisation équitable et maintenir la qualité du service. Les limites sont appliquées par organisation et 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 le fichier sourcePUT /api/v1/source_files/process– Traiter le fichier sourcePOST /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 :
- Téléverser un seul fichier ou téléverser en masse plusieurs fichiers dans une archive ZIP
- Remplacer ou mettre à jour un fichier source existant avec du nouveau contenu
- Lister les 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
- Les langues prises en charge par votre projet
- Toutes les extensions de fichiers sources que vous pouvez téléverser sur PTC, ainsi que 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 :
- Créer des tâches de traduction pour du contenu structuré en JSON
- Vérifier le statut des tâches de traduction
- Récupérer les 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 :
- Configurer PTC avec GitHub Actions, GitLab CI/CD ou d'autres systèmes CI/CD à l'aide de fichiers de configuration prêts à l'emploi
- Exécuter les traductions de manière automatique et sécurisée à chaque build
Intégrations
Essayez PTC pendant 30 jours
Traduisez jusqu'à 20 000 mots dans 2 langues sans frais, puis passez à Pro pour débloquer toutes les fonctionnalités.