Geral
Informações Principais
Geração de Assinatura
Depósitos
Começando
Criação de Depósito
Criação de Depósito sem Redirecionamento (iframe)
Notificação de Depósito (webhook)
Verificação do Status do Depósito
Obtenção da Lista de Depósitos
Depósitos sem período de espera de 8 dias (Steam Trade Protection)
Aprovação de depósito com retenção de 8 dias
Receba notificações de webhook com falha
Depósitos sem SkinsBack UI
Create a deposit without SkinsBack UI (API)
Obter o inventário do utilizador
Retirada de skins
Lista de preços (disponibilidade de skins)
Pesquisar skins
Comprar skin
Comprar skins em grandes quantidades
Status da compra de skin
Histórico de compras de skins
Outro
Saldo do Projeto
Histórico de Retiradas do Saldo e Depósitos
Moedas e taxas
Status do servidor
Eventos em tempo real: websockets
Eventos em tempo real: webhooks
Geração de assinatura
A assinatura é gerada concatenando todos os parâmetros no formato "key:value;" e convertendo em SHA1 HMAC assinado com o Client Secret. Arrays e objetos são ignorados. O Client Secret pode ser obtido no painel do comerciante.
Exemplo de geração de assinatura em PHP:
<?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);
Exemplo de geração de assinatura em JavaScript:
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);
Exemplo de solicitação com assinatura em PHP:
<?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/pt-pt/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: exemplo de validação de assinatura em PHP:
<?php
$clientSecret = '123'; // Client Secret
// @see https://skinsback.com/pt-pt/docs/api/v1/signature/
if($_POST['sign'] != buildSignature($_POST, $clientSecret))
{
die('Wrong signature');
}