如何使用First Data API获取商家数据

问题描述

我只是尝试使用First Data API获取商家信息。这是他们api的链接

https://developer.firstdata.com/marketplace/api/marketplace-manage.html#post-merchant-search

根据他们的API,此响应需要起作用,但我总是会收到404错误

这是身份验证部分的一些方法

let request = require('request');
let crypto = require('crypto');
let https = require("https");
let querystring = require('querystring');

const username = "sandBox account api key";
const secret = "sandBox account secret key";
const url = "sandBox url";

var getAuthenticationHeaders = function () {
    var date = new Date().toUTCString();
    var stringToSign = 'date: ' + date.trim();
    var encodedSignature = crypto.createHmac("sha1",secret).update(stringToSign).digest("base64");
    var hmacAuth = 'hmac username="' + username + '",algorithm="hmac-sha1",headers="date",signature="' + encodedSignature + '"';
    return {
        'date': date,'Authorization': hmacAuth
    }
  }

  var do_request = function(method,path,data = {}) {
    var content = querystring.stringify(data);
    var options = {}

    options = {
        method: method,url : url + path,headers: getAuthenticationHeaders(),json: true
    };

    if (method == "GET"){
        if (data.length > 0) options.url += '?' + content;
    }else{
        // options['body'] = JSON.stringify(data);
        options['body'] = data
    }   

    request(options,function (error,response,body) {
        console.log(options)
        if (error) throw new Error(error);
            console.log("state code => ",response.statusCode)
            console.log("state msg => ",response.statusMessage)
            console.log(body);
    });
}

我只是像下面这样调用api

do_request('POST','/manage/merchantsearch/',{"zip": 1865})

但没有运气:( 如果有人有使用First Data API的经验,请与我分享

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...