Documentação API
Documentação da API do cliente e da API do revendedor
Client API Documentation
Manage your own SIP accounts, balance, vouchers, tariff plan, Caller ID, call history, refill history and account password through a clean JSON API.
Authorization
Every request must include your API key in the HTTP header.
X-API-Key: YOUR_API_KEY
Account status
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/client-api/index.php?endpoint=me"
{
"success": true,
"data": {
"id": 1001,
"username": "1234567801",
"balance": "1.0000",
"active": 1,
"id_plan": 101,
"plan_name": "STANDARD-PLAN"
}
}
Balance
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/client-api/index.php?endpoint=balance"
Available plans
Returns only tariff plans available to your account.
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/client-api/index.php?endpoint=plans"
Change plan
Change your tariff plan to one of the available plans.
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"id_plan":8}' \
"https://magnusbilling.net/client-api/index.php?endpoint=change-plan"
SIP accounts
List your SIP accounts, including SIP login and SIP password.
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/client-api/index.php?endpoint=sip"
Create additional SIP account
Create an additional SIP account under your own account.
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' \
"https://magnusbilling.net/client-api/index.php?endpoint=create-sip"
You can also provide your own SIP password:
{
"password": "StrongSipPass123"
}
Change SIP password
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"1234567802","password":"NewSipPass456"}' \
"https://magnusbilling.net/client-api/index.php?endpoint=update-sip-password"
Delete SIP account
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"1234567802"}' \
"https://magnusbilling.net/client-api/index.php?endpoint=delete-sip"
IP Authentication
Manage IP-based SIP authentication for your own SIP accounts. Your regular SIP login/password continues working.
List IP authorizations
List your SIP accounts and active/inactive IP-auth records.
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/client-api/index.php?endpoint=ip-auth-list"
Create IP authorization
Add a public static PBX IP address to one of your SIP accounts.
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"sip_login":"1234567801","ip":"203.0.113.10"}' \
"https://magnusbilling.net/client-api/index.php?endpoint=ip-auth-create"
{
"success": true,
"message": "IP authentication created",
"data": {
"id": 6,
"sip_login": "1234567801",
"peer_name": "1234567801_ipa1",
"ip": "203.0.113.10",
"port": 5060,
"status": 1
}
}
Disable IP authorization
The IP-auth record stays in your account but becomes inactive. The SIP peer is removed from Asterisk.
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"id":6}' \
"https://magnusbilling.net/client-api/index.php?endpoint=ip-auth-disable"
Enable IP authorization
Re-enable a previously disabled IP-auth record.
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"id":6}' \
"https://magnusbilling.net/client-api/index.php?endpoint=ip-auth-enable"
Delete IP authorization
Delete the IP-auth record permanently.
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"id":6}' \
"https://magnusbilling.net/client-api/index.php?endpoint=ip-auth-delete"
Caller ID
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/client-api/index.php?endpoint=callerids"
Add Caller ID
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"cid":"+1234567890","name":"Main Caller ID","set_active":true}' \
"https://magnusbilling.net/client-api/index.php?endpoint=add-callerid"
Set existing Caller ID as active
{
"cid": "+1234567890"
}
Delete Caller ID
{
"id": 80
}
Clear active SIP Caller ID
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' \
"https://magnusbilling.net/client-api/index.php?endpoint=clear-callerid"
Call history
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/client-api/index.php?endpoint=calls&limit=50&offset=0"
Refill history
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/client-api/index.php?endpoint=refills&limit=50&offset=0"
Redeem voucher
Redeem an existing voucher code and add its value to your balance.
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"voucher":"123456"}' \
"https://magnusbilling.net/client-api/index.php?endpoint=redeem-voucher"
Change account password
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"current_password":"OldPassword","new_password":"NewPassword987"}' \
"https://magnusbilling.net/client-api/index.php?endpoint=change-password"
API SMS / CryptoSMS
Envie SMS pela sua conta MagnusBilling usando o mesmo X-API-Key. O custo é debitado do saldo da conta.
Autorização
Use a mesma chave API já usada para Client API ou Reseller API.
X-API-Key: YOUR_API_KEY
Sender ID / Caller ID não é garantido. O remetente exibido depende do provedor, país de destino e regras da operadora móvel.
A taxa de SMS é cobrada pela tentativa de envio. A entrega final depende da operadora móvel de destino.
Endpoints
- GET
?endpoint=providers— Lista de provedores - GET
?endpoint=rates— Tarifas SMS - GET
?endpoint=quota&provider=cryptosms— Estimativa de SMS disponíveis - POST
?endpoint=send— Enviar SMS - POST
?endpoint=schedule— Agendar SMS - GET
?endpoint=scheduled&limit=20— Lista de SMS agendados - POST
?endpoint=cancel-scheduled— Cancelar SMS agendado - POST
?endpoint=bulk— Campanha SMS em massa - GET
?endpoint=campaigns&limit=20— Lista de campanhas em massa - POST
?endpoint=cancel-campaign— Cancelar campanha em massa - GET
?endpoint=status&id=SMS_ID— Verificar status SMS - GET
?endpoint=history&limit=20— Histórico SMS
Enviar SMS
curl -k -sS \
-X POST "https://magnusbilling.net/sms-api/index.php?endpoint=send" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone": "+447575396991",
"provider": "cryptosms",
"sender_id": "MyBrand",
"message": "MyBrand: Your code is 123456"
}'
{
"success": true,
"sms_id": 1,
"provider": "cryptosms",
"provider_name": "CryptoSMS",
"status": "SENT_TO_PROVIDER",
"balance_after": "49.6500",
"sender_id": {
"requested": "MyBrand",
"guaranteed": false,
"warning": "Sender ID / Caller ID is not guaranteed."
}
}
Agendar SMS
curl -k -sS \
-X POST "https://magnusbilling.net/sms-api/index.php?endpoint=schedule" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone": "+1234567890",
"provider": "cryptosms",
"sender_id": "MyBrand",
"message": "API scheduled test",
"scheduled_at": "2026-05-09 23:00:00"
}'
{
"success": true,
"scheduled_sms_id": 10,
"provider": "cryptosms",
"status": "SCHEDULED",
"server_utc_offset": "+03:00"
}
Cancelar SMS agendado
curl -k -sS \
-X POST "https://magnusbilling.net/sms-api/index.php?endpoint=cancel-scheduled" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"scheduled_sms_id":10}'
Campanha SMS em massa
curl -k -sS \
-X POST "https://magnusbilling.net/sms-api/index.php?endpoint=bulk" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "cryptosms",
"sender_id": "MyBrand",
"message": "API bulk test",
"scheduled_at": "2026-05-09 23:00:00",
"phones": ["+1234567890", "+1234567891"]
}'
{
"success": true,
"campaign_id": 20,
"recipients_queued": 2,
"status": "QUEUED"
}
Lista de campanhas em massa
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/sms-api/index.php?endpoint=campaigns&limit=20"
Cancelar campanha em massa
curl -k -sS \
-X POST "https://magnusbilling.net/sms-api/index.php?endpoint=cancel-campaign" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"campaign_id":20}'
Verificar status SMS
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/sms-api/index.php?endpoint=status&id=1"
Histórico SMS
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/sms-api/index.php?endpoint=history&limit=20"
API eSIM / Pacotes globais de dados
Venda pacotes de dados eSIM pela sua conta MagnusBilling.net usando o mesmo X-API-Key.
Authorization
Use the same API key that is already used for Client API or Reseller API.
Endpoints
- GET
?endpoint=packages&q=Europe&limit=20— List packages and current prices - GET
?endpoint=coverage&package_code=PACKAGE_CODE— Package coverage by country and network - GET
?endpoint=balance— Account balance - POST
?endpoint=buy— Buy eSIM package - GET
?endpoint=orders— Order history, QR/activation data and usage - GET
?endpoint=sync-order&order_id=ORDER_ID— Refresh order, QR and data usage
List packages
curl -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/esim-api/index.php?endpoint=packages&q=Europe&limit=5"
Buy eSIM
curl -sS -X POST "https://magnusbilling.net/esim-api/index.php?endpoint=buy" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{"package_code":"P2CYMUS93"}'
Orders and usage
curl -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/esim-api/index.php?endpoint=orders"
Security rules
- The client can access only their own account.
- The client can access only their own SIP accounts.
- The client can manage IP authentication only for their own SIP accounts.
- The client can add, change and delete only their own Caller IDs.
- The client can choose tariff plan only from the available plan list.
- The client cannot create, edit or delete tariff plans.
- The client can redeem only existing voucher codes.
- The client cannot delete the main SIP account.
- The client cannot manage other clients, resellers or admin data.
Reseller API Documentation
Create SIP clients, manage balances, view reseller plans, check client status, and control customers through a clean JSON API.
Authorization
Every request must include your API key in the HTTP header.
X-API-Key: YOUR_API_KEY
Account status
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/reseller-api/index.php?endpoint=me"
{
"ok": true,
"reseller": {
"id": 1001,
"username": "1234567890",
"group": "Agent",
"balance": 1,
"active": true
}
}
Plans
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/reseller-api/index.php?endpoint=plans"
{
"ok": true,
"plans": [
{
"id": 33,
"name": "TEST-RESELLER-PLAN",
"signup": true,
"initial_credit": 0,
"tariff_limit": 3,
"agent_rates": 66875
}
]
}
Create client
Create a new SIP client under your reseller account.
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"plan_id":101}' \
"https://magnusbilling.net/reseller-api/index.php?endpoint=create-client"
You can also provide your own login and password:
{
"login": "1234567891",
"password": "StrongPass123",
"plan_id": 101
}
Get client
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/reseller-api/index.php?endpoint=client&login=1234567892"
Client list
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/reseller-api/index.php?endpoint=clients&limit=10&offset=0"
Modelo real de faturamento reseller
O endpoint transfer credita saldo retail ao cliente próprio do revendedor. Ele não debita o revendedor imediatamente.
Por padrão, as tarifas dos clientes do revendedor são criadas com margem de +20%. O revendedor pode alterar a margem e os preços retail dos seus clientes.
Quando o cliente faz chamadas, o saldo do cliente é debitado pela tarifa retail, e o saldo do revendedor pela tarifa wholesale.
Se o saldo wholesale do revendedor acabar ou for insuficiente para o bloco mínimo, os clientes não poderão ligar mesmo com saldo retail.
Creditar saldo retail
Credita saldo retail a um cliente próprio do revendedor. Não debita o revendedor imediatamente; o saldo wholesale é debitado quando o cliente faz chamadas.
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"login":"1234567892","amount":1,"external_id":"ORDER-DEMO-10001"}' \
"https://magnusbilling.net/reseller-api/index.php?endpoint=transfer"
Transactions
curl -k -sS \
-H "X-API-Key: YOUR_API_KEY" \
"https://magnusbilling.net/reseller-api/index.php?endpoint=transactions&limit=10&offset=0"
Filter only successful transactions:
https://magnusbilling.net/reseller-api/index.php?endpoint=transactions&status=success&limit=10&offset=0
Set client status
Deactivate client:
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"login":"1234567892","active":false}' \
"https://magnusbilling.net/reseller-api/index.php?endpoint=set-client-status"
Activate client:
{
"login": "1234567892",
"active": true
}
Change client plan
curl -k -sS \
-X POST \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"login":"1234567892","plan_id":101}' \
"https://magnusbilling.net/reseller-api/index.php?endpoint=change-plan"
API white-label do portal do agente
Endpoints para portal PHP do agente: login cliente, painel, SIP, chamadas, pagamentos, tarifas, margem e token Web Phone.
Endpoints do portal cliente
- GET
?endpoint=portal-bootstrap— Verificação API/instalação - POST
?endpoint=client-auth— Login do cliente no portal do agente - GET
?endpoint=client-dashboard&login=CLIENT_LOGIN— Painel do cliente e saldo visível - GET
?endpoint=client-sip&login=CLIENT_LOGIN— Contas SIP do cliente; contas de serviço ocultas por padrão - GET
?endpoint=client-calls&login=CLIENT_LOGIN&limit=50— Chamadas concluídas - GET
?endpoint=client-failed-calls&login=CLIENT_LOGIN&limit=50— Chamadas falhadas - GET
?endpoint=client-refills&login=CLIENT_LOGIN&limit=50— Histórico de recargas do cliente - GET
?endpoint=client-callerids&login=CLIENT_LOGIN— Caller ID do cliente - GET
?endpoint=client-rates&login=CLIENT_LOGIN&limit=100— Tarifas retail do cliente
Pagamento/recarga
Pagamentos do cliente chegam ao portal via Plisio, Heleket ou métodos custom; após confirmação chama register-agent-payment.
curl -sS -X POST "https://magnusbilling.net/reseller-api/index.php?endpoint=register-agent-payment" \
-H "X-API-Key: YOUR_RESELLER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"login": "CLIENT_LOGIN",
"amount": "20.00",
"currency": "EUR",
"provider": "plisio",
"external_id": "plisio_order_123",
"provider_txid": "tx_or_invoice_id",
"status": "paid"
}'
Endpoints de margem tarifária
set-agent-markup usa o plano retail existente. Se a margem já estiver aplicada, as linhas de tarifa não são reescritas.
- GET
?endpoint=agent-markup— Margem atual e tarifa retail - POST
?endpoint=preview-agent-markup— Prévia de preços com nova margem - POST
?endpoint=set-agent-markup— Aplicar nova margem à tarifa retail
curl -sS -X POST "https://magnusbilling.net/reseller-api/index.php?endpoint=set-agent-markup" \
-H "X-API-Key: YOUR_RESELLER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"markup_percent":50}'
Token Janus Web Phone
O portal mostra botão Web Phone. Contas de serviço como _web1 são internas do Janus e não aparecem na lista SIP normal salvo include_service=1.
curl -sS -X POST "https://magnusbilling.net/reseller-api/index.php?endpoint=client-softphone-token" \
-H "X-API-Key: YOUR_RESELLER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"login":"CLIENT_LOGIN"}'
API SMS reseller / CryptoSMS
Revendedores podem enviar SMS para seus próprios clientes usando o mesmo Reseller X-API-Key. client_login é obrigatório.
Endpoints disponíveis
- POST
?endpoint=send— Enviar um SMS - POST
?endpoint=schedule— Agendar um SMS - GET
?endpoint=scheduled&client_login=CLIENT_LOGIN&limit=20— SMS agendados - POST
?endpoint=cancel-scheduled— Cancelar SMS agendado - POST
?endpoint=bulk— Criar campanha SMS em massa - GET
?endpoint=campaigns&client_login=CLIENT_LOGIN&limit=20— Lista de campanhas - POST
?endpoint=cancel-campaign— Cancelar campanha - GET
?endpoint=quota&provider=cryptosms&client_login=CLIENT_LOGIN— Estimativa SMS do cliente - GET
?endpoint=history&client_login=CLIENT_LOGIN&limit=20— Histórico SMS do cliente - GET
?endpoint=status&id=SMS_ID&client_login=CLIENT_LOGIN— Status SMS do cliente
Example: send SMS for your client
curl -sS -X POST "https://magnusbilling.net/sms-api/index.php?endpoint=send" \
-H "X-API-Key: YOUR_RESELLER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"client_login": "CLIENT_LOGIN",
"phone": "+1234567890",
"message": "Your SMS text",
"provider": "cryptosms",
"sender_id": "MyBrand"
}'
Example: bulk SMS campaign
curl -sS -X POST "https://magnusbilling.net/sms-api/index.php?endpoint=bulk" \
-H "X-API-Key: YOUR_RESELLER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"client_login": "CLIENT_LOGIN",
"phones": ["+1234567890", "+1234567891"],
"message": "Bulk SMS text",
"provider": "cryptosms",
"sender_id": "MyBrand",
"scheduled_at": "2026-05-10 16:30:00"
}'
API eSIM Revendedor
Revendedores podem vender pacotes de dados eSIM usando a mesma X-API-Key de revendedor. As compras eSIM são debitadas do saldo do revendedor.
Endpoints disponíveis
- GET
?endpoint=packages&q=Europe&limit=20— Listar pacotes eSIM e preços atuais do revendedor - GET
?endpoint=coverage&package_code=PACKAGE_CODE— Países e redes incluídos no pacote - GET
?endpoint=balance— Verificar saldo do revendedor - POST
?endpoint=buy— Comprar pacote eSIM - GET
?endpoint=orders— Pedidos eSIM do revendedor, dados de ativação e uso - GET
?endpoint=sync-order&order_id=ORDER_ID— Atualizar ativação e dados restantes
Listar pacotes eSIM
curl -sS \
-H "X-API-Key: YOUR_RESELLER_API_KEY" \
"https://magnusbilling.net/esim-api/index.php?endpoint=packages&q=Europe&limit=5"
Comprar pacote eSIM
curl -sS -X POST "https://magnusbilling.net/esim-api/index.php?endpoint=buy" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_RESELLER_API_KEY" \
-d '{"package_code":"P2CYMUS93"}'
Pedidos eSIM do revendedor e uso
curl -sS \
-H "X-API-Key: YOUR_RESELLER_API_KEY" \
"https://magnusbilling.net/esim-api/index.php?endpoint=orders"
A resposta do pedido inclui nome do pacote, preço, status, ICCID, dados de ativação, dados totais, usados, restantes e validade quando disponíveis. O uso pode atualizar com pequeno atraso da rede móvel.
Security rules
- The reseller can access only clients created under their Agent account.
- The reseller can use only their own plans.
- The reseller cannot access admin clients or other resellers' clients.
- O revendedor só pode creditar saldo retail para seus próprios clientes. As chamadas ainda exigem saldo wholesale disponível do revendedor.
- SIP passwords are returned only once during client creation.
- Existing SIP passwords and secrets are not returned by client endpoints.
- White-label portal clients must never see reseller balance, wholesale rates, markup percentage or internal reseller credit logic.
- Service SIP accounts such as _webN and _ipaN are hidden from normal client SIP lists; Web Phone must use client-softphone-token.
API de gestão de conta do portal do agente
Endpoints adicionais para portais white-label de agentes: redefinição de senha, redefinição de senha SIP e atualização do perfil do cliente.
Endpoints
- GET/POST
?endpoint=check-client-login- Verificar se um login existe ou está disponível - POST
?endpoint=reset-client-password- Gerar uma nova senha temporária para o cliente - POST
?endpoint=set-client-password- Definir uma senha escolhida pelo portal ou administrador - POST
?endpoint=client-change-password- Alterar a senha do cliente após verificar a senha atual - POST
?endpoint=reset-client-sip-password- Gerar uma nova senha SIP temporária para uma conta SIP normal - POST
?endpoint=client-profile-update- Atualizar o perfil do cliente: nome, email, telefone e idioma
curl -sS -X POST "https://magnusbilling.net/reseller-api/index.php?endpoint=reset-client-password" \
-H "X-API-Key: YOUR_RESELLER_API_KEY" \
-H "Content-Type: application/json" \
--data '{"login":"6307210"}'
curl -sS -X POST "https://magnusbilling.net/reseller-api/index.php?endpoint=reset-client-sip-password" \
-H "X-API-Key: YOUR_RESELLER_API_KEY" \
-H "Content-Type: application/json" \
--data '{"login":"6307210"}'
curl -sS -X POST "https://magnusbilling.net/reseller-api/index.php?endpoint=client-profile-update" \
-H "X-API-Key: YOUR_RESELLER_API_KEY" \
-H "Content-Type: application/json" \
--data '{"login":"6307210","email":"client@example.com","phone":"+123456789","language":"en"}'
Contas de serviço como _webN e _ipaN são excluídas da redefinição de senha SIP.