Базовая информация
Все отправляемые запросы должны содержать mid,salt,sign в теле запроса а так же дополнительные параметры указанные в документации.
Headers
Name
Value
Content-Type
application/json
Body
Name
Type
Description
mid
integer
ID магазина
salt
string
Случайно сгенерированная строка
sign
string
Подпись запроса
Генерация подписи запроса
Для генерации подписи запроса используется массив с данными передаваемыми в теле запроса.
Массив сортируется по ключам.
Вычисляется подпись
signс использованием алгоритма HMAC-SHA256 на основе JSON-представления массива и секретного ключаtoken.Подпись добавляется в массив
$mid = 1;
$token = "041131a0906b08a5bebc1d4fdcc6d9";
$body = [
'mid' => $mid,
'salt' => "AnyRandomString",
];
ksort($body);
$body['sign'] = hash_hmac("sha256", json_encode($body), $token);import json
import hmac
import hashlib
mid = 1
token = "041131a0906b08a5bebc1d4fdcc6d9"
body = {
'mid': mid,
'salt': "AnyRandomString"
}
sorted_body = dict(sorted(body.items()))
body['sign'] = hmac.new(
token.encode('utf-8'),
json.dumps(sorted_body, ensure_ascii=False, separators=(',', ':')).encode('utf-8'),
hashlib.sha256
).hexdigest()const crypto = require('crypto');
const mid = 1;
const token = "041131a0906b08a5bebc1d4fdcc6d9";
let body = {
mid: mid,
salt: "AnyRandomString"
};
const sortedBody = {};
Object.keys(body).sort().forEach(key => {
sortedBody[key] = body[key];
});
const sign = crypto.createHmac('sha256', token)
.update(JSON.stringify(sortedBody))
.digest('hex');
body.sign = sign;Last updated