Desenvolvedores
Integre a API de revenda da Via Hype ao seu painel SMM. Peça acesso no painel, aceite os termos de revenda e aguarde a aprovação. Depois crie uma chave; ela aparece uma única vez.
Revender serviços / pedir acesso · Especificação OpenAPI
Endpoint
POST https://viahype.store/api/v2
Envie application/x-www-form-urlencoded ou application/json. Toda requisição precisa de key e action. Guarde as chaves no servidor. Nunca envie nome, e-mail, telefone ou documento do cliente final.
Os nomes dos serviços são em inglês. Rate é o preço por 1.000 na moeda da conta (BRL ou USD). A API usa o preço de revenda, menor que o preço do site. O pedido mantém o preço cobrado na criação. O total é arredondado para cima em centavos, com mínimo de um centavo. Serviços que precisam de campos extras além de link, quantity e comments estão disponíveis apenas no site.
Limites padrão: 120 requisições e 20 tentativas de add por minuto por chave, além de 30 pedidos em qualquer janela de 10 minutos por conta (site e API juntos). Podem ser ajustados por revendedor. HTTP 429 inclui Retry-After: 60; espere antes de repetir. Nunca repita add após timeout sem conferir o painel: o pedido pode já ter sido criado.
Erros usam {"error":"..."} com HTTP 200. Chave inválida ou bloqueada retorna 401; limite retorna 429. Na consulta múltipla, cada ID inválido ou de outra conta recebe seu próprio erro. IDs de pedido são strings opacas: guarde-os sem alterações.
Use refill com um ID de pedido concluído ou parcial com entrega, dentro do prazo da opção contado da conclusão. Uma solicitação a cada 24 horas, sem outra em andamento. Consulte refill_status com o ID retornado. A solicitação depende de análise. O campo refill informa a disponibilidade pela API. O booleano contasReais reflete a declaração de contas reais da origem do serviço. Fora dessas condições, fale com o suporte. Cancelamento indisponível na API de revenda. Valores não entregues voltam ao saldo.
Ações
| Ação | Campos | Resposta |
|---|---|---|
| services | — | Array: service, name, type, category, rate, min, max, refill, cancel, contasReais |
| add | service, link, quantity; comments em Custom Comments (uma linha por comentário; quantity deve corresponder) | {order} |
| status | order OU orders (1–100 IDs separados por vírgula) | {charge, start_count, status, remains, currency} OU mapa por ID |
| balance | — | {balance, currency} |
| refill | order | {refill} |
| refill_status | refill | {status} |
| cancel | — | {error} — reposição pelo suporte |
Status dos pedidos
| Status | Significado |
|---|---|
| Pending | Aguardando processamento ou confirmação de envio |
| In progress | Entrega em andamento |
| Completed | Entrega concluída |
| Partial | Entrega parcial; parte faltante devolvida |
| Canceled | Cancelado ou falhou; valor devolvido |
Exemplos
curl
curl -X POST 'https://viahype.store/api/v2' \
--data-urlencode 'key=YOUR_API_KEY' \
--data-urlencode 'action=services'
curl -X POST 'https://viahype.store/api/v2' \
-H 'Content-Type: application/json' \
-d '{"key":"YOUR_API_KEY","action":"add","service":3158,"link":"https://instagram.com/yourprofile","quantity":100}'PHP
<?php
function api(array $fields): array {
$ch = curl_init('https://viahype.store/api/v2');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query(['key' => getenv('VIA_HYPE_API_KEY')] + $fields),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 20,
]);
$body = curl_exec($ch);
$http = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($body === false) throw new RuntimeException('Transport error; check orders before retrying add');
$data = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
if ($http === 401 || $http === 429 || isset($data['error']))
throw new RuntimeException($data['error'] ?? 'API error');
return $data;
}
$services = api(['action' => 'services']);
$balance = api(['action' => 'balance']);
$status = api(['action' => 'status', 'orders' => 'ORDER_ID_1,ORDER_ID_2']);