Skip to content
This repository has been archived by the owner on Feb 15, 2024. It is now read-only.

kilterset/vend-ruby

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This gem provides access to Vend’s REST API.

Vend API Documentation

At the time of writing, this is located at developers.vendhq.com/documentation

Using Vend API via Oauth 2.0

You will need to implement the following steps to connect your application to a Vend Retailer account.

1 Requesting authorisation url. User must be redirected to this url in order to receive authorisation code.
auth_code = Vend::Oauth2::AuthCode.new(STORE, CLIENT_ID, SECRET, REDIRECT_URI)
url = auth_code.authorize_url

Url will look like:

https://secure.vendhq.com/connect?response_type=code&client_id={client_id}&redirect_uri={redirect_uri}&state={state}

After successful authorisation, you will be redirected to:

{redirect_uri}?code={code}&domain_prefix={domain_prefix}&state={state}
2 Requesting access token.
auth_code = Vend::Oauth2::AuthCode.new(STORE, CLIENT_ID, SECRET, REDIRECT_URI)
token = auth_code.token_from_code(params[:code])

Where token is an instance of OAuth2::AccessToken www.rubydoc.info/gems/oauth2/1.0.0/OAuth2/AccessToken

3 Using the token to access the Vend API.
client = Vend::Oauth2::Client.new(STORE, AUTH_TOKEN)
client.Product.all.each do |product|
  puts product.name
end
4 Refreshing the access token
auth_code = Vend::Oauth2::AuthCode.new(STORE, CLIENT_ID, SECRET, REDIRECT_URI)
token = auth_code.refresh_token(auth_token, refresh_token)

The response payload may include a refresh token, if so, you need to update your currently stored refresh token.