如何使用Ajax从Cratejoy获取客户详细信息?

时间:2017-04-30 12:35:36

标签: ajax cratejoy

周围是否有人有与Cratejoy Merchant API交互的经验?

我今天获得了访问密钥,但是,我无法使用它。

我想要做的很简单: - 在页面上显示客户有多少续订。那就是它。

我了解我可以使用Merchant API(http://docs.cratejoy.com/docs/introduction2)查询此信息。但是,我无法让它发挥作用。

您是否有人对Cratejoy Merchant API有任何经验?

我尝试使用以下代码:

    <script type="text/javascript">
  import requests

  $.ajax({
url: 'https://api.cratejoy.com/v1/customers/408899124/',
    headers: {
        'Authorization': 'Basic XXXaccesscodeXXXX',
    },

    # make the request
response = requests.get(url, auth=auth)
json_data = response.json()['results']

num_subs = json_data['num_subscriptions']

print ' {}: {}'.format(num_subs)


});

</script>

这可能完全错了,所以我非常感谢你的意见。

1 个答案:

答案 0 :(得分:0)

这是一个JQuery代码段,它获取有关id为123456789的虚构客户的信息。

<script>
/**
 * Handler for ajax success.
 */
function onSuccess(obj) {
  console.log(obj);
  // here's where you'd do something with the data.
}


/**
 * Makes the actual ajax call.
 */
$.ajax({
  url: 'https://api.cratejoy.com/v1/customers',
  headers: {
    'Authorization': 'Basic XXXaccesscodeXXXX' 
  },
  method: 'GET',
  data: {
    id: '123456789'
  },
  success: onSuccess
});
<script>

听起来你已经想到了这一点,但请注意,字符串XXXaccesscodeXXXX需要替换为使用'username:password'生成的base64编码字符串。您可以使用Base64Encode.org上的工具生成此编码字符串。

例如,如果用户名Cratejoy为您提供的商家API是“stackoverflowbox”而密码是“BBGbbadjKSAJ123”,那么请转到Base64Encode.org并输入此...

stackoverflowbox:BBGbbadjKSAJ123

...然后点击ENCODE。然后复制/粘贴结果字符串并在上面的javascript中替换XXXaccesscodeXXXX。

另一个主要问题:如果您在浏览器中的HTML页面中运行此代码,那么如果它在cratejoy域之外运行则会失败。如果您只是构建内部工具,则可以使用Chrome this extension来允许此类请求。

一旦您使上述模式正常工作,您就可以按照Merchant API docs开始请求更多信息,例如续订。我还没有自己提供更新信息,所以我不知道该怎么做。但希望这会让你前进。