Riferimento dell'API PTC
L'API PTC utilizza REST e Le permette di integrare la localizzazione software nel Suo processo di sviluppo. Gli endpoint dell'API Le consentono di aggiungere e aggiornare file sorgente, recuperare informazioni, gestire traduzioni e altro ancora.
L'API PTC può essere utilizzata solo in modalità live. Supporta i metodi HTTP standard e restituisce risposte in formato JSON. L'autenticazione è basata su token e specifica per progetto.
Frammenti di codice
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, array(
CURLOPT_URL => 'https://app.ptc.wpml.org/api/v1/source_files/supported_extensions',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer YOUR_API_TOKEN'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>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();
String responseBody = response.body().string();package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
client := &http.Client{}
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, _ := client.Do(req)
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
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();const https = require('https');
const options = {
hostname: 'app.ptc.wpml.org',
path: '/api/v1/source_files/supported_extensions',
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN'
}
};
const req = https.request(options, (res) => {
let data = '';
res.on('data', (chunk) => { data += chunk; });
res.on('end', () => { console.log(JSON.parse(data)); });
});
req.end();$.ajax({
url: 'https://app.ptc.wpml.org/api/v1/source_files/supported_extensions',
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN'
},
success: function(data) {
console.log(data);
}
});La documentazione utilizza cURL per mostrare come effettuare richieste HTTP all'API PTC, ma può passare a visualizzare esempi diversi in altri linguaggi.
Autenticazione
La creazione di token API è una funzionalità Pro. Diventa disponibile quando attiva il Pay-As-You-Go.
Per iniziare:
- Acceda al Suo account PTC. Se non ne ha ancora uno, avvii una prova gratuita e carichi il Suo primo file manualmente.
- Per spostare un progetto esistente all'integrazione tramite API, vada su Settings → Manage API Tokens e aggiunga un token di accesso. Per i progetti successivi, può selezionare l'integrazione tramite API nella procedura guidata di configurazione.
Tutte le richieste all'API PTC richiedono l'autenticazione tramite un token che Le dà accesso a un singolo progetto in PTC.
Includa il token nell'header Authorization di ogni richiesta utilizzando il formato Bearer:
Bearer <AUTHENTICATION_TOKEN>
Codici di risposta
L'API PTC utilizza codici di risposta HTTP standard per indicare il successo o il fallimento di una richiesta.
Riepilogo dei codici di stato HTTP
La richiesta ha funzionato come previsto.
Non è stato fornito alcun token API valido. Verifichi che il Suo token sia corretto, non sia scaduto e sia incluso nell'header Authorization.
Limitazione della frequenza
L'API PTC implementa una limitazione della frequenza per garantire un utilizzo equo e mantenere la qualità del servizio. I limiti vengono applicati per organizzazione e monitorati su operazioni API specifiche.
| Tipo di limite | Richieste | Intervallo di tempo | Ambito |
| Operazioni sui file | 10 | 1 minuto | Per organizzazione |
Endpoint interessati
POST /api/v1/source_files– Creare i file sorgentePUT /api/v1/source_files/process– Elaborare i file sorgentePOST /api/v1/source_files/bulk– Caricare file sorgente in blocco
Quando i limiti di frequenza vengono superati
Se una richiesta supera la frequenza consentita, l'API restituisce:
Status: 429 Too Many Requests
{
"error": "Rate limit exceeded"
}
Categorie API disponibili
Caricare e gestire i file sorgente tramite l'API
Utilizzi questi endpoint per caricare, sostituire e organizzare i Suoi file sorgente. Questo include:
- Il caricamento di un singolo file o il caricamento in blocco di più file in un archivio ZIP
- La sostituzione o l'aggiornamento di un file sorgente esistente con nuovo contenuto
- L'elenco dei file con opzioni di filtraggio, ordinamento e impaginazione
Vai a Caricare e gestire i file sorgente →
Ottenere i formati di file e le lingue di destinazione supportati tramite l'API
Utilizzi questi endpoint per verificare:
- I codici ISO corretti da utilizzare durante la creazione di lavori di traduzione o il caricamento di traduzioni
- Quali lingue supporta il Suo progetto
- Tutte le estensioni dei file sorgente che può caricare in PTC, insieme a eventuali file di traduzione aggiuntivi che PTC può generare per tali input
Vai a Formati di file e lingue di destinazione disponibili →
Richiedere e recuperare traduzioni tramite l'API
Utilizzi questi endpoint per inviare contenuti da tradurre, monitorarne l'avanzamento e recuperare le traduzioni. Questo include:
- La creazione di lavori di traduzione per contenuti strutturati in JSON
- Il controllo dello stato dei lavori di traduzione
- Il recupero delle traduzioni completate
Vai a Richiedere e recuperare traduzioni →
Integrare la localizzazione nella Sua pipeline CI/CD con l'API PTC
Utilizzi questa guida per automatizzare le traduzioni come parte del Suo processo di build. Questo include:
- La configurazione di PTC con GitHub Actions, GitLab CI/CD o altri sistemi CI/CD utilizzando file di configurazione pronti all'uso
- L'esecuzione delle traduzioni in modo automatico e sicuro durante ogni build