profound-logoProfound CMS
⌘K
Admin
Theme
DocsTutorialBlogPhilosophy
DocsTutorialBlogPhilosophy

Hybrid

Collection of Pages with ComponentsTypes of ComponentsSetup server sent events (SSE) content refetchΡύθμιση διακομιστή μεσολάβησης πίνακα διαχείρισηςCEL Scripting in Template BuilderProject ScaffoldingΒιβλιοθήκη πολυμέσων

Χωρίς κεφαλή

Γρήγορη εκκίνησηjson και Claude κώδικαςComponent Zod Pull

REST API

επισκόπηση του REST APIgetConnect your websitegetGET /routesgetGET /routegetGET /blocksgetΛήψη μπλοκ με cel cachegetGET /blocks/generatedgetGET /componentsgetGET /components/{name}getΛήψη ονόματος σχήματος συνόλου δεδομένωνgetGET /content-changes (SSE)patchPATCH /dataset/{schema_name}postPOST /translationpatchPATCH /translationsgetGET /usagepostPOST /csvpatchPATCH /csv
All Systems Operational
Powered Byprofound-logo
Theme

POST /translation

Ξεκινήστε μαζική μετάφραση στο παρασκήνιο των δημοσιευμένων εγγράφων ενός σχήματος σε γλώσσες-στόχους.

Τοποθετήστε σε ουρά τη μετάφραση στο παρασκήνιο όλων των δημοσιευμένων εγγράφων από ένα ή περισσότερα σχήματα στοιχείων σε ένα σύνολο γλωσσών-στόχων. Τα αποτελέσματα εισάγονται ή ενημερώνονται στον πίνακα translations καθώς ολοκληρώνεται κάθε μετάφραση.

Σημείο πρόσβασης: POST /translation Έλεγχος ταυτότητας: Bearer JWT (WorkOS)

Σώμα αιτήματος

{
  "websiteId": "<uuid>",
  "schemaNames": ["post", "hero"],
  "languages": ["fr", "es", "de"]
}
ΠεδίοΤύποςΑπαιτείταιΣημειώσεις
websiteIduuidναιΙστότοπος που περιέχει τα έγγραφα προέλευσης.
schemaNamesstring[]ναι*Σχήματα στοιχείων προς μετάφραση. Τα διπλότυπα ονόματα αφαιρούνται.
schemaNamestringναι*Παραδοσιακή εναλλακτική για την υποβολή ενός μόνο σχήματος.
languagesstring[]ναιΥποστηριζόμενοι κωδικοί γλωσσών-στόχων. Τα διπλά αντίγραφα κωδικών αφαιρούνται.
  • Παρέχετε είτε schemaNames είτε schemaName.

Λαμβάνονται υπόψη μόνο τα δημοσιευμένα έγγραφα με περιεχόμενο δημοσίευσης που δεν είναι null.

Απόκριση

{
  "job_id": "<uuid>",
  "website_id": "<uuid>",
  "schema_name": null,
  "schema_names": ["post", "hero"],
  "languages": ["fr", "es", "de"],
  "status": "queued",
  "documents_processed": 12,
  "translations_scheduled": 30,
  "translations_skipped": 6,
  "translations_completed": 0,
  "translations_failed": 0,
  "reused": false,
  "created_at": "2026-07-15T18:00:00Z",
  "updated_at": "2026-07-15T18:00:00Z"
}

Επιστρέφει:

  • 202 Accepted όταν οι μεταφράσεις έχουν τοποθετηθεί σε ουρά
  • 200 OK όταν κάθε μετάφραση είναι ήδη ενημερωμένη
  • την υφιστάμενη ενεργή εργασία όταν εκτελείται ήδη πανομοιότυπο αίτημα
ΠεδίοΠεριγραφή
job_idΑναγνωριστικό που χρησιμοποιείται για την ανάκτηση της προόδου της εργασίας.
statusΤρέχουσα κατάσταση της εργασίας.
documents_processedΑριθμός κατάλληλων εγγράφων προέλευσης που βρέθηκαν.
translations_scheduledΑριθμός ζευγών εγγράφου-γλώσσας που τοποθετήθηκαν σε ουρά.
translations_skippedΑριθμός που παραλείφθηκαν επειδή τα hash προέλευσης είναι ενημερωμένα.
translations_completedΑριθμός που μεταφράστηκαν επιτυχώς.
translations_failedΑριθμός που απέτυχαν.
reusedΑν η απόκριση αναφέρεται σε υφιστάμενη ενεργή εργασία.

Οι πιθανές καταστάσεις εργασίας είναι:

  • preparing
  • queued
  • running
  • completed
  • completed_with_errors
  • failed

Παράλειψη τρεχουσών μεταφράσεων

Κάθε ζεύγος εγγράφου-γλώσσας αποθηκεύει ένα hash SHA-256 του δημοσιευμένου περιεχομένου του εγγράφου προέλευσης.

Μια μετάφραση παραλείπεται όταν το αποθηκευμένο hash προέλευσης ταιριάζει με το τρέχον δημοσιευμένο περιεχόμενο. Αυτό επιτρέπει την επαναλαμβανόμενη κλήση του σημείου πρόσβασης χωρίς εκ νέου μετάφραση αμετάβλητου περιεχομένου.

Εάν το δημοσιευμένο περιεχόμενο αλλάξει ενώ είναι ενεργή μια ισοδύναμη εργασία, η υπηρεσία απορρίπτει το νέο αίτημα. Υποβάλετέ το ξανά αφού ολοκληρωθεί η ενεργή εργασία.

Συμπεριφορά επεξεργασίας

Η μετάφραση εκτελείται ασύγχρονα μετά την αρχική απόκριση.

  • Η εργασία επεξεργάζεται με περιορισμένη ταυτόχρονη εκτέλεση.
  • Τα παροδικά σφάλματα επαναλαμβάνονται με στρατηγική backoff.
  • Τα επιτυχή αποτελέσματα αποθηκεύονται μόνιμα καθώς ολοκληρώνονται.
  • Τα μεμονωμένα σφάλματα συμπερασμού ή αποθήκευσης καταγράφονται στην εργασία.
  • Μια μερικώς επιτυχημένη εργασία ολοκληρώνεται με completed_with_errors.

Παράδειγμα

curl -X POST '{TRANSLATION_API_URL}/translation' \
  -H 'Authorization: Bearer <workos-jwt>' \
  -H 'Content-Type: application/json' \
  -d '{
    "websiteId": "<uuid>",
    "schemaNames": ["post", "hero"],
    "languages": ["fr", "es"]
  }'

Σφάλματα

  • 400 Bad Request — λείπουν σχήματα ή γλώσσες, μία γλώσσα δεν υποστηρίζεται, ή η παρτίδα υπερβαίνει το ρυθμισμένο όριο
  • 401 Unauthorized — λείπει ή είναι άκυρο το διακριτικό φορέα
  • 409 Conflict — υπάρχει ενεργή αντίστοιχη εργασία, αλλά το δημοσιευμένο περιεχόμενο προέλευσης άλλαξε
  • 500 Internal Server Error — δεν ήταν δυνατή η προετοιμασία των εγγράφων προέλευσης ή απέτυχε μια λειτουργία βάσης δεδομένων

Λήψη εργασίας μετάφρασης

Ανακτήστε την πιο πρόσφατη πρόοδο για μια εργασία μετάφρασης.

Σημείο πρόσβασης: GET /translation-jobs/{job_id} Έλεγχος ταυτότητας: Bearer JWT (WorkOS)

Απόκριση

Η απόκριση χρησιμοποιεί το ίδιο αντικείμενο εργασίας που επιστρέφεται από το POST /translation, με ενημερωμένη κατάσταση και μετρητές προόδου.

{
  "job_id": "<uuid>",
  "website_id": "<uuid>",
  "schema_name": null,
  "schema_names": ["post", "hero"],
  "languages": ["fr", "es"],
  "status": "running",
  "documents_processed": 12,
  "translations_scheduled": 24,
  "translations_skipped": 0,
  "translations_completed": 16,
  "translations_failed": 1,
  "reused": false,
  "created_at": "2026-07-15T18:00:00Z",
  "updated_at": "2026-07-15T18:01:30Z"
}

Παράδειγμα

curl '{TRANSLATION_API_URL}/translation-jobs/<job-id>' \
  -H 'Authorization: Bearer <workos-jwt>'

Σφάλματα

  • 401 Unauthorized — λείπει ή είναι άκυρο το διακριτικό φορέα
  • 404 Not Found — η εργασία δεν υπάρχει ή δεν διατηρείται πλέον

Οι εργασίες μετάφρασης διατηρούνται προσωρινά στη μνήμη. Η κατάσταση της εργασίας χάνεται όταν γίνεται επανεκκίνηση της υπηρεσίας μετάφρασης και οι αναπτύξεις πολλαπλών παρουσιών απαιτούν sticky routing.

Continue Reading
Previous‹PATCH /dataset/{schema_name}NextPATCH /translations›