Hoppa till huvudinnehåll

Översikt över lokalt API

TikMatrix tillhandahåller ett lokalt RESTful API som gör det möjligt att hantera uppgifter programmatiskt. Detta är användbart för att integrera TikMatrix med dina egna automationssystem, bygga anpassade arbetsflöden eller skapa batch-operationer.

Krav

Licenskrav

Det lokala API:et är endast tillgängligt för Pro, Team och Business-prenumeranter. Starter-planen har inte tillgång till API:et.

Bas-URL

API:et körs på din lokala maskin på:

http://localhost:50809/api/v1/
anteckning

Porten 50809 är standardporten. Se till att TikMatrix körs innan du gör API-förfrågningar.

Svarsformat

Alla API-svar följer detta format:

{
"code": 0,
"message": "success",
"data": { ... }
}

Svarskoder

KodBeskrivning
0Framgång
40001Felaktig begäran - Ogiltiga parametrar, inklusive en script_config som inte klarar valideringen
40002Felaktig begäran - Saknar script_name
40003Felaktig begäran - Skriptet stöds inte i detta bygge eller på denna plattform, saknar implementation, eller ogiltigt uppgiftstillstånd
40004Felaktig begäran - Endast körbara uppgifter kan stoppas
40005Felaktig begäran - task_ids kan inte vara tom
40301Förbjuden - API-åtkomst kräver Pro+ plan
40401Hittades inte - Resurs hittades inte
50001Internt serverfel

Snabbstart

1. Kontrollera API-åtkomst

Först, verifiera att din licens stöder API-åtkomst:

curl http://localhost:50809/api/v1/license/check

Svar:

{
"code": 0,
"message": "success",
"data": {
"plan_name": "Pro",
"api_enabled": true,
"device_limit": 20,
"message": "API access enabled"
}
}

2. Hitta skripten och deras parametrar

GET /api/v1/schema beskriver varje skript som detta bygge kan köra och exakt vilka script_config-fält det tar: namn, typer, standardvärden, tillåtna värden och vilka som krävs. Det genereras ur samma katalog som servern validerar mot och kan därför inte glida ifrån vad uppgiftsskapandet accepterar.

curl http://localhost:50809/api/v1/schema

Två valfria frågeparametrar:

ParameterEffekt
platformBegränsar listningen till tiktok eller instagram. En plattform som bygget inte levererar avvisas med 40001. Som standard allt bygget levererar.
include_unavailableSatt till true listas även skriptnamn som API:et accepterar men som saknar fungerande implementation. Varje bär ett unavailable_reason.

Svar (förkortat):

{
"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 säger hur många uppgifter en begäran ger: per_device skapar en uppgift per enhet (eller per konto i flerkontoläge), per_item skapar en per post i det angivna fältet, per enhet.

3. Skapa en uppgift

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. Lista uppgifter

curl http://localhost:50809/api/v1/task?status=0&page=1&page_size=20

Tillgängliga scripts

Parametern script_name accepterar följande värden:

Script-namnBeskrivningAPI-stöd
postPublicera innehåll✅ Stöds
followFölj användare✅ Stöds
unfollowSluta följa användare✅ Stöds
account_warmupVärm upp konton✅ Stöds
commentKommentera inlägg✅ Stöds
boost_commentGilla/svara på befintliga kommentarer✅ Stöds
loginLogga in på konto✅ Stöds
profileUppdatera profil✅ Stöds
match_accountMatcha konton på enhet✅ Stöds
likeGilla inlägg✅ Stöds
viewTitta på ett inlägg under en bestämd tid✅ Stöds
favoriteSpara ett inlägg i Favoriter✅ Stöds
repostReosta TikTok-videor✅ Stöds — endast TikTok
messageSkicka direktmeddelanden❌ Ej tillgängligt §
follow_suggestedFölj föreslagna konton✅ Stöds — endast TikTok
super_marketingSuper marknadsföringskampanj✅ Stöds †
scrape_userSkrapa användardata🔜 Kommer snart
† Super marketing använder dedikerade slutpunkter

Super marketing-kampanjen skapas inte via POST /api/v1/task. Den körs på en återanvändbar måldatamängd med egna slutpunkter — se Konfiguration av Super Marketing Script.

§ message saknar implementation

message accepterades av uppgiftsskapandet, men skriptbinären har ingen hanterare för det på någon av plattformarna, så varje sådan uppgift misslyckades på enheten med "Unknown script". Den avvisas nu redan vid skapandet, med den motiveringen. För direktmeddelanden idag, använd super_marketing, som driver DM via en måldatamängd.

Plattformsspecifika skript

repost och follow_suggested är bara implementerade för TikTok. Att skapa ett mot ett Instagram-mål avvisas i stället för att köas — tidigare skapades uppgiften och misslyckades sedan på enheten.

Validering av script_config

Uppgiftsskapandet validerar script_config mot schemat ovan innan något skrivs, så en felaktig parameter kommer tillbaka som en 400 som namnger fältet i stället för en uppgift som misslyckas senare i telefonen. Tre saker avvisas:

  • ett obligatoriskt fält som saknas eller är tomt,
  • en antingen-eller-grupp där ingen medlem är satt (till exempel behöver follow ett av target_users / target_user),
  • ett värde utanför fältets dokumenterade choices.

Nycklar som schemat inte listar ignoreras, avvisas inte — skrivbordsappen skickar egna nycklar genom samma objekt, och att avvisa okända nycklar skulle bryta befintliga integrationer. De loggas på serversidan så att du kan upptäcka ett stavfel i applogg.

Tal får skickas som strängar ("20" såväl som 20), i linje med vad skripten redan accepterar.

Uppgiftsstatus

StatuskodStatustextBeskrivning
0pendingUppgiften väntar på att utföras
1runningUppgiften körs för närvarande
2completedUppgiften slutfördes framgångsrikt
3failedUppgiften misslyckades

Nästa steg