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 puede utilizarse en modo live. Admite métodos HTTP estándar y devuelve respuestas en formato JSON. La autenticación se basa 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
La creación de tokens de API es una función Pro. Estará disponible cuando active el pago al consumo.
Para comenzar:
-
Inicie sesión en su cuenta de PTC. Si aún no tiene una, comience una prueba gratuita y suba su primer archivo manualmente.
-
Para migrar un proyecto existente a la integración mediante API, vaya a Settings → Manage API Tokens y añada un token de acceso. Para proyectos posteriores, podrá seleccionar la integración mediante API en el asistente de configuración.
Todas las peticiones a la API de PTC requieren autenticación mediante un token que le otorga acceso a un único proyecto en PTC.
Incluya el token en la cabecera 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 fallo de una petición.
Códigos de estado de autenticación
La petición ha funcionado como se esperaba.
No se ha proporcionado un token de API válido. Compruebe si su token es correcto, no ha caducado y está incluido en la cabecera Authorization.
Límite de frecuencia (Rate Limiting)
La API de PTC implementa límites de frecuencia para garantizar un uso justo y mantener la calidad del servicio. Los límites se aplican por organización y se rastrean en operaciones específicas de la API.
| Tipo de límite | Peticiones | Intervalo de tiempo | Ámbito |
|---|---|---|---|
| Operaciones de archivo | 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 frecuencia
Si una petición supera la tasa permitida, la API devuelve:
Status: 429 Too Many Requests
{
"error": "Rate limit exceeded"
}
Categorías de la API disponibles
Subir y gestionar archivos de origen a través de 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 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 a través de la API
Utilice estos endpoints para consultar:
- Los códigos ISO correctos que debe utilizar al crear trabajos de traducción o subir traducciones.
- Qué idiomas admite su proyecto.
- Todas las extensiones de archivos 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 recuperar traducciones a través de la API
Utilice estos endpoints para enviar contenido para su traducción, realizar el seguimiento de su progreso y recuperar las traducciones. Esto incluye:
- Crear trabajos de traducción para contenido estructurado en JSON.
- Comprobar el estado de los trabajos de traducción.
- Recuperar las traducciones completadas.
Ir a Solicitar y recuperar 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 gratis durante 30 días
Traduzca hasta 20.000 palabras a 2 idiomas sin coste alguno; después, pase a Pro para desbloquear todas las funciones.