Referencia de la API de PTC
La API de PTC utiliza REST y le permite integrar la localización de software en su proceso de desarrollo. Los endpoints de la API le permiten añadir y actualizar archivos de origen, obtener información, gestionar traducciones y mucho más.
La API de PTC solo se puede utilizar en modo de producción. Admite los métodos HTTP estándar y devuelve respuestas en formato JSON. La autenticación está basada en tokens y es específica para cada proyecto.
Fragmentos de código
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 documentación utiliza cURL para mostrar cómo realizar peticiones HTTP a la API de PTC, pero puede cambiar de pestaña para ver la misma petición en otros lenguajes.
Autenticación
Crear tokens de API es una función Pro. Estará disponible cuando active el pago al consumo.
Para empezar:
-
Inicie sesión en su cuenta de PTC. Si aún no tiene una, comience una prueba y suba su primer archivo manualmente.
-
Para trasladar un proyecto existente a la API integration, vaya a Configuración → Gestionar tokens de API y añada un token de acceso. Para proyectos posteriores, puede seleccionar API integration en el asistente de configuración.
Todas las peticiones a la API de PTC requieren autenticación mediante un token que le da acceso a un único proyecto en PTC.
Incluya el token en el encabezado Authorization de cada petición utilizando el formato Bearer:
Bearer <AUTHENTICATION_TOKEN>
Códigos de respuesta
La API de PTC utiliza códigos de respuesta HTTP estándar para indicar el éxito o el fracaso de una petición.
Códigos de estado de autenticación
La petición ha funcionado como se esperaba.
No se ha proporcionado ningún token de API válido. Compruebe si su token es correcto, no ha caducado y está incluido en el encabezado Authorization.
Limitación de velocidad de peticiones
La API de PTC implementa la limitación de velocidad de peticiones para garantizar un uso justo y mantener la calidad del servicio. Los límites se aplican por organización y se controlan en operaciones específicas de la API.
| Tipo de límite | Peticiones | Plazo | Alcance |
|---|---|---|---|
| Operaciones de archivos | 10 | 1 minuto | Por organización |
Endpoints afectados
POST /api/v1/source_files– Crear los archivos de origenPUT /api/v1/source_files/process– Procesar los archivos de origenPOST /api/v1/source_files/bulk– Subir archivos de origen por lotes
Cuando se superan los límites de velocidad de peticiones
Si una petición supera la velocidad permitida, la API devuelve:
Status: 429 Too Many Requests
{
"error": "Rate limit exceeded"
}
Categorías de API disponibles
Subir y gestionar archivos de origen mediante la API
Utilice estos endpoints para subir, reemplazar y organizar sus archivos de origen. Esto incluye:
- Subir un único archivo o subir varios archivos por lotes en un archivo comprimido ZIP
- Reemplazar o actualizar un archivo de origen existente con contenido nuevo
- Listar archivos con opciones de filtrado, ordenación y paginación
Ir a Subir y gestionar archivos de origen →
Obtener formatos de archivo e idiomas de destino compatibles mediante la API
Utilice estos endpoints para comprobar:
- Los códigos ISO correctos que debe usar al crear trabajos de traducción o subir traducciones
- Qué idiomas admite su proyecto
- Todas las extensiones de archivo de origen que puede subir a PTC, junto con cualquier archivo de traducción adicional que PTC pueda generar para esas entradas
Ir a Formatos de archivo e idiomas de destino disponibles →
Solicitar y obtener traducciones mediante la API
Utilice estos endpoints para enviar contenido para su traducción, hacer un seguimiento de su progreso y obtener traducciones. Esto incluye:
- Crear trabajos de traducción para contenido estructurado en JSON
- Comprobar el estado de los trabajos de traducción
- Obtener las traducciones completadas
Ir a Solicitar y obtener traducciones →
Integrar la localización en su pipeline de CI/CD con la API de PTC
Utilice esta guía para automatizar las traducciones como parte de su proceso de compilación. Esto incluye:
- Configurar PTC con GitHub Actions, GitLab CI/CD u otros sistemas de CI/CD utilizando archivos de configuración listos para usar
- Ejecutar traducciones de forma automática y segura durante cada compilación
Pruebe PTC durante 30 días
Traduzca hasta 20.000 palabras a 2 idiomas sin coste, y luego actualice a Pro para desbloquear todas las funciones.