Fênix Social API
Integre nossa plataforma de marketing digital diretamente no seu sistema. Crie pedidos, consulte status e gerencie saldo programaticamente.
https://fenixsocial.site/api/public-apiTodos os endpoints usam essa URL base com o parâmetro
action.
Autenticação
Todas as requisições precisam de uma chave de API. Gere a sua no painel em Configurações → API.
Passe a chave em toda requisição pelo cabeçalho Authorization:
Via cabeçalho
Authorization: Bearer fsx_sua_chave_aqui
Chaves na URL não são aceitas. Gere uma nova chave após esta atualização; as antigas deixam de funcionar.
Ao criar pedidos, envie também Idempotency-Key com um identificador único de 16 a 100 letras, números, hífens ou sublinhados. Reutilize-o em tentativas do mesmo pedido. Um novo pedido precisa de outra chave.
Erros
Quando algo dá errado, a API retorna um objeto com o campo erro:
{"erro": "Saldo insuficiente. Disponível: R$ 5.00. Necessário: R$ 10.00"}
| Código | Significado |
|---|---|
| 200 | Sucesso |
| 400 | Parâmetros inválidos ou saldo insuficiente |
| 401 | Chave de API inválida ou ausente |
| 404 | Serviço ou pedido não encontrado |
| 500 | Erro interno — entre em contato com o suporte |
Listar serviços
Retorna todos os serviços disponíveis com o preço já calculado para a sua conta (com desconto aplicado se houver).
Resposta
[
{
"service": "1234",
"name": "Instagram Seguidores Brasileiros",
"category": "Instagram seguidores [Brasil]",
"type": "Default",
"billing": "per_1000",
"rate": 2.50,
"min": 100,
"max": 10000,
"refill": true
},
...
]
| Campo | Descrição |
|---|---|
| service | ID do serviço (use no action=add) |
| name | Nome do serviço |
| rate | Tarifa em BRL conforme billing: por mil ou pelo pacote |
| min / max | Quantidade mínima e máxima por pedido |
| refill | Se o serviço permite solicitar reposição |
Consultar saldo
Retorna o saldo disponível na carteira da sua conta.
Resposta
{
"balance": "47.50",
"currency": "BRL"
}
Criar pedido
Cria um novo pedido. O valor é debitado automaticamente do saldo da sua carteira.
Parâmetros (body JSON)
| Parâmetro | Tipo | Descrição |
|---|---|---|
| action | string | "add" |
| service | string | ID do serviço (veja action=services) |
| link | string | Link do perfil ou postagem |
| quantity | number | Quantidade desejada |
| comments | string | (opcional) Comentários separados por linha |
Modalidades e cobrança
Consulte type e billing na listagem. Em per_1000, o total é rate × quantidade ÷ 1000. Em package, rate é o preço do pacote inteiro. Em subscription, rate é a tarifa por mil para cada publicação; o total usa quantity × (posts + old_posts). Pedidos positivos têm mínimo de R$ 0,01.
| type | Campos além de service/action |
|---|---|
| Default | link, quantity; runs e interval opcionais se a modalidade permitir entregas parceladas |
| Package | link; não envie quantity |
| SEO | link, quantity, keywords (uma expressão por linha) |
| Custom Comments / Custom Comments Package | link, comments (um texto por linha; respeite a quantidade do pacote quando indicada) |
| Comment Replies | link, username do autor do comentário, comments |
| Comment Likes | link, quantity, username do autor do comentário |
| Mentions Custom List | link, usernames (um por linha) |
| Mentions Hashtag | link, quantity, hashtag |
| Mentions User Followers | link, quantity, username (URL do perfil de origem) |
| Poll | link, quantity, answer_number (posição da alternativa, começando em 1) |
| Invites from Groups | link, quantity, groups (uma origem ou termo por linha, conforme o serviço) |
| Subscriptions | username sem @, quantity por publicação, posts (1–100), old_posts (0–100), delay, expiry (AAAA-MM-DD). Soma de publicações até 100; data final até 366 dias. Compra limitada, sem renovação automática. |
As listas de comentários e usuários determinam a quantidade automaticamente. A API valida os parâmetros antes de cobrar. Preserve o mesmo Idempotency-Key ao repetir uma tentativa.
Exemplo de requisição
{
"action": "add",
"service": "1234",
"link": "https://instagram.com/seuperfil",
"quantity": 500
}
Resposta
{
"order": "#00042",
"status": "executando",
"charge": "1.25",
"currency": "BRL"
}
Status do pedido
Consulta o status atual de um pedido pelo número gerado no momento da criação.
| Parâmetro | Descrição |
|---|---|
| order | Número do pedido (ex: #00042) |
Resposta
{
"order": "#00042",
"status": "executando",
"charge": "1.25",
"start_count": 1200,
"remains": 300,
"currency": "BRL"
}
| Status | Significado |
|---|---|
| executando | Pedido em andamento |
| concluido | Pedido finalizado com sucesso |
| aguardando_pagamento | Aguardando confirmação de pagamento |
| cancelado | Pedido cancelado |
| erro_fornecedor | Erro ao processar — entre em contato com o suporte |
Exemplos — cURL
Listar serviços
curl "https://fenixsocial.site/api/public-api?action=services" \ -H "Authorization: Bearer fsx_sua_chave_aqui"
Criar pedido
curl -X POST "https://fenixsocial.site/api/public-api?action=add" \
-H "Authorization: Bearer fsx_sua_chave_aqui" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: pedido_exemplo_0001" \
-d '{"action":"add","service":"1234","link":"https://instagram.com/seuperfil","quantity":500}'
Exemplos — JavaScript
const API_KEY = 'fsx_sua_chave_aqui';
const BASE = 'https://fenixsocial.site/api/public-api';
const headers = { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json', 'Idempotency-Key': crypto.randomUUID() };
// Listar serviços
const services = await fetch(`${BASE}?action=services`, { headers }).then(r => r.json());
// Criar pedido
const order = await fetch(`${BASE}?action=add`, {
method: 'POST',
headers,
body: JSON.stringify({ action: 'add', service: '1234', link: 'https://instagram.com/perfil', quantity: 500 })
}).then(r => r.json());
console.log(order); // { order: '#00042', status: 'executando', charge: '1.25', currency: 'BRL' }
// Consultar status
const status = await fetch(`${BASE}?action=status&order=${order.order}`, { headers }).then(r => r.json());
Exemplos — Python
import requests
import uuid
API_KEY = 'fsx_sua_chave_aqui'
BASE = 'https://fenixsocial.site/api/public-api'
HEADERS = {'Authorization': f'Bearer {API_KEY}', 'Idempotency-Key': str(uuid.uuid4()), 'Content-Type': 'application/json'}
# Listar serviços
services = requests.get(f'{BASE}?action=services', headers=HEADERS).json()
# Criar pedido
order = requests.post(f'{BASE}?action=add', headers=HEADERS, json={
'action': 'add',
'service': '1234',
'link': 'https://instagram.com/seuperfil',
'quantity': 500
}).json()
print(order) # {'order': '#00042', 'status': 'executando', 'charge': '1.25', 'currency': 'BRL'}
# Consultar status
status = requests.get(f'{BASE}?action=status&order={order["order"]}', headers=HEADERS).json()
Precisa de ajuda com a integração?
Falar com o suporte