Aperçu de l'API Locale
TikMatrix fournit une API RESTful locale qui vous permet de gérer les tâches par programmation. Cela est particulièrement utile pour intégrer TikMatrix dans vos propres systèmes d'automatisation, créer des flux de travail personnalisés ou effectuer des opérations en masse.
Exigences
L'API locale est disponible uniquement pour les utilisateurs des forfaits Pro, Team et Business. Le forfait Starter ne fournit pas d'accès à l'API.
URL de Base
L'API fonctionne localement à l'adresse :
http://localhost:50809/api/v1/
Le port 50809 est le port par défaut. Veuillez vous assurer que TikMatrix est en cours d'exécution avant d'envoyer des requêtes.
Format de Réponse
Toutes les réponses de l'API suivent le format suivant :
{
"code": 0,
"message": "success",
"data": { ... }
}
Description des Codes de Réponse
| Code | Description |
|---|---|
| 0 | Succès |
| 40001 | Requête incorrecte - Paramètres invalides, y compris une script_config qui échoue à la validation |
| 40002 | Erreur de paramètre - script_name manquant |
| 40003 | Requête incorrecte - Script non pris en charge par cette build ou cette plateforme, sans implémentation, ou état de tâche invalide |
| 40004 | Erreur de paramètre - Seules les tâches en cours d'exécution peuvent être arrêtées |
| 40005 | Erreur de paramètre - task_ids ne peut pas être vide |
| 40301 | Interdit - L'accès à l'API nécessite un forfait Pro+ |
| 40401 | Non trouvé - La ressource n'existe pas |
| 50001 | Erreur interne du serveur |
Démarrage Rapide
1. Vérifier l'Accès à l'API
Tout d'abord, confirmez que votre licence prend en charge l'API :
curl http://localhost:50809/api/v1/license/check
Exemple de réponse :
{
"code": 0,
"message": "success",
"data": {
"plan_name": "Pro",
"api_enabled": true,
"device_limit": 20,
"message": "API access enabled"
}
}
2. Découvrir les scripts et leurs paramètres
GET /api/v1/schema décrit chaque script que cette build peut exécuter ainsi que les champs script_config exacts qu’il accepte : noms, types, valeurs par défaut, valeurs autorisées et champs obligatoires. Il est généré à partir du même catalogue que celui utilisé pour la validation côté serveur, il ne peut donc pas diverger de ce que la création de tâche accepte.
curl http://localhost:50809/api/v1/schema
Deux paramètres de requête facultatifs :
| Paramètre | Effet |
|---|---|
platform | Restreint la liste à tiktok, instagram ou threads. Une plateforme absente de cette build est rejetée avec 40001. Par défaut, toutes celles de la build. |
include_unavailable | À true, liste aussi les noms de script que l’API accepte mais qui n’ont aucune implémentation. Chacun porte un unavailable_reason. |
Réponse (abrégée) :
{
"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", "threads"],
"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 indique combien de tâches une requête produira : per_device crée une tâche par appareil (ou par compte en mode multi-compte), per_item en crée une par entrée du champ nommé, par appareil.
3. Créer une Tâche
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": "Regardez ma nouvelle vidéo ! #tendance"
},
"enable_multi_account": false
}'
4. Interroger la Liste des Tâches
curl http://localhost:50809/api/v1/task?status=0&page=1&page_size=20
Scripts Disponibles
Le paramètre script_name accepte les valeurs suivantes :
| Nom du Script | Description | Support API |
|---|---|---|
post | Publier des vidéos, des images ou des publications texte uniquement sur Threads | ✅ Pris en charge |
follow | Suivre des utilisateurs | ✅ Pris en charge |
unfollow | Ne plus suivre des utilisateurs | ✅ Pris en charge |
account_warmup | Préchauffer des comptes | ✅ Pris en charge |
comment | Publier un nouveau commentaire sur des publications | ✅ Pris en charge |
boost_comment | Aimer ou répondre à des commentaires existants | ✅ Pris en charge |
login | Se connecter au compte | ✅ Pris en charge |
profile | Mettre à jour le profil | ✅ Pris en charge |
match_account | Associer les comptes sur l'appareil | ✅ Pris en charge |
like | Aimer des publications | ✅ Pris en charge |
view | Regarder une publication pendant une durée donnée | ✅ Pris en charge |
favorite | Enregistrer une publication dans les Favoris | ✅ Pris en charge |
repost | Repartager des vidéos TikTok ou des publications Threads | ✅ Pris en charge — TikTok et Threads |
message | Envoyer des messages privés | ✅ Pris en charge — Threads uniquement |
follow_back | Suivre les comptes de la liste des abonnés | ✅ Pris en charge — TikTok, Instagram et Threads |
follow_suggested | Suivre les comptes suggérés | ✅ Pris en charge — TikTok uniquement |
custom_script | Exécuter un programme que vous avez enregistré | ✅ Pris en charge ‡ |
super_marketing | Campagne de super marketing | ✅ Pris en charge † |
scrape_users | Exporter les noms d'utilisateur des abonnés, des abonnements ou des recherches | ✅ Pris en charge — TikTok, Instagram et Threads |
auto_reply | Répondre aux messages privés et aux commentaires | ❌ Indisponible via l'API § |
La campagne de super marketing n'est pas créée via POST /api/v1/task. Elle s'appuie sur un dataset de cibles réutilisable et dispose de ses propres endpoints — voir la Configuration du Script Super Marketing.
La tâche autonome message pilote le parcours profil Threads → Message. Pour TikTok et Instagram, utilisez plutôt super_marketing avec un dataset de cibles.
repost est implémenté pour TikTok et Threads ; follow_suggested reste réservé à TikTok. follow_back et scrape_users utilisent l'interface de liste d'abonnés et de recherche propre à chaque plateforme, sur un appareil réel, et sont disponibles sur TikTok, Instagram et Threads.
custom_script exécute un programme que vous avez enregistré sous Appareils → Scripts personnalisés. Transmettez son identifiant dans script_config.custom_script_id — voir Scripts personnalisés.
auto_reply répond aux messages privés et aux commentaires sur TikTok, Instagram et Threads, avec le forfait Pro ou supérieur. Ses cycles sont planifiés depuis la page Réponse automatique de l'application, qui contient les règles de réponse, les horaires de fonctionnement et l'interrupteur de pause. Il ne peut donc pas être créé via POST /api/v1/task.
Validation de script_config
La création de tâche valide script_config contre le schéma ci-dessus avant d’écrire quoi que ce soit : un mauvais paramètre revient donc en 400 en nommant le champ, plutôt qu’en tâche qui échoue plus tard sur le téléphone. Trois choses sont rejetées :
- un champ obligatoire manquant ou vide,
- un groupe alternatif dont aucun membre n’est renseigné (par exemple
followexigetarget_usersoutarget_user), - une valeur hors des
choicesdocumentés d’un champ.
Les clés absentes du schéma sont ignorées, pas rejetées : l’application de bureau fait passer ses propres clés par le même objet, et rejeter les clés inconnues casserait les intégrations existantes. Elles sont journalisées côté serveur pour vous permettre de repérer une faute de frappe dans le log.
Les nombres peuvent être envoyés sous forme de chaînes ("20" comme 20), conformément à ce que les scripts acceptent déjà.
États des Tâches
| Code d'État | Texte d'État | Description |
|---|---|---|
| 0 | pending | La tâche est en attente d'exécution |
| 1 | running | La tâche est en cours d'exécution |
| 2 | completed | La tâche a été exécutée avec succès |
| 3 | failed | L'exécution de la tâche a échoué |
Suite
- API de Gestion des Tâches - Créer, interroger et gérer les tâches
- API du Journal d'Activité - Suivre et gérer les journaux d'activité
- Configuration du Script de Publication - Configurer les paramètres du script de publication
- Configuration du Script de Suivi - Configurer les paramètres du script de suivi
- Configuration du Script Suivre les Suggérés - Configurer les paramètres du script de suivi des suggérés
- Configuration du Script de Désabonnement - Configurer les paramètres du script de désabonnement
- Configuration du Script de Préchauffage de Compte - Configurer les paramètres du script de préchauffage de compte
- Configuration du Script de Commentaire - Publier un nouveau commentaire sur des posts
- Configuration du Script Boost Commentaire - Aimer/répondre aux commentaires existants
- Configuration du Script Like - Configurer les paramètres du script de like
- Configuration du Script View - Regarder des posts pendant une durée configurable
- Configuration du Script Favorite - Enregistrer des posts dans les Favoris
- Configuration du Script Message - Configurer les paramètres du script de message
- Configuration du Script de Connexion - Configurer les paramètres du script de connexion
- Configuration du Script de Profil - Configurer les paramètres du script de profil
- Configuration du Script de Correspondance de Compte - Configurer les paramètres du script de correspondance de compte
- Configuration du Script Super Marketing - Importer des datasets et lancer des campagnes de super marketing
- Exemples d'API - Exemples de code dans différents langages
- API de Scan TCP - Scanner et connecter des appareils Android via TCP/IP
- API d'état des comptes - Interroger l'état des comptes, la connectivité des appareils et l'état de connexion