Ana Sayfa
Temel Bilgiler
İmza Oluşturma
Depozitler
Başlarken
Depozito Oluşturma
Depozito Oluşturma (iframe ile yönlendirme olmadan)
Depozito Bildirimi (webhook)
Depozito Durumu Kontrolü
Depozito Listesi Alma
8 gün beklemesiz yatırımlar (Steam Trade Protection)
8 günlük bekletme ile yatırım onayı
Başarısız web kancası bildirimleri alın
SkinsBack kullanıcı arayüzü olmadan para yatırma
Create a deposit without SkinsBack UI (API)
Kullanıcının envanterini al
Skin çekme
Fiyat listesi (skin mevcudu)
Skin arama
Skin satın alma
Toplu satın alma skinleri
Skin satın alma durumu
Skin satın alma geçmişi
Diğer
Proje Bakiyesi
Bakiye ve Depozito Çekme Geçmişi
Para birimleri ve döviz kurları
Sunucu durumu
Gerçek zamanlı olaylar: websockets
Gerçek zamanlı olaylar: web kancaları
İmza Oluşturma
İmza, tüm parametrelerin "key:value;" şeklinde birleştirilmesi ve Client Secret kullanılarak SHA1 HMAC ile imzalanmasıyla oluşturulur. Diziler ve nesneler atlanır. Client Secret bilgisi satıcı panelinde bulunabilir.
PHP'de imza oluşturma örneği:
<?php
function buildSignature($params, $clientSecret)
{
ksort($params);
$paramsString = '';
foreach($params AS $key => $value)
{
if($key == 'sign') continue;
if(is_array($value)) { continue; }
$paramsString .= $key .':'. $value .';';
}
$sign = hash_hmac('sha1', $paramsString, $clientSecret);
return $sign;
}
$clientSecret = '123'; // Client Secret
$params = array(
'method' => 'orderstatus',
'order_id' => 1,
'shopid' => '123' // Client ID
);
$params['sign'] = buildSignature($params, $clientSecret);
JavaScript'te imza oluşturma örneği:
function buildSignature(params, clientSecret)
{
var paramsString = '';
Object.keys(params).sort().forEach(function(key)
{
if (key === 'sign') return;
if(typeof params[key] == 'object') return;
paramsString += '' + key + ':' + params[key] + ';';
});
var crypto = require('crypto');
paramsString = crypto.createHmac('sha1', clientSecret).update(paramsString).digest('hex');
return paramsString;
}
var clientSecret = '123'; // Client Secret
var params = {
method: 'orderstatus',
order_id: 1,
shopid: '123' // Client ID
}
params.sign = buildSignature(params, clientSecret);
Python'da imza oluşturma örneği:
import base64
import hashlib
import hmac
def buildSignature(params, key):
# Sort the parameters by key
sorted_params = dict(sorted(params.items()))
# Initialize an empty string to build the parameter string
params_string = ''
# Iterate through the sorted parameters
for k, v in sorted_params.items():
# Skip the 'sign' key
if k == 'sign':
continue
# Skip values that are lists
if isinstance(v, list):
continue
# Concatenate key and value into the params_string
params_string += f'{k}:{v};'
# Generate HMAC-SHA1 hash
hashed = hmac.new(key.encode(), params_string.encode(), hashlib.sha1)
# Return the hex digest of the hash
return hashed.hexdigest()
SECRET_KEY = "SECRET KEY"
params_dict = {
"method": "market_pricelist",
"shopid": "CLIENT_ID",
"game": "cs2",
}
signature = buildSignature(params_dict, SECRET_KEY)
params_dict['sign'] = signature
PHP'de imzalı istek örneği:
<?php
$params = array(
'shopid' => '1', // Client ID
'method' => 'create',
'order_id' => 1,
'steam_id' => '76561198827262007',
'trade_token' => 'i1ArBZey',
'currency' => 'usd'
);
$clientSecret = '123123123123213';
// @see https://skinsback.com/tr/docs/api/v1/signature/
$params['sign'] = buildSignature($params, $clientSecret);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://skinsback.com/api.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
curl_close ($ch);
var_dump($server_output);
Webhook: PHP'de imza doğrulama örneği:
<?php
$clientSecret = '123'; // Client Secret
// @see https://skinsback.com/tr/docs/api/v1/signature/
if($_POST['sign'] != buildSignature($_POST, $clientSecret))
{
die('Wrong signature');
}