Докладна документація по Magento REST API тут.
Реєстрація та уповноваженому додатку
Отже, приступимо. Першим ділом, потрібно отримати всі потрібні параметри для авторизації. Зокрема ключі consumer_key і consumer_secret. І, власне хост(magentohost), на якому встановлене Magento.
Скажу відразу, налаштування платформи Magento для REST API не розглядається в рамках цієї статті.
require 'json' require 'oauth' auth = { consumer_key: '***', consumer_secret: '***', } magentohost = 'http://example.com' @consumer = OAuth::Consumer.new(auth[:consumer_key], auth[:consumer_secret], { :site => magentohost, :request_token_path => '/oauth/initiate', :access_token_path => '/oauth/token', :authorize_path => '/admin/oauth_authorize', })
Отримання токена
Для отримання access_token потрібно перейти за наступним посиланням, увійти(якщо потрібно) і уповноважити додаток.
Якщо автентифікація пройдена успішно, потрібно ввести отриманий код верифікації. Після цього будуть отримані token і token_secret, які використовуватимуться для здійснення HTTP запитів.
request_token = @consumer.get_request_token puts request_token.authorize_url print 'Код перевірки: ' verifier = gets.strip access_token = request_token.get_access_token(:oauth_verifier => verifier) auth[:token] = access_token.token auth[:token_secret] = access_token.secret
Запити до API
Ми вже отримали access_token і можемо виконувати HTTP запити.
response = access_token.request(:get, '/api/rest/products') rsp = JSON.load(response.body)
Раніше отримані token і token_secret можна зберегти для того, щоб виконувати запити без попередньої автентифікації.
auth[:token] = "***" auth[:token_secret] = "***" access_token = OAuth::AccessToken.new(@consumer, auth[:token], auth[:token_secret]) response = access_token.request(:get, '/api/rest/products') rsp = JSON.load(response.body)
На цьому все.
Немає коментарів:
Дописати коментар