Desarrolladores · Superficie de máquina
API REST v2
La misma API que llama un agente. Y tú también puedes. Un endpoint JSON, key + action. Tu código busca el catálogo, confirma el precio y luego coloca el pedido. El panel y el servidor MCP corren sobre esta misma superficie.
Toolkit en GitHub: servidor MCP, CLI y SDK para que tu agente lea el catálogo, consulte el precio con get_service y coloque el pedido solo después de que confirmes.
Código abierto en GitHubVisión general
Esta es la superficie que maneja un agente de IA. Cada llamada es un verbo elegido por action, así que un agente busca el catálogo, lee la tarifa y los límites, y luego actúa: buscar-luego-actuar, con el precio confirmado antes de que se mueva el dinero. El servidor MCP y la CLI envuelven estas mismas llamadas; esta página es el protocolo crudo por debajo.
La API sigue la forma ampliamente adoptada de la API SMM v2, así que el software de paneles, los scripts y las integraciones de agentes existentes funcionan con cambios mínimos. Cada operación pasa por un único endpoint y elige el verbo con el parámetro action. Las respuestas son JSON. Fáciles de parsear y encadenar para un script o un LLM.
Endpoint
POST https://api.socialgo.com/api/v2
Autenticación
La autenticación es por solicitud. Sin sesión, sin handshake, que es justo lo que la hace invocable por un agente. Envía tu key secreta en cada llamada. Encuéntrala y rótala en el panel en Cuenta → API. Trata la clave como una contraseña: mantenla del lado del servidor, nunca en código de cliente ni en un prompt de agente.
Formato de la solicitud
Envía parámetros de formulario application/x-www-form-urlencoded por POST. Cada respuesta es JSON. Dos parámetros van en cada llamada:
key: tu clave API (requerida)action: el verbo a ejecutar (requerido)
Formato de error
Ante un fallo, la respuesta lleva un campo error con un mensaje legible, y el estado HTTP refleja el problema (p. ej. 400 solicitud incorrecta, 401 clave inválida). Una forma predecible, para que un script o agente pueda bifurcar sin adivinar.
{
"error": "Incorrect request"
}Acciones
Cada verbo hace un trabajo. Un agente los encadena en orden: services para encontrar qué comprar, add para comprarlo, status para rastrearlo. Las llamadas de lectura (services, status, balance) le permiten confirmar precio y fondos antes de las llamadas de escritura (add, refill, cancel) que gastan algo.
1. Listar servicios
El catálogo que un agente lee primero: cada servicio que puede pedir, con el ID del servicio, la categoría, la tarifa (precio por 1000) y las cantidades mín/máx. Usa los IDs de service devueltos para colocar pedidos. Y la tarifa para confirmar el costo antes de gastar.
Solicitud
key=YOUR_API_KEY action=services
Respuesta
[
{
"service": 1,
"name": "Instagram Followers",
"type": "Default",
"category": "Instagram",
"rate": "0.90",
"min": "50",
"max": "10000",
"refill": true,
"cancel": true
},
{
"service": 2,
"name": "Instagram Likes",
"type": "Default",
"category": "Instagram",
"rate": "0.40",
"min": "10",
"max": "20000",
"refill": false,
"cancel": true
}
]2. Agregar pedido
La llamada de escritura. Coloca un pedido para un servicio. Pasa el ID de service, el link objetivo y la quantity. La respuesta devuelve el nuevo ID de order para rastrear. Un agente ejecuta esto solo tras haber confirmado la tarifa y los límites.
Parámetros
service: ID del servicio de la lista de servicioslink: la URL de la publicación / perfil / canalquantity: número de unidades a entregar
Solicitud
key=YOUR_API_KEY action=add service=1 link=https://instagram.com/example quantity=1000
Respuesta
{
"order": 23501
}3. Agregar pedido: drip-feed
Divide un pedido en entregas más pequeñas repartidas en el tiempo, para una curva más estable. Define runs (cuántas entregas) e interval (minutos entre cada una). El total entregado es quantity × runs. La cuenta que un agente usa para dimensionar una campaña sin que tú la hagas a mano.
Parámetros adicionales
runs: número de entregasinterval: minutos entre cada entrega
Solicitud
key=YOUR_API_KEY action=add service=1 link=https://instagram.com/example quantity=1000 runs=10 interval=60
Respuesta
{
"order": 23502
}4. Estado del pedido
Devuelve el estado actual de un pedido: cargo, conteo inicial, estado, cantidad restante y moneda. Así es como un agente vigila un pedido sin que tú refresques el panel. Y cómo detecta una caída que valga la pena marcar para reposición.
Solicitud
key=YOUR_API_KEY action=status order=23501
Respuesta
{
"charge": "0.90",
"start_count": "4250",
"status": "In progress",
"remains": "200",
"currency": "USD"
}Valores posibles de status: Pending, In progress, Processing, Completed, Partial, Canceled.
5. Estado de múltiples pedidos
Consulta muchos pedidos en una llamada. Pasa una lista de IDs separados por comas en el parámetro orders. La respuesta se indexa por ID de pedido, así un agente consulta toda una campaña en una sola ida y vuelta en lugar de una llamada por pedido.
Solicitud
key=YOUR_API_KEY action=status orders=23501,23502,23503
Respuesta
{
"23501": {
"charge": "0.90",
"start_count": "4250",
"status": "Completed",
"remains": "0",
"currency": "USD"
},
"23502": {
"charge": "9.00",
"start_count": "1200",
"status": "In progress",
"remains": "500",
"currency": "USD"
},
"23503": {
"error": "Incorrect order ID"
}
}6. Reposición
Solicita una reposición en un pedido cuyo servicio la admite (refill: true en la lista de servicios) y devuelve un ID de reposición para rastrear. Pasa un solo order o una lista orders separada por comas. Así un agente puede solicitar reposiciones en lote tras una consulta de estado que marca caídas.
Solicitud (única)
key=YOUR_API_KEY action=refill order=23501
Respuesta
{
"refill": 4001
}Solicitud (múltiple)
key=YOUR_API_KEY action=refill orders=23501,23502
Respuesta
[
{ "order": 23501, "refill": 4001 },
{ "order": 23502, "refill": { "error": "Refill not available" } }
]7. Cancelar
Solicita la cancelación de pedidos aún no procesados (servicios con cancel: true). Pasa una lista orders separada por comas; la respuesta reporta el resultado por pedido. El deshacer al que un agente recurre cuando algo se encola por error.
Solicitud
key=YOUR_API_KEY action=cancel orders=23501,23502
Respuesta
[
{ "order": 23501, "cancel": 1 },
{ "order": 23502, "cancel": { "error": "Incorrect order ID" } }
]8. Saldo
Devuelve el saldo de tu cuenta y la moneda. Un agente lo lee para limitar el gasto antes de colocar un pedido. Y tu propio panel lo lee para mostrar los fondos. La llamada más barata para confirmar que hay dinero para gastar.
Solicitud
key=YOUR_API_KEY action=balance
Respuesta
{
"balance": "182.45",
"currency": "USD"
}Llámala desde cualquier cosa
Un endpoint, parámetros de formulario simples. Así una shell, un cron job o un agente pueden manejarla de la misma forma. Aquí hay un pedido completo colocado desde la línea de comandos:
curl -X POST https://api.socialgo.com/api/v2 \ -d "key=YOUR_API_KEY" \ -d "action=add" \ -d "service=1" \ -d "link=https://instagram.com/example" \ -d "quantity=1000"
Notas y buenas prácticas
- Lee antes de escribir. Llama a
services(obalance) para confirmar la tarifa, los límites y los fondos, y luego llama aadd. La misma protección de buscar-luego-actuar que usan el panel y el servidor MCP para que nada se gaste sin un precio confirmado. - Cachea la lista de servicios y refréscala periódicamente. Los IDs, tarifas y límites cambian.
- Valida las cantidades
min/maxantes de enviar un pedido para evitar llamadas rechazadas. - Consulta el estado en lotes con la llamada de múltiples pedidos en lugar de una solicitud por pedido.
- Mantén tu clave del lado del servidor. Si alguna vez se expone, rótala de inmediato desde el panel.