Я пытаюсь использовать Lazada API через HTTP-запросы в NodeJS, и для него требуется подпись в качестве одного из параметров.Для этого я использую пакет js-256 , но по какой-то причине я получаю ошибку IncompleSignature
.
Точное сообщение об ошибке:
{ type: 'ISV',
code: 'IncompleteSignature',
message: 'The request signature does not conform to lazada standards',
request_id: '0be6e79215428302067761224' }
Мой код:
var sha256 = require('js-sha256');
module.exports = function(app, Request){
app.get('/', function(req,res){
var access_token = "myToken";
var app_key = "myAppKey";
var order_id = "36835322434";
var sign_method = "sha256";
var timestamp = new Date().timestamp;
var concatenatedString = "/order/items/getaccess_token"+access_token
+"app_key"+app_key
+"order_id"+order_id
+"sign_method"+sign_method
+"timestamp"+new Date().getTime();
var hash = sha256.hmac.create("myAppSecret");
hash.update(concatenatedString);
var httpRequestLink = "http://api.lazada.co.th/rest/order/items/get?access_token="+access_token
+"&app_key="+app_key
+"&order_id="+order_id
+"&sign_method="+sign_method
+"×tamp="+new Date().getTime()
+"&sign="+hash.hex();
Request.get(httpRequestLink, (error, response, body) => {
if(error) {
return console.log(error);
}
console.log(JSON.parse(body));
});
});
}
Буду очень признателен, если кто-то может помочь мне здесь.Спасибо