Local API Overzicht
TikMatrix biedt een lokale RESTful API waarmee u taken programmatisch kunt beheren. Dit is handig voor het integreren van TikMatrix met uw eigen automatiseringssystemen, het bouwen van aangepaste workflows of het maken van batchbewerkingen.
Vereisten
De Local API is alleen beschikbaar voor Pro, Team en Business plan abonnees. Het Starter plan heeft geen toegang tot de API.
Basis URL
De API draait op uw lokale machine op:
http://localhost:50809/api/v1/
De poort 50809 is de standaard poort. Zorg ervoor dat TikMatrix draait voordat u API verzoeken doet.
Response Formaat
Alle API responses volgen dit formaat:
{
"code": 0,
"message": "success",
"data": { ... }
}
Response Codes
| Code | Beschrijving |
|---|---|
| 0 | Succes |
| 40001 | Ongeldig verzoek - Ongeldige parameters, waaronder een script_config die de validatie niet doorstaat |
| 40002 | Bad Request - Ontbrekende script_name |
| 40003 | Ongeldig verzoek - Script niet ondersteund op deze build of dit platform, zonder implementatie, of ongeldige taakstatus |
| 40004 | Bad Request - Alleen lopende taken kunnen worden gestopt |
| 40005 | Bad Request - task_ids kan niet leeg zijn |
| 40301 | Forbidden - API toegang vereist Pro+ plan |
| 40401 | Not Found - Resource niet gevonden |
| 50001 | Internal Server Error |
Snelstart
1. Controleer API Toegang
Controleer eerst of uw licentie API toegang ondersteunt:
curl http://localhost:50809/api/v1/license/check
Response:
{
"code": 0,
"message": "success",
"data": {
"plan_name": "Pro",
"api_enabled": true,
"device_limit": 20,
"message": "API access enabled"
}
}
2. De scripts en hun parameters opvragen
GET /api/v1/schema beschrijft elk script dat deze build kan uitvoeren en precies welke script_config-velden het aanneemt: namen, typen, standaardwaarden, toegestane waarden en welke verplicht zijn. Het wordt gegenereerd uit dezelfde catalogus waartegen de server valideert, dus het kan niet afwijken van wat het aanmaken van taken accepteert.
curl http://localhost:50809/api/v1/schema
Twee optionele queryparameters:
| Parameter | Effect |
|---|---|
platform | Beperkt de lijst tot tiktok of instagram. Een platform dat deze build niet meelevert wordt afgewezen met 40001. Standaard alles wat de build meelevert. |
include_unavailable | Op true worden ook scriptnamen getoond die de API accepteert maar die geen werkende implementatie hebben. Elk draagt een unavailable_reason. |
Antwoord (ingekort):
{
"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 zegt hoeveel taken een verzoek oplevert: per_device maakt één taak per apparaat (of per account in multi-accountmodus), per_item maakt er één per item van het genoemde veld, per apparaat.
3. Maak een Taak
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. Lijst Taken
curl http://localhost:50809/api/v1/task?status=0&page=1&page_size=20
Beschikbare Scripts
De script_name parameter accepteert de volgende waarden:
| Script Naam | Beschrijving | API Ondersteuning |
|---|---|---|
post | Publiceer inhoud | ✅ Ondersteund |
follow | Volg gebruikers | ✅ Ondersteund |
unfollow | Ontvolg gebruikers | ✅ Ondersteund |
account_warmup | Warm accounts op | ✅ Ondersteund |
comment | Reageer op posts | ✅ Ondersteund |
boost_comment | Like/beantwoord bestaande opmerkingen | ✅ Ondersteund |
login | Inloggen op account | ✅ Ondersteund |
profile | Profiel bijwerken | ✅ Ondersteund |
match_account | Accounts op apparaat koppelen | ✅ Ondersteund |
like | Like posts | ✅ Ondersteund |
view | Bekijk een bericht voor een bepaalde duur | ✅ Ondersteund |
favorite | Sla een bericht op in Favorieten | ✅ Ondersteund |
repost | TikTok-video's herplaatsen | ✅ Ondersteund — alleen TikTok |
message | Stuur directe berichten | ❌ Niet beschikbaar § |
follow_suggested | Volg voorgestelde accounts | ✅ Ondersteund — alleen TikTok |
super_marketing | Super marketing campagne | ✅ Ondersteund † |
scrape_user | Scrape gebruikersgegevens | 🔜 Binnenkort |
De super marketing campagne wordt niet aangemaakt via POST /api/v1/task. Het maakt gebruik van een herbruikbare doeldataset met eigen eindpunten — zie Super Marketing Script Configuratie.
message heeft geen implementatiemessage werd geaccepteerd bij het aanmaken van taken, maar de script-binary heeft er op geen van beide platforms een handler voor, dus elke zo’n taak mislukte op het apparaat met "Unknown script". Hij wordt nu al bij het aanmaken afgewezen, met die reden. Gebruik voor directe berichten super_marketing, dat DM’s aanstuurt via een doelgroepbestand.
repost en follow_suggested zijn alleen voor TikTok geïmplementeerd. Er een aanmaken tegen een Instagram-doel wordt afgewezen in plaats van ingepland — voorheen werd de taak aangemaakt en mislukte daarna op het apparaat.
script_config-validatie
Bij het aanmaken van een taak wordt script_config eerst tegen bovenstaand schema gevalideerd, zodat een verkeerde parameter terugkomt als een 400 die het veld noemt, in plaats van als een taak die later op de telefoon mislukt. Drie dingen worden afgewezen:
- een verplicht veld dat ontbreekt of leeg is,
- een of-of-groep waarvan geen enkel lid is ingevuld (
followheeft bijvoorbeeldtarget_usersoftarget_usernodig), - een waarde buiten de gedocumenteerde
choicesvan een veld.
Sleutels die het schema niet kent worden genegeerd, niet afgewezen — de desktop-app stuurt eigen sleutels door hetzelfde object, en onbekende sleutels weigeren zou bestaande integraties breken. Ze worden serverzijdig gelogd zodat je een typefout in het app-log kunt vinden.
Getallen mogen als tekst worden verstuurd ("20" net zo goed als 20), passend bij wat de scripts al accepteren.
Taak Status
| Status Code | Status Tekst | Beschrijving |
|---|---|---|
| 0 | pending | Taak wacht om uitgevoerd te worden |
| 1 | running | Taak wordt momenteel uitgevoerd |
| 2 | completed | Taak succesvol voltooid |
| 3 | failed | Taak mislukt |
Volgende Stappen
- Task Management API - Taken maken, opvragen en beheren
- Activiteitenlogboek API - Activiteitenlogboeken bijhouden en beheren
- Post Script Configuratie - Post script parameters configureren
- Follow Script Configuratie - Follow script parameters configureren
- Configuratie Script Volg Suggesties - Scriptparameters configureren
- Unfollow Script Configuratie - Unfollow script parameters configureren
- Account Warmup Script Configuratie - Account warmup script parameters configureren
- Comment Script Configuratie - Comment script parameters configureren
- Boost Comment Script Configuratie - Like/beantwoord bestaande opmerkingen
- Like-script Configuratie - Like-script parameters configureren
- View-script Configuratie - Berichten bekijken voor een configureerbare duur
- Favorite-script Configuratie - Berichten opslaan in Favorieten
- Bericht-script Configuratie - Bericht-script parameters configureren
- Login Script Configuratie - Login script parameters configureren
- Profiel Script Configuratie - Profiel script parameters configureren
- Account Koppeling Script Configuratie - Account koppeling script parameters configureren
- Super Marketing Script Configuratie - Doeldatasets importeren en super marketing campagnes starten
- API Voorbeelden - Codevoorbeelden in verschillende talen
- TCP Scan API - Android-apparaten scannen en verbinden via TCP/IP
- Accountstatus-API - Accountstatus, apparaatverbinding en inlogstatus opvragen