周围是否有人有与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>
这可能完全错了,所以我非常感谢你的意见。
答案 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开始请求更多信息,例如续订。我还没有自己提供更新信息,所以我不知道该怎么做。但希望这会让你前进。