Lokale API-Übersicht
TikMatrix bietet eine lokale RESTful-API, die es ermöglicht, Aufgaben programmatisch zu verwalten. Dies ist nützlich für die Integration von TikMatrix in Ihre Automatisierungssysteme, das Erstellen benutzerdefinierter Workflows oder das Durchführen von Batch-Operationen.
Anforderungen
Die lokale API ist nur für Abonnenten der Pro-, Team- und Business-Pläne verfügbar. Für den Starter-Plan ist kein API-Zugriff verfügbar.
Basis-URL
Die API läuft lokal unter:
http://localhost:50809/api/v1/
Port 50809 ist der Standardport. Stellen Sie sicher, dass TikMatrix läuft, bevor Sie Anfragen senden.
Antwortformat
Alle API-Antworten haben das Format:
{
"code": 0,
"message": "success",
"data": { ... }
}
Antwortcodes
| Code | Beschreibung |
|---|---|
| 0 | Erfolg |
| 40001 | Bad Request - Ungültige Parameter, einschließlich einer script_config, die die Validierung nicht besteht |
| 40002 | Ungültige Anfrage - fehlender script_name |
| 40003 | Bad Request - Skript auf diesem Build oder dieser Plattform nicht unterstützt, ohne Implementierung, oder ungültiger Aufgabenstatus |
| 40004 | Ungültige Anfrage - Nur laufende Tasks können gestoppt werden |
| 40005 | Ungültige Anfrage - task_ids darf nicht leer sein |
| 40301 | Verboten - API-Zugriff erfordert Pro+-Plan |
| 40401 | Nicht gefunden - Ressource existiert nicht |
| 50001 | Interner Serverfehler |
Schnellstart
1. API-Zugriff prüfen
Prüfen Sie zunächst, ob Ihre Lizenz API-Zugriff unterstützt:
curl http://localhost:50809/api/v1/license/check
Beispielantwort:
{
"code": 0,
"message": "success",
"data": {
"plan_name": "Pro",
"api_enabled": true,
"device_limit": 20,
"message": "API access enabled"
}
}
2. Die Skripte und ihre Parameter abfragen
GET /api/v1/schema beschreibt jedes Skript, das dieser Build ausführen kann, samt der genauen script_config-Felder: Namen, Typen, Standardwerte, erlaubte Werte und welche Felder erforderlich sind. Es wird aus demselben Katalog erzeugt, gegen den der Server validiert, und kann deshalb nicht von dem abweichen, was die Aufgabenerstellung akzeptiert.
curl http://localhost:50809/api/v1/schema
Zwei optionale Query-Parameter:
| Parameter | Wirkung |
|---|---|
platform | Beschränkt die Auflistung auf tiktok oder instagram. Eine Plattform, die dieser Build nicht mitbringt, wird mit 40001 abgelehnt. Standard sind alle Plattformen des Builds. |
include_unavailable | Auf true gesetzt, werden auch Skriptnamen aufgeführt, die die API akzeptiert, für die es aber keine Implementierung gibt. Jeder trägt einen unavailable_reason. |
Antwort (gekürzt):
{
"code": 0,
"message": "success",
"data": {
"build": { "platforms": ["tiktok"] },
"scripts": [
{
"name": "follow",
"internal_name": "follow",
"summary": "Follow the given users. One task per target.",
"platforms": ["tiktok", "instagram"],
"available": true,
"fan_out": { "kind": "per_item", "key": "target_users", "alt_key": "target_user" },
"any_of": [["target_users", "target_user"]],
"fields": [
{
"key": "access_method",
"type": "string",
"required": false,
"default": "direct",
"choices": ["direct", "search"],
"description": "How to reach the profile: direct (via URL) or search."
}
]
}
]
}
}
fan_out sagt, wie viele Aufgaben eine Anfrage erzeugt: per_device erstellt eine Aufgabe pro Gerät (bzw. pro Konto im Mehrkonto-Modus), per_item eine pro Eintrag des genannten Feldes, pro Gerät.
3. Aufgabe erstellen
curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1", "device_serial_2"],
"script_name": "post",
"script_config": {
"content_type": 1,
"captions": "Schaut euch mein neues Video an! #viral"
},
"enable_multi_account": false
}'
4. Aufgaben auflisten
curl http://localhost:50809/api/v1/task?status=0&page=1&page_size=20
Verfügbare Skripte
Der Parameter script_name kann folgende Werte annehmen:
| Skript | Beschreibung | API-Unterstützung |
|---|---|---|
post | Inhalt veröffentlichen | ✅ Unterstützt |
follow | Benutzer folgen | ✅ Unterstützt |
unfollow | Entfolgen | ✅ Unterstützt |
account_warmup | Account-Warmup | ✅ Unterstützt |
comment | Kommentar hinterlassen | ✅ Unterstützt |
boost_comment | Vorhandene Kommentare liken/beantworten | ✅ Unterstützt |
login | Beim Konto anmelden | ✅ Unterstützt |
profile | Profil aktualisieren | ✅ Unterstützt |
match_account | Konten auf Gerät zuordnen | ✅ Unterstützt |
like | Liken | ✅ Unterstützt |
view | Beitrag eine bestimmte Zeit ansehen | ✅ Unterstützt |
favorite | Beitrag zu Favoriten hinzufügen | ✅ Unterstützt |
repost | TikTok-Videos reposten | ✅ Unterstützt — nur TikTok |
message | Nachricht senden | ❌ Nicht verfügbar § |
follow_suggested | Vorgeschlagenen Konten folgen | ✅ Unterstützt — nur TikTok |
super_marketing | Super-Marketing-Kampagne | ✅ Unterstützt † |
scrape_user | Benutzerdaten sammeln | 🔜 Bald |
Die Super-Marketing-Kampagne wird nicht über POST /api/v1/task erstellt. Sie basiert auf einem wiederverwendbaren Ziel-Datensatz mit eigenen Endpunkten — siehe Super-Marketing-Skript-Konfiguration.
message hat keine Implementierungmessage wurde von der Aufgabenerstellung akzeptiert, aber die Skript-Binary hat auf keiner der beiden Plattformen einen Handler dafür, sodass jede solche Aufgabe auf dem Gerät mit "Unknown script" fehlschlug. Sie wird nun bereits bei der Erstellung mit dieser Begründung abgelehnt. Für Direktnachrichten verwenden Sie super_marketing, das DMs über einen Ziel-Datensatz steuert.
repost und follow_suggested sind nur für TikTok implementiert. Eine Erstellung gegen ein Instagram-Ziel wird abgelehnt statt eingereiht — zuvor wurde die Aufgabe erstellt und schlug dann auf dem Gerät fehl.
script_config-Validierung
Die Aufgabenerstellung validiert script_config gegen das obige Schema, bevor irgendetwas geschrieben wird. Ein falscher Parameter kommt so als 400 mit Feldnamen zurück statt als Aufgabe, die später auf dem Telefon scheitert. Drei Dinge werden abgelehnt:
- ein erforderliches Feld, das fehlt oder leer ist,
- eine Entweder-oder-Gruppe, in der kein Mitglied gesetzt ist (z. B. braucht
followeines vontarget_users/target_user), - ein Wert außerhalb der dokumentierten
choiceseines Feldes.
Schlüssel, die das Schema nicht kennt, werden ignoriert, nicht abgelehnt — die Desktop-App reicht eigene Schlüssel durch dasselbe Objekt, und unbekannte Schlüssel abzulehnen würde bestehende Integrationen brechen. Sie werden serverseitig protokolliert, damit Sie Tippfehler im App-Log finden.
Zahlen dürfen als Zeichenketten gesendet werden ("20" ebenso wie 20), passend zu dem, was die Skripte ohnehin akzeptieren.
Aufgabenstatus
| Statuscode | Status | Beschreibung |
|---|---|---|
| 0 | pending | Aufgabe wartet auf Ausführung |
| 1 | running | Aufgabe wird ausgeführt |
| 2 | completed | Aufgabe erfolgreich abgeschlossen |
| 3 | failed | Aufgabe mit Fehler beendet |
Weiterführend
- Task-Management-API - Erstellen, Abfragen und Verwalten von Aufgaben
- Aktivitätsprotokoll-API - Aktivitätsprotokolle verfolgen und verwalten
- Post-Skript-Konfiguration - Konfiguration der Post-Skript-Parameter
- Follow-Skript-Konfiguration - Konfiguration der Follow-Skript-Parameter
- Konfiguration des Skripts „Vorgeschlagenen folgen" - Parameter des Skripts für vorgeschlagene Konten konfigurieren
- Unfollow-Skript-Konfiguration - Konfiguration der Unfollow-Skript-Parameter
- Account-Warmup-Skript-Konfiguration - Konfiguration der Account-Warmup-Skript-Parameter
- Comment-Skript-Konfiguration - Konfiguration der Comment-Skript-Parameter
- Boost-Comment-Skript-Konfiguration - Vorhandene Kommentare liken/beantworten
- Like-Skript-Konfiguration - Konfiguration der Like-Skript-Parameter
- View-Skript-Konfiguration - Beiträge eine bestimmte Zeit ansehen
- Favorite-Skript-Konfiguration - Beiträge zu Favoriten hinzufügen
- Message-Skript-Konfiguration - Konfiguration der Message-Skript-Parameter
- Login-Skript-Konfiguration - Konfiguration der Login-Skript-Parameter
- Profil-Skript-Konfiguration - Konfiguration der Profil-Skript-Parameter
- Account-Matching-Skript-Konfiguration - Konfiguration der Account-Matching-Skript-Parameter
- Super-Marketing-Skript-Konfiguration - Ziel-Datensätze importieren und Super-Marketing-Kampagnen starten
- API-Beispiele - Code-Beispiele in mehreren Sprachen
- TCP-Scan-API - Android-Geräte über TCP/IP scannen und verbinden
- Kontostatus-API - Kontostatus, Geräteverbindung und Anmeldestatus abfragen