Documentazione API di PTC
L'API di PTC utilizza lo standard REST e ti permette di integrare la localizzazione del software nel tuo processo di sviluppo. Gli endpoint dell'API ti consentono di aggiungere e aggiornare file di origine, recuperare informazioni, gestire le traduzioni e altro ancora.
L'API di PTC può essere utilizzata solo in modalità live. Supporta i metodi HTTP standard e restituisce risposte in formato JSON. L'autenticazione si basa su token ed è specifica per ogni progetto.
Snippet di codice
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 documentazione utilizza cURL per mostrare come effettuare richieste HTTP all'API di PTC, ma puoi cambiare scheda per vedere la stessa richiesta in altri linguaggi.
Autenticazione
La creazione di token API è una funzionalità Pro. Diventa disponibile quando attivi il piano Pay-As-You-Go.
Per iniziare:
-
Accedi al tuo account PTC. Se non ne hai ancora uno, inizia una prova gratuita e carica manualmente il tuo primo file.
-
Per passare un progetto esistente all'integrazione tramite API, vai su Settings → Manage API Tokens e aggiungi un token di accesso. Per i progetti successivi, potrai selezionare l'integrazione API direttamente nella procedura guidata di configurazione.
Tutte le richieste all'API di PTC richiedono l'autenticazione tramite un token che ti garantisce l'accesso a un singolo progetto in PTC.
Includi il token nell'intestazione Authorization di ogni richiesta utilizzando il formato Bearer:
Bearer <AUTHENTICATION_TOKEN>
Codici di risposta
L'API di PTC utilizza i codici di risposta HTTP standard per indicare l'esito positivo o negativo di una richiesta.
Codici di stato dell'autenticazione
La richiesta è andata a buon fine come previsto.
Non è stato fornito un token API valido. Verifica che il tuo token sia corretto, non sia scaduto e sia incluso nell'intestazione Authorization.
Limitazione della frequenza (Rate Limiting)
L'API di PTC implementa limiti di frequenza per garantire un utilizzo equo e mantenere la qualità del servizio. I limiti vengono applicati per organizzazione e monitorati per specifiche operazioni API.
| Tipo di limite | Richieste | Intervallo di tempo | Ambito |
|---|---|---|---|
| Operazioni sui file | 10 | 1 minuto | Per organizzazione |
Endpoint interessati
POST /api/v1/source_files– Crea i file di originePUT /api/v1/source_files/process– Elabora i file di originePOST /api/v1/source_files/bulk– Carica file di origine in blocco
Superamento dei limiti di frequenza
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 di origine tramite l'API
Usa questi endpoint per caricare, sostituire e organizzare i tuoi file di origine. Ciò include:
- Caricamento di un singolo file o caricamento massivo di più file in un archivio ZIP
- Sostituzione o aggiornamento di un file di origine esistente con nuovi contenuti
- Elenco dei file con opzioni di filtraggio, ordinamento e paginazione
Vai a Caricamento e gestione dei file di origine →
Ottenere i formati di file supportati e le lingue di destinazione tramite l'API
Usa questi endpoint per verificare:
- I codici ISO corretti da utilizzare quando crei lavori di traduzione o carichi traduzioni
- Quali lingue sono supportate dal tuo progetto
- Tutte le estensioni dei file di origine che puoi caricare su PTC, insieme a eventuali file di traduzione aggiuntivi che PTC può generare per tali input
Vai a Formati di file disponibili e lingue di destinazione →
Richiedere e recuperare le traduzioni tramite l'API
Usa questi endpoint per inviare contenuti da tradurre, monitorarne l'avanzamento e recuperare le traduzioni. Ciò include:
- Creazione di lavori di traduzione per contenuti strutturati in JSON
- Verifica dello stato dei lavori di traduzione
- Recupero delle traduzioni completate
Vai a Richiesta e recupero delle traduzioni →
Integrare la localizzazione nella tua pipeline CI/CD con l'API di PTC
Usa questa guida per automatizzare le traduzioni come parte del tuo processo di build. Ciò include:
- Configurazione di PTC con GitHub Actions, GitLab CI/CD o altri sistemi CI/CD utilizzando file di configurazione pronti all'uso
- Esecuzione delle traduzioni in modo automatico e sicuro durante ogni build
Prova PTC gratis per 30 giorni
Traduci fino a 20.000 parole in 2 lingue senza costi, poi passa a Pro per sbloccare ogni funzionalità.
Incluso nel tuo account Pro
Apri il tuo pannello di controllo per metterlo al lavoro.