Как получить данные клиента из 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, чтобы начать запрашивать дополнительную информацию, такую ​​как обновления. Я еще не получил информацию об обновлении, поэтому я не уверен, как это сделать. Но, надеюсь, это поможет вам.

Другие вопросы по тегам