Przegląd Local API
TikMatrix zapewnia lokalne RESTful API, które pozwala na programowe zarządzanie zadaniami. Jest to przydatne do integracji TikMatrix z własnymi systemami automatyzacji, tworzenia niestandardowych przepływów pracy lub wykonywania operacji wsadowych.
Wymagania
Local API jest dostępne tylko dla subskrybentów planów Pro, Team i Business. Plan Starter nie ma dostępu do API.
Bazowy URL
API działa na twoim lokalnym komputerze pod adresem:
http://localhost:50809/api/v1/
Port 50809 jest domyślnym portem. Upewnij się, że TikMatrix jest uruchomiony przed wykonywaniem żądań API.
Format odpowiedzi
Wszystkie odpowiedzi API mają następujący format:
{
"code": 0,
"message": "success",
"data": { ... }
}
Kody odpowiedzi
| Kod | Opis |
|---|---|
| 0 | Sukces |
| 40001 | Błędne żądanie - Nieprawidłowe parametry, w tym script_config, który nie przechodzi walidacji |
| 40002 | Złe żądanie - Brak script_name |
| 40003 | Błędne żądanie - Skrypt nieobsługiwany w tej kompilacji lub na tej platformie, bez implementacji, albo nieprawidłowy stan zadania |
| 40004 | Złe żądanie - Tylko uruchomione zadania mogą być zatrzymane |
| 40005 | Złe żądanie - task_ids nie może być puste |
| 40301 | Zabronione - Dostęp do API wymaga planu Pro+ |
| 40401 | Nie znaleziono - Zasób nie znaleziony |
| 50001 | Wewnętrzny błąd serwera |
Szybki start
1. Sprawdź dostęp do API
Najpierw sprawdź, czy twoja licencja obsługuje dostęp do API:
curl http://localhost:50809/api/v1/license/check
Odpowiedź:
{
"code": 0,
"message": "success",
"data": {
"plan_name": "Pro",
"api_enabled": true,
"device_limit": 20,
"message": "API access enabled"
}
}
2. Poznaj skrypty i ich parametry
GET /api/v1/schema opisuje każdy skrypt, który ta kompilacja potrafi uruchomić, oraz dokładne pola script_config, jakie przyjmuje: nazwy, typy, wartości domyślne, dozwolone wartości i to, które są wymagane. Powstaje z tego samego katalogu, względem którego waliduje serwer, więc nie może rozminąć się z tym, co akceptuje tworzenie zadań.
curl http://localhost:50809/api/v1/schema
Dwa opcjonalne parametry zapytania:
| Parametr | Działanie |
|---|---|
platform | Ogranicza listę do tiktok lub instagram. Platforma, której ta kompilacja nie zawiera, jest odrzucana z kodem 40001. Domyślnie wszystkie z kompilacji. |
include_unavailable | Ustawione na true wypisuje także nazwy skryptów, które API przyjmuje, ale które nie mają działającej implementacji. Każdy niesie unavailable_reason. |
Odpowiedź (skrócona):
{
"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 mówi, ile zadań wyprodukuje żądanie: per_device tworzy jedno zadanie na urządzenie (lub na konto w trybie wielu kont), per_item tworzy jedno na każdy wpis wskazanego pola, na urządzenie.
3. Utwórz zadanie
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": "Check out my new video! #viral"
},
"enable_multi_account": false,
"start_time": "14:30"
}'
4. Wyświetl zadania
curl http://localhost:50809/api/v1/task?status=0&page=1&page_size=20
Dostępne skrypty
Parametr script_name akceptuje następujące wartości:
| Nazwa skryptu | Opis | Wsparcie API |
|---|---|---|
post | Publikowanie treści | ✅ Obsługiwane |
follow | Obserwowanie użytkowników | ✅ Obsługiwane |
unfollow | Zaprzestanie obserwacji użytkowników | ✅ Obsługiwane |
account_warmup | Rozgrzewanie kont | ✅ Obsługiwane |
comment | Dodawanie nowego komentarza do postów | ✅ Obsługiwane |
boost_comment | Polubienie/odpowiedź na istniejące komentarze | ✅ Obsługiwane |
login | Zaloguj się na konto | ✅ Obsługiwane |
profile | Zaktualizuj profil | ✅ Obsługiwane |
match_account | Dopasuj konta na urządzeniu | ✅ Obsługiwane |
like | Polubienia postów | ✅ Obsługiwane |
view | Oglądaj post przez określony czas | ✅ Obsługiwane |
favorite | Zapisz post do Ulubionych | ✅ Obsługiwane |
repost | Repostuj filmy TikTok | ✅ Obsługiwane — tylko TikTok |
message | Wysyłanie wiadomości bezpośrednich | ❌ Niedostępne § |
follow_suggested | Obserwuj sugerowane konta | ✅ Obsługiwane — tylko TikTok |
super_marketing | Kampania super marketingu | ✅ Obsługiwane † |
scrape_user | Zbieranie danych użytkownika | 🔜 Wkrótce |
Kampania super marketingu nie jest tworzona przez POST /api/v1/task. Działa na podstawie wielokrotnie używanego zestawu danych celów i ma własne punkty końcowe — zobacz Konfigurację skryptu super marketingu.
message nie ma implementacjimessage był przyjmowany przy tworzeniu zadań, ale binarka skryptów nie ma dla niego obsługi na żadnej z platform, więc każde takie zadanie kończyło się na urządzeniu błędem "Unknown script". Teraz jest odrzucane już przy tworzeniu, z podaniem tego powodu. Do wysyłania wiadomości prywatnych użyj super_marketing, które prowadzi DM-y na podstawie zbioru odbiorców.
repost i follow_suggested są zaimplementowane tylko dla TikToka. Utworzenie takiego zadania dla celu na Instagramie jest odrzucane zamiast kolejkowane — wcześniej zadanie powstawało, a potem kończyło się błędem na urządzeniu.
Walidacja script_config
Tworzenie zadania waliduje script_config względem powyższego schematu, zanim cokolwiek zapisze, więc zły parametr wraca jako 400 ze wskazaniem pola, a nie jako zadanie, które zawiedzie później na telefonie. Odrzucane są trzy rzeczy:
- wymagane pole, którego brakuje lub jest puste,
- grupa alternatyw, w której nie ustawiono żadnego z członków (na przykład
followpotrzebujetarget_usersalbotarget_user), - wartość spoza udokumentowanych
choicesdanego pola.
Klucze, których schemat nie wymienia, są ignorowane, a nie odrzucane — aplikacja desktopowa przepuszcza własne klucze przez ten sam obiekt, a odrzucanie nieznanych zepsułoby istniejące integracje. Są logowane po stronie serwera, więc literówkę wypatrzysz w logu aplikacji.
Liczby można przesyłać jako ciągi znaków ("20" tak samo jak 20), zgodnie z tym, co skrypty już przyjmują.
Status zadania
| Kod statusu | Tekst statusu | Opis |
|---|---|---|
| 0 | pending | Zadanie oczekuje na wykonanie |
| 1 | running | Zadanie jest obecnie wykonywane |
| 2 | completed | Zadanie zakończone pomyślnie |
| 3 | failed | Zadanie nie powiodło się |
Następne kroki
- API zarządzania zadaniami - Tworzenie, zapytania i zarządzanie zadaniami
- API Dziennika Aktywności - Śledź i zarządzaj dziennikami aktywności
- Konfiguracja skryptu publikacji - Konfigurowanie parametrów skryptu publikacji
- Konfiguracja skryptu obserwowania - Konfigurowanie parametrów skryptu obserwowania
- Konfiguracja skryptu Obserwuj sugerowanych - Konfigurowanie parametrów skryptu obserwowania sugerowanych
- Konfiguracja skryptu zaprzestania obserwacji - Konfigurowanie parametrów skryptu zaprzestania obserwacji
- Konfiguracja skryptu rozgrzewania konta - Konfigurowanie parametrów skryptu rozgrzewania konta
- Konfiguracja skryptu komentarzy - Dodawanie nowego komentarza do postów
- Konfiguracja skryptu Boost Comment - Polubienie/odpowiedź na istniejące komentarze
- Konfiguracja Skryptu Like - Konfiguruj parametry skryptu like
- Konfiguracja skryptu View - Oglądaj posty przez określony czas
- Konfiguracja skryptu Favorite - Zapisz posty do Ulubionych
- Konfiguracja Skryptu Wiadomości - Konfiguruj parametry skryptu wiadomości
- Konfiguracja skryptu logowania - Konfigurowanie parametrów skryptu logowania
- Konfiguracja skryptu profilu - Konfigurowanie parametrów skryptu profilu
- Konfiguracja skryptu dopasowania kont - Konfigurowanie parametrów skryptu dopasowania kont
- Konfiguracja skryptu super marketingu - Import zestawów danych i uruchamianie kampanii super marketingu
- Przykłady API - Przykłady kodu w różnych językach
- API skanowania TCP - Skanuj i łącz urządzenia Android przez TCP/IP
- API statusu kont - Sprawdzanie statusu konta, łączności urządzenia i stanu logowania