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 ou instagram. 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"],
"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 du contenu | ✅ Pris en charge |
follow | Suivre des utilisateurs | ✅ Pris en charge |
unfollow | Se désabonner | ✅ Pris en charge |
account_warmup | Préchauffage de compte | ✅ Pris en charge |
comment | Publier un commentaire sur des posts | ✅ Pris en charge |
boost_comment | Aimer/répondre aux 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 |