Полезные JSON'ы и как ими пользоваться

1. /client_account/feedback.json

JSON, принимающий POST для отправки сообщения через форму обратной связи. Принимает поля:

  • feedback[from] - адрес, с которого отправить сообщение (обязательное)
  • feedback[name] - имя покупателя
  • feedback[phone] - телефон покупателя
  • feedback[subject] - тема сообщения
  • feedback[content] - тело сообщения (обязательное)

Пример см. в файле

2. /fast_checkout.json

При получении POST-запроса с любой страницы магазина создает заказ в магазине. В ответ выдает номер заказа, ключ, id и другие данные, которые могут быть нужны для отправки в партнерские сети и другие внешние системы.

Подробнее о его использовании см. в отдельной статье.

3. /client_account/contacts.json

При получении GET-запроса выдает данные о зарегистрированном покупателе:

id
  идентификатор
fields_values
  доп. поля покупателя
name
  Имя
surname
  Фамилия
middlename
  Отчество
email
  контактный e-mail
phone
  телефон
registered
  зарегистрирован (всегда вернет истину, GET-запрос к этому json если покупатель не зарегистрирован вернет ошибку)
subscribe
  подписан/не подписан на новости
created_at
  когда зарегистрирован
updated_at
  когда последний раз изменен
bonus_points
  кол-во бонусных баллов (на тарифах от Бизнес)
client_group_id
  ID группы покупателя
ip_addr
  IP-адрес
default_address
  адрес доставки
orders_count
  кол-во оформленных заказов

 

Пример использования:

$(document).ready(function(){

$.getJSON("/client_account/contacts.json",
function(data){
var myname = data.client.name;
$('#myname').html(myname);
});
});

4. /products_by_id/{id через запятую}.json

Позволяет получить данные о товарах по заданным ID. Можно использовать для вывода последних просмотренных товаров (предварительно записав их ID в cookie), можно - для вывода "отложенных" товаров и т.д.

Пример использования для последних просмотренных товаров см. в файле.

5. /collection/{пермалинк категории}.json

Позволяет динамически получить данные о товарах по заданным фильтрам, с постраничной навигацией.

Полезно если нужно получить данные о большом количестве товаров, если одновременная их загрузка делает страницу слишком "тяжелой". Например, для динамической подгрузки новых товаров при прокрутке страницы.

Пример на сайте Gosso. Галерея дизайнов чехлов подгружается при перелистывании и при фильтрации именно по вышеописанному алгоритму.

6. /cart_items.json

Понимает как GET, так и POST-запросы. Позволяет получить текущее содержимое корзины или добавить в корзину новые товары.

Не стоит использовать POST-запрос для получения содержимого, т.к. ответы по этим запросам могут несколько отличаться.

Также не стоит использовать 2 подряд запроса к корзине, т.к. в ответе отдается заголовок set-cookie, который может неверно переписать содержимое текущей покупательской сессии, что может привести к сложно диагностируемым проблемам с корзиной интернет-магазина.

7. /cart_items/update_all.json

Пересчитывает сумму заказа и скидки при отправке туда нового количества товаров, уже добавленных в корзину, или купона (не обязательно уже примененного). Удобно для динамического пересчета стоимости заказа в корзине.

Полезная статья?
Остались вопросы?
Отправь тикет в техподдержку!
Недавно просмотренные статьи