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

How to get customer details from Cratejoy using Ajax?

身边有没有和Cratejoy商户有过互动经验的人API?

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

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

我了解我可以向商家API (http://docs.cratejoy.com/docs/introduction2)查询此信息。但是,我无法让它工作。

你们中有人使用过 Cratejoy 商户 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>

这可能是完全错误的,所以非常感谢您的意见。

这是一个 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 的用户名是 "Whosebugbox",密码是 "BBGbbadjKSAJ123",则转到 Base64Encode.org 并输入。 ..

Whosebugbox:BBGbbadjKSAJ123

...然后单击“编码”。然后 copy/paste 生成的字符串并替换上面 javascript 中的 XXXaccesscodeXXXX。

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

一旦上述模式生效,您就可以按照 Merchant API docs 开始请求更多信息,例如续订。我还没有自己提取续订信息,所以我不确定该怎么做。但希望这能让你继续前进。