Ενσωμάτωση API

TikTok Posting API για διανομή πολλαπλών λογαριασμών με ασφάλεια ουράς

Δημιουργήστε ροές εργασίας δημοσίευσης στο TikTok με ρητή παρακολούθηση κατάστασης, ενορχήστρωση ανθεκτική σε retry και χειρισμό με επίγνωση moderation για ομάδες παραγωγικής κλίμακας.

Πρόβλημα

Σε μεγάλη κλίμακα, η διανομή αποτυγχάνει εκεί όπου η δημοσίευση παραμένει χειροκίνητη: οι ενέργειες upload/publish γίνονται εύθραυστες σε πολλούς λογαριασμούς, χρονοδιαγράμματα και καταστάσεις moderation.

Αποτέλεσμα με το Ssemble

Το Ssemble υποστηρίζει τη δημιουργία περιεχομένου και την ενορχήστρωση κατάστασης, ενώ το επίπεδο δημοσίευσης TikTok εκτελεί ελεγχόμενες δημοσιεύσεις με idempotency, retries και ελέγξιμες καταστάσεις εργασιών.

Βασικά στοιχεία υλοποίησης

Base URL: https://aiclipping.ssemble.com/api/v1 (+ TikTok Open API for publish)

Αρχιτεκτονική ενσωμάτωσης (ingest → επεξεργασία → poll/webhook → δημοσίευση)

1) Ingest

Αποθηκεύστε source URL/file URL + λογαριασμό προορισμού + scheduleAt + idempotency key στο μοντέλο εργασιών του publisher σας.

2) Επεξεργασία

Καλέστε το POST /shorts/create, διατηρήστε το requestId και συνδέστε το με τις downstream εργασίες δημοσίευσης.

3) Poll / Webhook

Μετακινήστε τις εργασίες μέσα από τις καταστάσεις processing/ready/failed χρησιμοποιώντας το GET /shorts/:id/status και fallbacks συμβάντων.

4) Δημοσίευση

Ενεργοποιήστε τη δημοσίευση στο TikTok με όρια ταυτόχρονων εργασιών ανά λογαριασμό, πολιτική retry και τελική συμφωνία κατάστασης.

Παραδείγματα endpoint

  • POST /shorts/createΔημιουργία short-form asset πριν τη δημοσίευση
  • GET /shorts/:id/statusΠαρακολούθηση του κύκλου ζωής επεξεργασίας και του failureReason
  • GET /shorts/:idΑνάκτηση των metadata του ολοκληρωμένου output για δημοσίευση

Οδηγίες ελέγχου ταυτότητας

Χρησιμοποιήστε το X-API-Key από την πλευρά του server για το Ssemble και διατηρήστε τα TikTok OAuth tokens απομονωμένα στην υπηρεσία δημοσίευσής σας. Εναλλάσσετε (rotate) κάθε σετ κλειδιών ανεξάρτητα ανά περιβάλλον.

Όρια ρυθμού (rate limits) και επαναλήψεις (retries)

Αντιμετωπίστε τη δημιουργία και τη δημοσίευση ως ξεχωριστά budgets. Σειριοποιήστε τις μεταβλητικές κλήσεις ανά λογαριασμό προορισμού και, σε 429, τηρήστε το reset/retryAfter με exponential backoff + jitter.

Παράδειγμα αιτήματος

POST /api/publish/tiktok
{
  "jobId": "job_01HT...",
  "requestId": "665a1b2c3d4e5f6a7b8c9d0e",
  "tiktokAccountId": "acct_kor_store_03",
  "scheduleAt": "2026-03-10T18:00:00Z",
  "idempotencyKey": "2f182b63-312f-4290-9222-7cf6f7f8f12d"
}

Παράδειγμα απόκρισης

200 OK
{
  "jobId": "job_01HT...",
  "state": "publish_processing",
  "publishId": "v_inbox_file~v2.123456789",
  "nextCheckAt": "2026-03-10T18:00:30Z"
}

Παράδειγμα σεναρίου σφάλματος

429 Too Many Requests
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Per-account posting throttle reached",
    "details": { "retryAfter": "2026-03-10T18:01:00Z" }
  }
}

Έκδοση (versioning)

Καρφιτσώστε (pin) τις εκδόσεις των endpoint και καταγράφετε τα upstream version metadata ανά αίτημα, ώστε οι παλινδρομήσεις ενσωμάτωσης να είναι ιχνηλάσιμες.

Υποστήριξη

Για triage περιστατικών, διατηρήστε requestId + publish_id + account id + error.code + upstream log_id σε μία εγγραφή με δυνατότητα αναζήτησης.

Γρήγορη εκκίνηση

  1. Δημιουργήστε το SSEMBLE_API_KEY και αποθηκεύστε το στα backend secrets.
  2. Καλέστε το POST /shorts/create και διατηρήστε το requestId στον πίνακα εργασιών σας.
  3. Κάντε poll το GET /shorts/:id/status κάθε 10 δευτερόλεπτα μέχρι την τελική κατάσταση.
  4. Όταν ολοκληρωθεί, δημοσιεύστε στο TikTok μέσω της ουράς του server σας.
  5. Χειριστείτε τα 429/5xx με φραγμένα retries και σταθερά idempotency keys.
Άνοιγμα τεκμηρίωσης δημοσίευσης TikTok

Ξεκινήστε την ενσωμάτωση

Ροή εργασίας 3 βημάτων

  1. Δημιουργήστε short-form assets και αποθηκεύστε το requestId μαζί με το context δημοσίευσης στον πίνακα εργασιών σας.
  2. Παρακολουθήστε την επεξεργασία μέσω status polling ή webhooks και μετακινήστε τις εργασίες σε καταστάσεις ready/failed ντετερμινιστικά.
  3. Δημοσιεύστε στο TikTok με έλεγχο throttle ανά λογαριασμό, idempotency keys και logs συμφωνίας (reconciliation).

Γιατί οι ομάδες επιλέγουν το Ssemble

  • Σχεδιασμένο για ομάδες διανομής πολλαπλών λογαριασμών, όπου η αξιοπιστία της ουράς είναι πιο σημαντική από μια μεμονωμένη επιτυχία.
  • Διαχωρίζει τις ανησυχίες rendering και δημοσίευσης, ώστε οι αποτυχίες να απομονώνονται και να ανακτώνται.
  • Υποστηρίζει χειρισμό κατάστασης με επίγνωση moderation: η ολοκλήρωση του upload δεν σημαίνει πάντα τελική δημόσια διαθεσιμότητα.

Επόμενο βήμα

Συχνές ερωτήσεις

Μπορούμε να θεωρήσουμε την επιτυχία του upload ως δημοσίευση;

Όχι πάντα. Διατηρήστε ξεχωριστές καταστάσεις για uploaded, submitted, publish_complete και publicly_available ώστε να αποφύγετε ψευδώς θετικά αποτελέσματα.

Ποιο βήμα πρέπει να είναι idempotent;

Κατ' ελάχιστον, η έναρξη της δημοσίευσης. Χρησιμοποιήστε ένα σταθερό idempotency key ανά εργασία, ώστε τα retries να μην δημιουργούν διπλότυπα.

Polling ή webhooks: ποιο να χρησιμοποιήσουμε;

Χρησιμοποιήστε webhooks ως πρωταρχικό μηχανισμό όταν είναι διαθέσιμα και κρατήστε το polling ως fallback για συμφωνία και χαμένα συμβάντα.

Πώς αποφεύγουμε τις εκρήξεις 429 σε πολλούς λογαριασμούς;

Κατανείμετε (shard) τις ουρές ανά λογαριασμό προορισμού και επιβάλετε όρια ταυτόχρονων εργασιών ανά λογαριασμό, αντί για μία καθολική ουρά έκρηξης.

Ποια logs είναι υποχρεωτικά για την αντιμετώπιση περιστατικών;

Καταγράψτε requestId, publish_id, account id, μεταβάσεις κατάστασης και error code για να υποστηρίξετε ντετερμινιστικό debugging.

Εγγυάται αυτό τον χρόνο ολοκλήρωσης του moderation;

Όχι. Τα παράθυρα moderation ποικίλλουν, οπότε τα παραγωγικά συστήματα θα πρέπει να αντιμετωπίζουν τον χρόνο τελικής διαθεσιμότητας ως ασύγχρονο και μεταβλητό.

Σχετικοί πόροι