תיעוד ה־API של PTC
ה־API של PTC מבוסס על ארכיטקטורת ה־REST ומאפשר לכם לשלב לוקליזציה של תוכנה בתהליך הפיתוח שלכם. נקודות הקצה (endpoints) של ה־API מאפשרות להוסיף ולעדכן קובצי מקור, לקבל מידע, לנהל תרגומים ועוד.
ניתן להשתמש ב־API של PTC במצב live בלבד. הוא תומך בשיטות HTTP סטנדרטיות ומחזיר תגובות בפורמט JSON. האימות (authentication) מבוסס על טוקנים ומתבצע ברמת הפרויקט.
קטעי קוד
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, אך תוכלו לעבור בין הלשוניות כדי לראות את אותה בקשה בשפות תכנות אחרות.
אימות
יצירת טוקני API היא תכונה של חבילת ה־Pro. היא תהיה זמינה ברגע שמפעילים את מודל ה־Pay-As-You-Go.
כדי להתחיל:
-
היכנסו לחשבון ה־PTC שלכם. אם עדיין אין לכם חשבון, התחילו תקופת ניסיון חינם והעלו את הקובץ הראשון שלכם באופן ידני.
-
כדי להעביר פרויקט קיים לאינטגרציית API, עברו אל Settings → Manage API Tokens והוסיפו טוקן גישה. עבור פרויקטים עתידיים, תוכלו לבחור באינטגרציית API כבר באשף ההגדרות.
כל הבקשות ל־API של PTC דורשות אימות באמצעות טוקן המעניק לכם גישה לפרויקט בודד ב־PTC.
כללו את הטוקן בכותרת ה־Authorization של כל בקשה בפורמט Bearer:
Bearer <AUTHENTICATION_TOKEN>
קודי תגובה
ה־API של PTC משתמש בקודי תגובה סטנדרטיים של 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
נסו את PTC חינם למשך 30 יום
תרגמו עד 20,000 מילים ל-2 שפות ללא עלות, ואז שדרגו ל-Pro כדי לפתוח את כל הפיצ'רים.