Referência da API da PTC
A API da PTC usa REST e permite que você integre a localização de software ao seu processo de desenvolvimento. Os endpoints da API permitem adicionar e atualizar arquivos de origem, recuperar informações, gerenciar traduções e muito mais.
A API da PTC pode ser usada apenas em modo de produção. Ela suporta métodos HTTP padrão e retorna respostas no formato JSON. A autenticação baseia-se em tokens e é específica por projeto.
Trechos 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);A documentação usa cURL para mostrar como fazer requisições HTTP para a API da PTC, mas você pode alternar as abas para ver a mesma requisição em outras linguagens.
Autenticação
A criação de tokens de API é um recurso Pro. Ela fica disponível quando você ativa o Pay-As-You-Go.
Para começar:
-
Faça login na sua conta da PTC. Se você ainda não tem uma, inicie um teste e envie seu primeiro arquivo manualmente.
-
Para mover um projeto existente para a integração via API, vá para Configurações → Gerenciar tokens de API e adicione um token de acesso. Para projetos subsequentes, você pode selecionar a integração via API no assistente de configuração.
Todas as requisições para a API da PTC exigem autenticação usando um token que dá acesso a um único projeto na PTC.
Inclua o token no cabeçalho Authorization de cada requisição usando o formato Bearer:
Bearer <AUTHENTICATION_TOKEN>
Códigos de resposta
A API da PTC usa códigos de resposta HTTP padrão para indicar o sucesso ou a falha de uma requisição.
Códigos de status de autenticação
A requisição funcionou conforme o esperado.
Nenhum token de API válido foi fornecido. Verifique se o seu token está correto, não expirou e está incluído no cabeçalho Authorization.
Limitação de taxa
A API da PTC implementa a limitação de taxa para garantir o uso justo e manter a qualidade do serviço. Os limites são aplicados por organização e rastreados em operações específicas da API.
| Tipo de limite | Requisições | Intervalo de tempo | Escopo |
|---|---|---|---|
| Operações de arquivo | 10 | 1 minuto | Por organização |
Endpoints afetados
POST /api/v1/source_files– Criar o arquivo de origemPUT /api/v1/source_files/process– Processar o arquivo de origemPOST /api/v1/source_files/bulk– Enviar arquivos de origem em lote
Quando os limites de taxa são excedidos
Se uma requisição exceder a taxa permitida, a API retornará:
Status: 429 Too Many Requests
{
"error": "Rate limit exceeded"
}
Categorias de API disponíveis
Enviar e gerenciar arquivos de origem via API
Use esses endpoints para enviar, substituir e organizar seus arquivos de origem. Isso inclui:
- Enviar um único arquivo ou enviar vários arquivos em lote em um arquivo ZIP
- Substituir ou atualizar um arquivo de origem existente com novo conteúdo
- Listar arquivos com opções de filtragem, ordenação e paginação
Ir para Enviar e gerenciar arquivos de origem →
Obter formatos de arquivo suportados e idiomas de destino via API
Use esses endpoints para verificar:
- Os códigos ISO corretos para usar ao criar tarefas de tradução ou enviar traduções
- Quais idiomas o seu projeto suporta
- Todas as extensões de arquivos de origem que você pode enviar para a PTC, juntamente com quaisquer arquivos de tradução adicionais que a PTC pode gerar para essas entradas
Ir para Formatos de arquivo e idiomas de destino disponíveis →
Solicitar e recuperar traduções via API
Use esses endpoints para enviar conteúdo para tradução, acompanhar seu progresso e recuperar traduções. Isso inclui:
- Criar tarefas de tradução para conteúdo estruturado em JSON
- Verificar o status de tarefas de tradução
- Recuperar traduções concluídas
Ir para Solicitar e recuperar traduções →
Integrar a localização ao seu pipeline de CI/CD com a API da PTC
Use este guia para automatizar traduções como parte do seu processo de build. Isso inclui:
- Configurar a PTC com GitHub Actions, GitLab CI/CD ou outros sistemas de CI/CD usando arquivos de configuração prontos
- Executar traduções de forma automática e segura durante cada build
Experimente a PTC por 30 dias
Traduza até 20.000 palavras para 2 idiomas sem custo, depois faça o upgrade para o Pro para desbloquear todos os recursos.
Desbloqueie isso no Pro
Faça o upgrade para o Pro para ativar todos os recursos.