Новая версия API v4

Для доступа к ресурсам платформы Shoppilot можно использовать REST API. На данный момент доступны следующие ресурсы:

  • Отзывы и комментарии
  • Вопросы и ответы
  • Клиенты
  • Заказы
  • Продукты

Почему мы решили выпустить новую версию API?

Предыдущие версии API были результатом запросов наших клиентов на предоставление доступа к некоторым ресурсам. Удовлетворяя эти запросы, мы недостаточно думали о консистентности, документации, безопасности и т.д. Постепенно пришло понимание важности хорошего дизайна API и мы выпустили новую версию v4.

В чем отличие новой версии API?

Самое главное отличие — использование в качестве формата данных JSONAPI. Данный формат уже поддерживает множество библиотек, с помощью которых, можно легко разработать клиента API.

Пример простейшего клиента на языке ruby:

# api_client.rb
require 'oj'  
require 'json_api_client'  
require 'openssl'

OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

module API  
  class Base < JsonApiClient::Resource
    self.site = "https://api.shoppilot.ru/v4"
  end

  class Review < Base
  end

  class Consumer < Base
  end
end

API::Base.connection do |connection|  
  connection.use Faraday::Response::Logger
  connection.faraday.authorization :Token, 'token=<AUTH TOKEN>'
end

review = API::Review.first.serializable_hash  
puts Oj.dump(review)  
$ chmod +x api_client.rb && ruby api_client.rb

{
  "id": "57864698c0828e703d000d58",
  "type": "reviews",
  "context_type": "product",
  "external_id": null,
  "rating": 5.0,
  "body": "Использую её как вушку. Если бы не мой рост 186, то выбрал бы Argon. Чехол у Argon получше и позволяет все компактнее запаковать. Вес меньше, но и внутри потеснее.",
  "pros": "Вес. Компактность. Качество исполнения. Дождь держит хорошо. Отличная ветроустойчивость. Пока ничего не сломалось (больше года эксплуатации). Достаточно длинная, можно и самому лечь и вещи в ноги закинуть.",
  "cons": "Цена, хотя мембранные палатки стоят еще дороже. Нормально без колышков не поставить. Стоять конечно будет, но комфортно разместиться не получится.",
  "rating_details": [],
  "author_details": [],
  "created_at": "2009-07-09T13:38:08.000+04:00",
  "updated_at": "2016-09-23T17:52:41.364+03:00",
...

В будущем будут добавляться новые ресурсы. Следите за обновлениями.