Как получить данные клиента из Cratejoy с помощью Ajax?
Есть ли кто-то, кто имеет опыт взаимодействия с 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 ответ
Вот фрагмент JQuery, который получает информацию о воображаемом клиенте с идентификатором 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 нужно будет заменить на строку в кодировке base64, сгенерированную из 'username:password'. Вы можете сгенерировать эту закодированную строку, используя инструмент Base64Encode.org.
Например, если имя пользователя Cratejoy для API продавца было "stackrubox", а пароль - "BBGbbadjKSAJ123", то перейдите на Base64Encode.org и введите это...
stackrubox: BBGbbadjKSAJ123
... и нажмите ENCODE. Затем скопируйте / вставьте полученную строку и замените XXXaccesscodeXXXX в приведенном выше javascript.
Еще один важный момент: если вы запускаете этот код со страницы HTML в браузере, то он потерпит неудачу, если он работает за пределами домена cratejoy. Если вы просто создаете внутренний инструмент, вы можете использовать Chrome с этим расширением, чтобы разрешать такие запросы.
После того как приведенный выше шаблон работает, вы можете следовать документам Merchant API, чтобы начать запрашивать дополнительную информацию, такую как обновления. Я еще не получил информацию об обновлении, поэтому я не уверен, как это сделать. Но, надеюсь, это поможет вам.