Guides
The SMM panel API explained: how panels, providers and orders connect
Almost every SMM panel speaks the same simple API. Once you know its handful of actions, connecting a provider, or letting other panels connect to you, stops being a mystery.
Why the API matters
Your panel rarely delivers a service itself. When a customer orders, the panel sends the order to the provider behind that service, and later asks the provider how far it got. All of that happens through the provider's API. A good connection means orders leave at once, statuses stay current and balances stay exact; a poor one means orders that hang in "pending" and customers who open tickets.
The common format, often called "API v2"
Most panels and providers use one de facto format: a single address (often ending in /api/v2) that receives a POST request with your API key, an action and the fields of that action, and answers in JSON. Because the format is shared, one panel can use many providers, and a panel can itself be a provider to others.
The actions you will meet:
services: the list of services with their ID, name, category, rate (price per 1,000), minimum and maximum quantity, and whether refill and cancel are supported.add: places an order. It takes theserviceID, thelinkand thequantity(some service types take other fields, such as comments or a drip-feed setting) and returns the provider's order ID.status: the state of one order, or of many at once, with fields such as the charge, the start count, the remains and the status itself.balance: how much money you have left at the provider.refillandcancel: ask the provider to top up a drop, or to cancel an order, when the service supports it.
What happens to one order
A customer orders 1,000 of a service on your panel. Your panel takes the money from the customer's balance and calls add at the provider with the provider's own service ID. The provider answers with its order ID, which your panel stores next to your order. From then on the panel calls status from time to time and copies the answer: in progress, partial, completed or canceled. On a partial or canceled order the panel returns the money that was not used to the customer's balance.
The two things that go wrong most often are an answer that never arrives (did the order go through or not?) and a provider that changes or removes a service. A careful panel handles both: it does not place an order twice when an answer is lost, and it notices when a service changes.
Connecting a provider to your panel
- Open an account at the provider and add funds there.
- Copy the API address and your API key from the provider's API page.
- Add them as a provider in your panel's admin, then import the services you want.
- Map each imported service to your own name, category and price.
- Place a small real order for each service before you sell it.
Treat the API key like a password: anyone who has it can spend your balance at that provider. If a key ever leaks, create a new one at the provider and replace it in your panel.
Being a provider: your own reseller API
The same format works the other way round. Your panel can give each customer an API key, so other panels and tools can buy from you automatically. Every Arty panel includes a reseller API compatible with the common SMM panel API v2 format, so anything that speaks it can connect.
When both panels run Arty
Between two Arty panels there is a direct connection on top of the standard API. You add the other panel as a provider in the usual way; the panels recognise each other, orders travel in packets of up to 1,000 instead of one request each, and statuses are followed within about 30 seconds. Each order carries its own ID, so a lost answer never places it twice. The features page has the details and our own measurements.
Whatever software you use, the advice is the same: connect few providers, test them well, and watch your provider balances so that orders never fail for lack of funds. The provider guide explains how to test them.