Visión General de la API Local
TikMatrix proporciona una API RESTful local que te permite gestionar tareas de forma programática. Esto es útil para integrar TikMatrix en tus propios sistemas de automatización, construir flujos de trabajo personalizados o crear operaciones por lotes.
Requisitos
La API local está disponible solo para usuarios de los planes Pro, Team y Business. El plan Starter no proporciona acceso a la API.
URL Base
La API se ejecuta localmente en:
http://localhost:50809/api/v1/
El puerto 50809 es el puerto predeterminado. Asegúrate de que TikMatrix esté en ejecución antes de realizar solicitudes.
Formato de Respuesta
Todas las respuestas de la API siguen este formato:
{
"code": 0,
"message": "success",
"data": { ... }
}
Códigos de Respuesta
| Code | Descripción |
|---|---|
| 0 | Éxito |
| 40001 | Solicitud incorrecta - Parámetros no válidos, incluida una script_config que no pasa la validación |
| 40002 | Error de parámetro - Falta script_name |
| 40003 | Solicitud incorrecta - Script no admitido en esta compilación o plataforma, sin implementación, o estado de tarea no válido |
| 40004 | Error de parámetro - Solo se pueden detener tareas en ejecución |
| 40005 | Error de parámetro - task_ids no puede estar vacío |
| 40301 | Prohibido - El acceso a la API requiere plan Pro+ |
| 40401 | No encontrado - El recurso no existe |
| 50001 | Error interno del servidor |
Inicio Rápido
1. Verificar Acceso a la API
Primero, confirma si tu licencia soporta API:
curl http://localhost:50809/api/v1/license/check
Respuesta de ejemplo:
{
"code": 0,
"message": "success",
"data": {
"plan_name": "Pro",
"api_enabled": true,
"device_limit": 20,
"message": "API access enabled"
}
}
2. Descubrir los scripts y sus parámetros
GET /api/v1/schema describe cada script que esta compilación puede ejecutar y los campos exactos de script_config que acepta: nombres, tipos, valores por defecto, valores permitidos y cuáles son obligatorios. Se genera a partir del mismo catálogo con el que valida el servidor, así que no puede desviarse de lo que acepta la creación de tareas.
curl http://localhost:50809/api/v1/schema
Dos parámetros de consulta opcionales:
| Parámetro | Efecto |
|---|---|
platform | Limita el listado a tiktok o instagram. Una plataforma que esta compilación no incluye se rechaza con 40001. Por defecto devuelve todas las de la compilación. |
include_unavailable | Con true, incluye también los nombres de script que la API acepta pero que no tienen implementación. Cada uno lleva un unavailable_reason. |
Respuesta (abreviada):
{
"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 indica cuántas tareas producirá una petición: per_device crea una tarea por dispositivo (o por cuenta en modo multicuenta), per_item crea una por cada entrada del campo indicado, por dispositivo.
3. Crear una Tarea
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": "¡Mira mi nuevo video! #viral"
},
"enable_multi_account": false
}'
4. Listar Tareas
curl http://localhost:50809/api/v1/task?status=0&page=1&page_size=20
Scripts Disponibles
El parámetro script_name acepta los siguientes valores:
| Nombre del Script | Descripción | Soporte API |
|---|---|---|
post | Publicar contenido | ✅ Compatible |
follow | Seguir usuarios | ✅ Compatible |
unfollow | Dejar de seguir | ✅ Compatible |
account_warmup | Calentamiento de cuenta | ✅ Compatible |
comment | Publicar un comentario en posts | ✅ Compatible |
boost_comment | Dar me gusta/responder comentarios existentes | ✅ Compatible |
login | Iniciar sesión en cuenta | ✅ Compatible |
profile | Actualizar perfil | ✅ Compatible |
match_account | Vincular cuentas en dispositivo | ✅ Compatible |
like | Me gusta a posts | ✅ Compatible |
view | Ver una publicación durante un tiempo | ✅ Compatible |
favorite | Guardar una publicación en Favoritos | ✅ Compatible |
repost | Repostear vídeos de TikTok | ✅ Admitido — solo TikTok |
message | Mensaje directo | ❌ No disponible § |
follow_suggested | Seguir cuentas sugeridas | ✅ Admitido — solo TikTok |
super_marketing | Campaña de supermarketing | ✅ Compatible † |
scrape_user | Extraer datos de usuario | 🔜 Próximamente |
La campaña de supermarketing no se crea a través de POST /api/v1/task. Funciona con un dataset reutilizable de objetivos y tiene sus propios endpoints — consulta la Configuración del Script Super Marketing.
message no tiene implementaciónmessage era aceptado por la creación de tareas, pero el binario de scripts no tiene manejador para él en ninguna de las dos plataformas, así que toda tarea de este tipo fallaba en el dispositivo con "Unknown script". Ahora se rechaza al crearla, indicando ese motivo. Para enviar mensajes directos hoy, usa super_marketing, que gestiona los DM mediante un conjunto de destinatarios.
repost y follow_suggested solo están implementados para TikTok. Crear uno contra un objetivo de Instagram se rechaza en lugar de encolarse: antes la tarea se creaba y luego fallaba en el dispositivo.
Validación de script_config
La creación de tareas valida script_config contra el esquema anterior antes de escribir nada, de modo que un parámetro incorrecto vuelve como un 400 que nombra el campo, en vez de una tarea que falla más tarde en el teléfono. Se rechazan tres cosas:
- un campo obligatorio ausente o vacío,
- un grupo de alternativas donde no se ha fijado ninguno de sus miembros (por ejemplo,
follownecesita uno detarget_users/target_user), - un valor fuera de los
choicesdocumentados de un campo.
Las claves que el esquema no lista se ignoran, no se rechazan: la aplicación de escritorio pasa sus propias claves por el mismo objeto y rechazar las desconocidas rompería integraciones existentes. Se registran en el servidor para que puedas detectar una errata en el log de la aplicación.
Los números pueden enviarse como cadenas ("20" además de 20), igual que ya aceptan los scripts.
Estados de Tarea
| Código de Estado | Texto de Estado | Descripción |
|---|---|---|
| 0 | pending | Tarea esperando ejecución |
| 1 | running | Tarea en ejecución |
| 2 | completed | Tarea completada exitosamente |
| 3 | failed | Tarea fallida |
Siguiente Paso
- API de Gestión de Tareas - Crear, consultar y gestionar tareas
- API de Registro de Actividad - Rastree y gestione registros de actividad
- Configuración del Script Post - Configurar parámetros del script de publicación
- Configuración del Script Follow - Configurar parámetros del script de seguir
- Configuración del Script Seguir Sugeridos - Configurar parámetros del script de seguir sugeridos
- Configuración del Script Unfollow - Configurar parámetros del script de dejar de seguir
- Configuración del Script Account Warmup - Configurar parámetros del script de calentamiento
- Configuración del Script Comment - Publicar un nuevo comentario en posts
- Configuración del Script Boost Comment - Dar me gusta/responder comentarios existentes
- Configuración del Script Like - Configurar parámetros del script de like
- Configuración del Script View - Ver posts durante una duración configurable
- Configuración del Script Favorite - Guardar posts en Favoritos
- Configuración del Script Message - Configurar parámetros del script de mensajes
- Configuración del Script Login - Configurar parámetros del script de login
- Configuración del Script Profile - Configurar parámetros del script de perfil
- Configuración del Script Match Account - Configurar parámetros del script de correspondencia de cuenta
- Configuración del Script Super Marketing - Importar datasets y lanzar campañas de supermarketing
- Ejemplos de API - Ejemplos de código en diferentes lenguajes
- API de Escaneo TCP - Escanear y conectar dispositivos Android vía TCP/IP
- API de estado de cuentas - Consultar el estado de la cuenta, la conectividad del dispositivo y el estado de inicio de sesión