תיעוד ה־API של PTC
ה־API של PTC מבוסס על REST ומאפשר לכם לשלב לוקליזציה של תוכנה בתהליך הפיתוח שלכם. נקודות הקצה (endpoints) של ה־API מאפשרות לכם להוסיף ולעדכן קובצי מקור, לקבל מידע, לנהל תרגומים ועוד.
ניתן להשתמש ב־API של PTC במצב חי (live mode) בלבד. הוא תומך במתודות HTTP סטנדרטיות ומחזיר תגובות בפורמט JSON. האימות מבוסס טוקן וספציפי לכל פרויקט.
קטעי קוד
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);התיעוד משתמש ב־cURL כדי להדגים כיצד לבצע בקשות HTTP ל־API של PTC, אך תוכלו לעבור בין הלשוניות כדי לראות דוגמאות קוד בשפות שונות.
אימות (Authentication)
יצירת טוקנים ל־API היא תכונה של תוכנית ה־Pro. היא מתאפשרת ברגע שמפעילים את מודל ה־Pay-As-You-Go.
כדי להתחיל:
- התחברו לחשבון ה־PTC שלכם. אם עדיין אין לכם חשבון, התחילו תקופת ניסיון חינם והעלו את הקובץ הראשון שלכם באופן ידני.
- כדי להעביר פרויקט קיים לאינטגרציית API, עברו אל Settings ← Manage API Tokens (הגדרות ← ניהול טוקנים ל־API) והוסיפו טוקן גישה. בפרויקטים הבאים, תוכלו לבחור באינטגרציית API כבר באשף ההגדרות.
כל הבקשות ל־API של PTC דורשות אימות באמצעות טוקן המעניק לכם גישה לפרויקט יחיד ב־PTC.
כללו את הטוקן בכותרת ה־Authorization של כל בקשה בפורמט Bearer:
Bearer <AUTHENTICATION_TOKEN>
קודי תגובה
ה־API של PTC משתמש בקודי תגובה סטנדרטיים של HTTP כדי לציין את הצלחת הבקשה או את כישלונה.
סיכום קודי סטטוס HTTP
הבקשה בוצעה בהצלחה.
לא סופק טוקן API תקף. בדקו אם הטוקן שלכם נכון, לא פג תוקפו, והוא כלול בכותרת ה־Authorization.
מגבלות קצב (Rate Limiting)
ה־API של PTC מיישם מגבלות קצב כדי להבטיח שימוש הוגן ולשמור על איכות השירות. המגבלות חלות לכל ארגון ומנוטרות עבור פעולות API ספציפיות.
| סוג המגבלה | בקשות | מסגרת זמן | היקף (Scope) |
| פעולות בקבצים | 10 | דקה אחת | לכל ארגון |
נקודות קצה מושפעות
POST /api/v1/source_files– יצירת קובצי המקורPUT /api/v1/source_files/process– עיבוד קובצי המקורPOST /api/v1/source_files/bulk– העלאת קובצי מקור בכמות גדולה (bulk)
חריגה ממגבלות הקצב
אם בקשה חורגת מהקצב המותר, ה־API יחזיר:
Status: 429 Too Many Requests
{
"error": "Rate limit exceeded"
}
קטגוריות API זמינות
העלאה וניהול של קובצי מקור באמצעות ה־API
השתמשו בנקודות קצה אלו כדי להעלות, להחליף ולארגן את קובצי המקור שלכם. זה כולל:
- העלאת קובץ בודד או העלאה מרוכזת של מספר קבצים בארכיון ZIP
- החלפה או עדכון של קובץ מקור קיים בתוכן חדש
- הצגת רשימת קבצים עם אפשרויות סינון, מיון וחלוקה לעמודים (pagination)
מעבר להעלאה וניהול של קובצי מקור ←
קבלת פורמטים נתמכים ושפות יעד באמצעות ה־API
השתמשו בנקודות קצה אלו כדי לבדוק:
- מהם קודי ה־ISO הנכונים לשימוש בעת יצירת עבודות תרגום או העלאת תרגומים
- באילו שפות הפרויקט שלכם תומך
- את כל סיומות קובצי המקור שניתן להעלות ל־PTC, יחד עם קובצי תרגום נוספים ש־PTC יכול להפיק עבורם
מעבר לפורמטים זמינים ושפות יעד ←
בקשת תרגומים וקבלתם באמצעות ה־API
השתמשו בנקודות קצה אלו כדי לשלוח תוכן לתרגום, לעקוב אחר התקדמותו ולקבל את התרגומים המוכנים. זה כולל:
- יצירת עבודות תרגום עבור תוכן במבנה JSON
- בדיקת הסטטוס של עבודות תרגום
- קבלת תרגומים שהושלמו
שילוב לוקליזציה בצינור ה־CI/CD שלכם באמצעות ה־API של PTC
היעזרו במדריך זה כדי לאוטומט את התרגומים כחלק מתהליך ה־build שלכם. זה כולל:
- הגדרת PTC עם GitHub Actions, GitLab CI/CD או מערכות CI/CD אחרות באמצעות קובצי קונפיגורציה מוכנים מראש
- הרצת תרגומים באופן אוטומטי ומאובטח במהלך כל build