MagnusBilling.net · API

Documentazione API

Documentazione dell’API cliente e dell’API rivenditore

MagnusBilling.net · Client API

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.

Base URL https://magnusbilling.net/client-api/index.php
Authorization X-API-Key header
Response format JSON

Authorization

Every request must include your API key in the HTTP header.

X-API-Key: YOUR_API_KEY
Do not send the API key in the URL. Keep it private.

Account status

GET ?endpoint=me
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

GET ?endpoint=balance
curl -k -sS \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://magnusbilling.net/client-api/index.php?endpoint=balance"

Available plans

GET ?endpoint=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"
You can choose only from the plans returned by this endpoint.

Change plan

POST ?endpoint=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"
You cannot create, edit or delete tariff plans through this API.

SIP accounts

GET ?endpoint=sip

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

POST ?endpoint=create-sip

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"
}
Limit: maximum 100 SIP accounts per client.

Change SIP password

POST ?endpoint=update-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"
You can change only your own SIP accounts.

Delete SIP account

POST ?endpoint=delete-sip
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"
The main SIP account cannot be deleted. Only additional SIP accounts can be deleted.

IP Authentication

Manage IP-based SIP authentication for your own SIP accounts. Your regular SIP login/password continues working.

List IP authorizations

GET ?endpoint=ip-auth-list

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

POST ?endpoint=ip-auth-create

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

POST ?endpoint=ip-auth-disable

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

POST ?endpoint=ip-auth-enable

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

POST ?endpoint=ip-auth-delete

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"
IP authentication works only with a public static IPv4 address. Private or local IP addresses are rejected.
The same public IP cannot be active on two different client accounts at the same time.

Caller ID

GET ?endpoint=callerids
curl -k -sS \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://magnusbilling.net/client-api/index.php?endpoint=callerids"

Add Caller ID

POST ?endpoint=add-callerid
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

POST ?endpoint=set-callerid
{
  "cid": "+1234567890"
}

Delete Caller ID

POST ?endpoint=delete-callerid
{
  "id": 80
}

Clear active SIP Caller ID

POST ?endpoint=clear-callerid
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

GET ?endpoint=calls&limit=50&offset=0
curl -k -sS \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://magnusbilling.net/client-api/index.php?endpoint=calls&limit=50&offset=0"
Maximum limit per request: 200.

Refill history

GET ?endpoint=refills&limit=50&offset=0
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

POST ?endpoint=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"
This API does not create vouchers. It only redeems vouchers that already exist.

Change account password

POST ?endpoint=change-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"
The old account password is never returned by the API. It can only be changed.

API SMS / CryptoSMS

Invia SMS dal tuo account MagnusBilling usando lo stesso X-API-Key. Il costo viene scalato dal saldo dell’account.

URL base https://magnusbilling.net/sms-api/index.php
Provider pubblico cryptosms / CryptoSMS

Autorizzazione

Usa la stessa chiave API già usata per Client API o Reseller API.

X-API-Key: YOUR_API_KEY
Avviso Sender ID / Caller ID
Sender ID / Caller ID non è garantito. Il mittente visualizzato dipende dal provider, dal paese di destinazione e dalle regole dell’operatore mobile.
Il costo SMS viene addebitato per il tentativo di invio. La consegna finale dipende dall’operatore mobile.

Endpoint

  • GET ?endpoint=providers — Elenco provider
  • GET ?endpoint=rates — Tariffe SMS
  • GET ?endpoint=quota&provider=cryptosms — Stima SMS disponibili
  • POST ?endpoint=send — Invia SMS
  • POST ?endpoint=schedule — Programma SMS
  • GET ?endpoint=scheduled&limit=20 — Elenco SMS programmati
  • POST ?endpoint=cancel-scheduled — Annulla SMS programmato
  • POST ?endpoint=bulk — Campagna SMS massiva
  • GET ?endpoint=campaigns&limit=20 — Elenco campagne massive
  • POST ?endpoint=cancel-campaign — Annulla campagna massiva
  • GET ?endpoint=status&id=SMS_ID — Controlla stato SMS
  • GET ?endpoint=history&limit=20 — Storico SMS

Invia SMS

POST ?endpoint=send
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."
  }
}

Programma SMS

POST ?endpoint=schedule
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"
}

Annulla SMS programmato

POST ?endpoint=cancel-scheduled
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}'

Campagna SMS massiva

POST ?endpoint=bulk
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"
}

Elenco campagne massive

GET ?endpoint=campaigns&limit=20
curl -k -sS \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://magnusbilling.net/sms-api/index.php?endpoint=campaigns&limit=20"

Annulla campagna massiva

POST ?endpoint=cancel-campaign
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}'

Controlla stato SMS

GET ?endpoint=status&id=SMS_ID
curl -k -sS \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://magnusbilling.net/sms-api/index.php?endpoint=status&id=1"

Storico SMS

GET ?endpoint=history&limit=20
curl -k -sS \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://magnusbilling.net/sms-api/index.php?endpoint=history&limit=20"

API eSIM / Pacchetti dati globali

Vendi pacchetti dati eSIM dal tuo account MagnusBilling.net usando lo stesso X-API-Key.

Base URL https://magnusbilling.net/esim-api/index.php

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.
MagnusBilling.net · Reseller API

Reseller API Documentation

Create SIP clients, manage balances, view reseller plans, check client status, and control customers through a clean JSON API.

Base URL https://magnusbilling.net/reseller-api/index.php
Authorization X-API-Key header
Response format JSON

Authorization

Every request must include your API key in the HTTP header.

X-API-Key: YOUR_API_KEY
Do not send the API key in the URL. Keep it private.

Account status

GET ?endpoint=me
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

GET ?endpoint=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

POST ?endpoint=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
}
SIP password is returned only once during client creation.
Se plan_id manca, l’API usa il piano retail esistente del reseller. Prezzi di default: tariffa base reseller +20%.

Get client

GET ?endpoint=client&login=LOGIN
curl -k -sS \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://magnusbilling.net/reseller-api/index.php?endpoint=client&login=1234567892"

Client list

GET ?endpoint=clients&limit=10&offset=0
curl -k -sS \
  -H "X-API-Key: YOUR_API_KEY" \
  "https://magnusbilling.net/reseller-api/index.php?endpoint=clients&limit=10&offset=0"

Modello di fatturazione reseller reale

L’endpoint transfer accredita credito retail al cliente del reseller. Non addebita subito il reseller.

Di default le tariffe dei clienti reseller sono create con markup +20%. Il reseller può modificare markup e prezzi retail dei propri clienti.

Quando il cliente effettua chiamate, il saldo cliente viene addebitato alla tariffa retail, mentre il saldo reseller viene addebitato alla tariffa wholesale.

Se il saldo wholesale del reseller è esaurito o insufficiente per il blocco minimo, i clienti non possono chiamare anche se hanno credito retail.

Accredita credito retail

POST ?endpoint=transfer

Accredita credito retail a uno dei clienti del reseller. Non addebita subito il reseller; il saldo wholesale viene addebitato quando il cliente effettua chiamate.

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"
external_id deve essere unico per ogni accredito retail.

Transactions

GET ?endpoint=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

POST ?endpoint=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

POST ?endpoint=change-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 portale agente white-label

Endpoint per portali PHP ospitati dall’agente: login cliente, dashboard, SIP, chiamate, pagamenti, tariffe, markup e token Web Phone.

Per rivenditori che installano un portale white-label sul proprio dominio. Il portale usa solo reseller X-API-Key e non si collega mai direttamente al DB centrale MagnusBilling.
Base URL https://magnusbilling.net/reseller-api/index.php
Authorization X-API-Key: YOUR_RESELLER_API_KEY

Endpoint portale cliente

  • GET ?endpoint=portal-bootstrap — Verifica API/installazione
  • POST ?endpoint=client-auth — Login cliente nel portale agente
  • GET ?endpoint=client-dashboard&login=CLIENT_LOGIN — Dashboard cliente e saldo visibile
  • GET ?endpoint=client-sip&login=CLIENT_LOGIN — Account SIP cliente; account di servizio nascosti per default
  • GET ?endpoint=client-calls&login=CLIENT_LOGIN&limit=50 — Chiamate riuscite
  • GET ?endpoint=client-failed-calls&login=CLIENT_LOGIN&limit=50 — Chiamate fallite
  • GET ?endpoint=client-refills&login=CLIENT_LOGIN&limit=50 — Storico ricariche cliente
  • GET ?endpoint=client-callerids&login=CLIENT_LOGIN — Caller ID cliente
  • GET ?endpoint=client-rates&login=CLIENT_LOGIN&limit=100 — Tariffe retail cliente

Pagamento/ricarica

I pagamenti cliente arrivano al portale tramite Plisio, Heleket o metodi custom; dopo conferma il portale chiama 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"
  }'

Endpoint markup tariffe

set-agent-markup usa il piano retail esistente. Se il markup richiesto è già applicato, le righe tariffarie non vengono riscritte.

  • GET ?endpoint=agent-markup — Markup corrente e tariffa retail
  • POST ?endpoint=preview-agent-markup — Anteprima prezzi con nuovo markup
  • POST ?endpoint=set-agent-markup — Applicare nuovo markup alla tariffa 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

Il portale mostra un pulsante Web Phone. Account di servizio come _web1 sono usati internamente da Janus e non appaiono nella lista SIP normale 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"}'
Regole sicurezza white-label: I clienti finali non devono mai vedere saldo reseller, costo wholesale, markup, dipendenza credito interna, API key o dettagli del DB centrale.

API SMS reseller / CryptoSMS

I reseller possono inviare SMS per i propri clienti usando lo stesso Reseller X-API-Key. client_login è obbligatorio.

URL base https://magnusbilling.net/sms-api/index.php
Autorizzazione X-API-Key: YOUR_RESELLER_API_KEY
Obbligatorio per reseller client_login deve essere il login del proprio cliente.
Un reseller può gestire SMS solo per i propri clienti.

Endpoint disponibili

  • POST ?endpoint=send — Invia un SMS
  • POST ?endpoint=schedule — Programma un SMS
  • GET ?endpoint=scheduled&client_login=CLIENT_LOGIN&limit=20 — SMS programmati
  • POST ?endpoint=cancel-scheduled — Annulla SMS programmato
  • POST ?endpoint=bulk — Crea campagna SMS massiva
  • GET ?endpoint=campaigns&client_login=CLIENT_LOGIN&limit=20 — Lista campagne
  • POST ?endpoint=cancel-campaign — Annulla campagna
  • GET ?endpoint=quota&provider=cryptosms&client_login=CLIENT_LOGIN — Stima SMS cliente
  • GET ?endpoint=history&client_login=CLIENT_LOGIN&limit=20 — Storico SMS cliente
  • GET ?endpoint=status&id=SMS_ID&client_login=CLIENT_LOGIN — Stato SMS 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"
  }'
Sender ID / Caller ID non è garantito. Il costo SMS viene scalato dal saldo del cliente selezionato.

API eSIM Reseller

I reseller possono vendere pacchetti dati eSIM usando la stessa X-API-Key reseller. Gli acquisti eSIM vengono scalati dal saldo reseller.

URL base https://magnusbilling.net/esim-api/index.php
Autorizzazione X-API-Key: YOUR_RESELLER_API_KEY

Endpoint disponibili

  • GET ?endpoint=packages&q=Europe&limit=20 — Elenco pacchetti eSIM e prezzi reseller attuali
  • GET ?endpoint=coverage&package_code=PACKAGE_CODE — Paesi e reti inclusi nel pacchetto
  • GET ?endpoint=balance — Controllo saldo reseller
  • POST ?endpoint=buy — Acquisto pacchetto eSIM
  • GET ?endpoint=orders — Ordini eSIM reseller, dati di attivazione e consumo
  • GET ?endpoint=sync-order&order_id=ORDER_ID — Aggiorna dati di attivazione e traffico residuo

Elenco pacchetti eSIM

curl -sS \
  -H "X-API-Key: YOUR_RESELLER_API_KEY" \
  "https://magnusbilling.net/esim-api/index.php?endpoint=packages&q=Europe&limit=5"

Acquisto pacchetto 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"}'

Ordini eSIM reseller e consumo

curl -sS \
  -H "X-API-Key: YOUR_RESELLER_API_KEY" \
  "https://magnusbilling.net/esim-api/index.php?endpoint=orders"

La risposta dell’ordine include nome pacchetto, prezzo, stato, ICCID, dati di attivazione, traffico totale, usato, residuo e scadenza quando disponibili. Il consumo può aggiornarsi con un breve ritardo di rete.

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.
  • Il reseller può accreditare credito retail solo ai propri clienti. Le chiamate richiedono comunque saldo wholesale disponibile del reseller.
  • 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 gestione account per portale agente

Endpoint aggiuntivi per portali agente white-label: reset password, reset password SIP e aggiornamento profilo cliente.

Regole di sicurezza: Questi metodi funzionano solo per i clienti appartenenti al reseller. Le password esistenti non vengono mai restituite. I metodi di reset generano una nuova password temporanea e la restituiscono una sola volta al portale server-side fidato.

Endpoint

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"}'

Gli account di servizio come _webN e _ipaN sono esclusi dal reset della password SIP.