Не удается сгенерировать подпись для API Lazada в NodeJS - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь использовать 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
        +"&timestamp="+new Date().getTime()
        +"&sign="+hash.hex();

        Request.get(httpRequestLink, (error, response, body) => {
            if(error) {
                return console.log(error);
            }
            console.log(JSON.parse(body));
        }); 

    });

}

Буду очень признателен, если кто-то может помочь мне здесь.Спасибо

1 Ответ

0 голосов
/ 29 ноября 2018

Я предлагаю добавить пакет npm lazada-open-platform-sdk url https://www.npmjs.com/package/lazada-open-platform-sdk.

Вы можете легко вызывать API-интерфейсы lazada по его функциям, и в большинстве случаев они интегрированы ими. Для API-интерфейса Finanace и продавца, которые не интегрированыдля пакета вы можете использовать access_token, сгенерированный generateAccessToken и вызывать apis.

...