O que é a API SMM padrão v2?
A API SMM v2 é o protocolo de facto usado por 99% dos painéis SMM do mundo. Surgiu no início dos anos 2010 e se consolidou como padrão da indústria — hoje todo cliente HTTP que fala esse padrão consegue se comunicar com qualquer painel compatível, incluindo o SMMHub.
Na prática você manda POST form-encoded para /api/v2 com
uma key (sua chave única) e uma action (operação). O painel
responde JSON. Sem OAuth, sem CSRF, sem complicação — é design pré-2015 mas funciona.
Endpoint único
POST https://smmhub.com.br/api/v2
Content-Type: application/x-www-form-urlencoded
Onde pegar sua chave
Crie conta grátis em /cadastro, faça login, abra a página
/api. Sua chave aparece lá com botão "Copiar". Cada usuário tem uma
chave única, persistente, sem expiração. Trate como senha — nunca commit em repo
público.
Ações disponíveis
1. services — lista todos os serviços
POST /api/v2
key=sua_chave_aqui
action=services
Resposta:
[
{
"service": 1,
"name": "Instagram Followers BR [HQ]",
"type": "Default",
"category": "Instagram",
"rate": "2.50",
"min": 100,
"max": 50000,
"refill": true,
"cancel": true
},
...
]
Use isto pra sincronizar seu sub-painel ou planilha. Catálogo é dinâmico — preços e disponibilidade mudam. Cacheie no seu lado por no máximo 1 hora.
2. add — criar pedido
POST /api/v2
key=sua_chave_aqui
action=add
service=1
link=https://www.instagram.com/perfil
quantity=1000
Resposta sucesso:
{ "order": "9999999" }
Resposta erro:
{ "error": "Saldo insuficiente" }
Parâmetros opcionais conforme o serviço: runs e interval
(dripfeed), posts (subscription posts), comments (lista
de comentários custom). A doc completa de cada parâmetro tá em /api
depois do login.
3. status — consultar pedido(s)
POST /api/v2
key=sua_chave_aqui
action=status
order=9999999
Resposta:
{
"charge": "2.50",
"start_count": "850",
"status": "Processing",
"remains": "150",
"currency": "BRL"
}
Batch: passe orders=9999999,9999998,9999997 (CSV) e recebe array
indexado por order ID. Use isto pra polar status em massa — limite recomendado:
100 pedidos por request.
4. balance — consultar saldo
POST /api/v2
key=sua_chave_aqui
action=balance
Resposta: { "balance": "147.83", "currency": "BRL" }
5. refill — solicitar reposição
POST /api/v2
key=sua_chave_aqui
action=refill
order=9999999
Resposta: { "refill": "555" } (id da task de refill)
Funciona apenas em pedidos com refill: true no catálogo, dentro
da janela de garantia (30 a 365 dias, varia por serviço). Cron processa em até
60 segundos.
6. cancel — solicitar cancelamento
POST /api/v2
key=sua_chave_aqui
action=cancel
order=9999999
Pedidos em pending são cancelados imediatamente com refund integral.
Pedidos em processing entram numa fila de cancel — se o provedor
aceitar, refund parcial. Pedidos completed não podem ser cancelados.
7. refill_status — status da reposição
POST /api/v2
key=sua_chave_aqui
action=refill_status
refill=555
Resposta: { "status": "Completed" }
Exemplo prático em PHP
<?php
function smm($action, $params = []) {
$params['key'] = 'SUA_CHAVE_AQUI';
$params['action'] = $action;
$ch = curl_init('https://smmhub.com.br/api/v2');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => http_build_query($params),
CURLOPT_TIMEOUT => 30,
]);
$res = curl_exec($ch);
curl_close($ch);
return json_decode($res, true);
}
// Listar serviços
$svc = smm('services');
// Criar pedido
$order = smm('add', [
'service' => 1,
'link' => 'https://instagram.com/seuperfil',
'quantity' => 500,
]);
echo "Pedido criado: " . $order['order'];
// Consultar status
$status = smm('status', ['order' => $order['order']]);
echo "Status: " . $status['status'];
// Saldo
$bal = smm('balance');
echo "Saldo: R$ " . $bal['balance'];
Exemplo em Node.js
const axios = require('axios');
const SMM_KEY = 'SUA_CHAVE_AQUI';
const SMM_URL = 'https://smmhub.com.br/api/v2';
async function smm(action, params = {}) {
const body = new URLSearchParams({ key: SMM_KEY, action, ...params });
const { data } = await axios.post(SMM_URL, body);
return data;
}
// Uso
const order = await smm('add', {
service: 1,
link: 'https://instagram.com/seuperfil',
quantity: 500,
});
console.log('Pedido:', order.order);
Exemplo em Python
import requests
SMM_KEY = 'SUA_CHAVE_AQUI'
SMM_URL = 'https://smmhub.com.br/api/v2'
def smm(action, **params):
params.update({'key': SMM_KEY, 'action': action})
return requests.post(SMM_URL, data=params, timeout=30).json()
# Listar serviços
services = smm('services')
print(f"{len(services)} serviços disponíveis")
# Criar pedido
order = smm('add', service=1, link='https://instagram.com/x', quantity=500)
print(f"Pedido: {order['order']}")
Rate limits e boas práticas
- Sem rate-limit explícito para integradores legítimos, mas
recomendamos batch (até 100 IDs em
status) e cache do catálogo (1 hora) para reduzir carga. - Status polling: 60 segundos entre consultas do mesmo pedido é suficiente — não vale a pena consultar com mais frequência.
- Retry com backoff: se a resposta vier vazia (timeout do provedor), espere 30s e tente de novo. Não conte erro como "pedido falhou" no primeiro tick.
- Erros transitórios vs permanentes: 5xx, timeout, "no response" são retryáveis. "Saldo insuficiente", "Serviço inativo", "Quantity abaixo do mínimo" são erros permanentes — não retente.
- HTTPS obrigatório: http:// não é suportado.
Diferenças entre o SMMHub e outras implementações da API v2
A maioria dos painéis SMM tem desvios sutis do padrão que quebram clientes estritos. SMMHub mantém compatibilidade rigorosa:
- Campo
refillno catálogo étrue|falseboolean (alguns painéis usam"1"|"0"string — quebra clientes estritos) action=refilldevolve{"refill": "id"}consistentemente (alguns painéis variam o formato dependendo da rota)action=servicessempre devolve array (alguns devolvem objeto indexado por service_id quando há apenas 1 serviço — quebra clientes)- Erros sempre como
{"error": "mensagem"}— nunca como string nua ou status code não-200
Onde encontrar a key e começar agora
Faça o cadastro grátis, faça login, e abra /api
no menu. Sua chave estará lá, junto com a doc completa de cada action e exemplos
específicos pro seu catálogo. Sem custo de setup, sem mensalidade — você só paga
pelos serviços que comprar.