For developers

API documents

If you have any questions or issues with linking the API to your site, please send them to the Support Ticket and the Programming and API Problems section for assistance.

You can use this API to use in Smart Panel and easily have your own site and earn money.

 

API hint

HTTP Method POST
API URL https://panel.smmflw.com/loginapi/v2
API Key Your API key Login
Response format JSON

Services

Parameters Description
key Your API key Login
action services
Example Response
[ { "service": "3", "name": "Service 1", "category": "Category 1", "min": "20", "max": "30", "desc": "Description 1", "rate": "95200", "type": "default", "dripfeed": 0 }, { "service": "9", "name": "Service 2", "category": "Category 22", "min": "50", "max": "100", "desc": "Description 2", "rate": "12000", "type": "default", "dripfeed": 0 } ]

Add order

Parameters Description
key Your API key Login
action add
service Service Id
link Link to page
quantity Needed quantity
is_test(optional) 0 = Not for test , 1 = For test
Example Response
{ "status": "success", "order": 151 }

Order status

Parameters Description
key Your API key Login
action status
order Order Id
Example Response
{ "order": 1526, "status": "Completed", "charge": "5400", "start_count": 300, "remains": 0 }

Multiple orders status

Parameters Description
api Your API key Login
action status
orders Order IDs separated by comma (Example: 34,35,38)
Example Response
{ "276801": { "order": 276801, "status": "processing", "charge": "1015", "start_count": 1526, "remains": "Unknown" }, "266094": { "order": 266094, "status": "Completed", "charge": "10500", "start_count": 1217, "remains": 0 }, "266095": { "error": "Incorrect order ID" } }

User balance

Parameters Description
api Your API key Login
action balance
Example Response
{ "status": "success", "balance": 12.3, "currency": "USD" }
'; html += '
'; this.element.html(html); this.rainbowDiv = this.element.find('div.formattedJSON'); if(syntaxError){ html = syntaxError; } else{ type = typeof(jsonObject); if (type != 'object' || jsonObject === null) { if (jsonObject === null) { type = 'null'; } html = '
' + jsonObject + ' (' + type + ')
'; } else { html = '
{'; html += this.loopObject(jsonObject); html += '}
'; } } this.rainbowDiv.append(html); }, loopObject :function(object){ var html = ''; var brackets, value, type, emptyArray, innerHTML; this.depth++; if(this.options.maxDepth > 0 && this.depth > this.options.maxDepth){ this.depth--; return '
*maximum depth reached*
'; } var i = 0; for (var property in object) { if(this.options.maxElements > 0 && ++i > this.options.maxElements){ html += '
*maximum elements per object reached*
'; break; } emptyArray = false; brackets = ['{', '}']; value = object[property]; type = typeof(object[property]); html += '
'; // Objects and arrays if(type == 'object' && value !== null ){ if (typeof(value.push) == 'function') { brackets = ['[', ']']; } html += property + ' : '; html += brackets[0]; recursiveHtml = this.loopObject(value); if(recursiveHtml === ''){ html += ' *empty* '; } else{ html += ' » '; html += ''; html += recursiveHtml; html += ''; } html += brackets[1]; } // Strings, numbers, booleans and nulls else{ if( value === null ){ value = 'null'; type = 'null'; } html += property + ' : ' + value + ' (' + type + ')'; } html += '
'; } this.depth--; return html; }, // returns darker color for shading objects in depth shadeColor : function(color, depth) { var R = parseInt(color.substring(1,3),16); var G = parseInt(color.substring(3,5),16); var B = parseInt(color.substring(5,7),16); R = parseInt(R * (100 + depth*-2) / 100, 10); G = parseInt(G * (100 + depth*-2) / 100, 10); B = parseInt(B * (100 + depth*-2) / 100, 10); R = (R<255)?R:255; G = (G<255)?G:255; B = (B<255)?B:255; var RR = ((R.toString(16).length==1)?"0"+R.toString(16):R.toString(16)); var GG = ((G.toString(16).length==1)?"0"+G.toString(16):G.toString(16)); var BB = ((B.toString(16).length==1)?"0"+B.toString(16):B.toString(16)); return "#"+RR+GG+BB; } }; // A really lightweight plugin wrapper around the constructor, // preventing against multiple instantiations $.fn[pluginName] = function ( options ) { return this.each(function () { if (!$.data(this, 'plugin_' + pluginName)) { $.data(this, 'plugin_' + pluginName, new Plugin( this, options )); } }); }; })( jQuery, window, document );