bigcommerce-oauth-api 1.1.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rspec +3 -0
- data/CHANGELOG.md +69 -0
- data/Gemfile +7 -0
- data/README.md +180 -0
- data/Rakefile +7 -0
- data/bigcommerce-oauth-api.gemspec +25 -0
- data/lib/bigcommerce-oauth-api.rb +11 -0
- data/lib/bigcommerce-oauth-api/api.rb +28 -0
- data/lib/bigcommerce-oauth-api/base.rb +85 -0
- data/lib/bigcommerce-oauth-api/client.rb +60 -0
- data/lib/bigcommerce-oauth-api/configuration.rb +46 -0
- data/lib/bigcommerce-oauth-api/connection.rb +28 -0
- data/lib/bigcommerce-oauth-api/error.rb +26 -0
- data/lib/bigcommerce-oauth-api/request.rb +41 -0
- data/lib/bigcommerce-oauth-api/resource.rb +56 -0
- data/lib/bigcommerce-oauth-api/version.rb +3 -0
- data/lib/faraday/raise_http_exception.rb +26 -0
- data/spec/bigcommerce_oauth_api/api_spec.rb +55 -0
- data/spec/bigcommerce_oauth_api/client/client_module_spec.rb +124 -0
- data/spec/bigcommerce_oauth_api/client/client_nested_module_spec.rb +130 -0
- data/spec/bigcommerce_oauth_api/client_spec.rb +68 -0
- data/spec/bigcommerce_oauth_api/configuration_spec.rb +29 -0
- data/spec/bigcommerce_oauth_api/request_spec.rb +23 -0
- data/spec/bigcommerce_oauth_api/resource_spec.rb +43 -0
- data/spec/faraday/response_spec.rb +36 -0
- data/spec/spec_helper.rb +56 -0
- data/spec/support/duplicate_api_definition_client.rb +7 -0
- data/spec/support/method_already_defined_client.rb +6 -0
- metadata +30 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f6019efb2862df605d51ddc295b27fe454155a7
|
4
|
+
data.tar.gz: 5b10eca0204bc2609c58f2f9e5fcbacafe919d98
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca140e744fca66c4b14f9b51cdb36c33ae59e470178d56c3dda48acbaab0d346ec6099c532be63113b0ef05632a25c7e5ba4b3600c7cd35fc8edadcf94b10927
|
7
|
+
data.tar.gz: 633316c3b35e61ad303afc1dc18f9c97afce27e0f384369392b1b29fcd113fbf0918d1056b3a2d4b9f27f1c7ae2bf1d81bff6e58f259c287d4a3ad3e2dd5151e
|
data/.rspec
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
### 1.1.2 (2014-11-04)
|
2
|
+
|
3
|
+
Bugfixes:
|
4
|
+
|
5
|
+
- fix broken gemspec
|
6
|
+
- remove Gemfile.lock from git and add it to gitignore
|
7
|
+
|
8
|
+
### 1.1.1 (2014-11-04)
|
9
|
+
|
10
|
+
Bugfixes:
|
11
|
+
|
12
|
+
- correct lib folder name and adjust require statements
|
13
|
+
- rename repository from bigcommerce-oauth-api-ruby to bugcommerce-oauth-api
|
14
|
+
- update markdown badges
|
15
|
+
|
16
|
+
|
17
|
+
### 1.1.0 (2014-11-02)
|
18
|
+
|
19
|
+
Features:
|
20
|
+
|
21
|
+
- add product SKU api
|
22
|
+
- add product video api
|
23
|
+
- add product rules api
|
24
|
+
- add product review api
|
25
|
+
- add product option api
|
26
|
+
- add product image api
|
27
|
+
- add option api
|
28
|
+
- add option set api
|
29
|
+
- add option set option api
|
30
|
+
- add option set value api
|
31
|
+
- add googleproductsearch api
|
32
|
+
- add product configurable field api
|
33
|
+
- add category api
|
34
|
+
- add bulk pricing (discount rules) api
|
35
|
+
- add brand api
|
36
|
+
|
37
|
+
|
38
|
+
### 1.0.3 (2014-11-02)
|
39
|
+
|
40
|
+
Bugfixes:
|
41
|
+
|
42
|
+
- Change activesupport dependency to >=3 && <5
|
43
|
+
|
44
|
+
### 1.0.2 (2014-11-01)
|
45
|
+
|
46
|
+
Features:
|
47
|
+
|
48
|
+
- add blog post api
|
49
|
+
- add blog tag api
|
50
|
+
- add customer api
|
51
|
+
- add customer address api
|
52
|
+
- add customer group api
|
53
|
+
- add geography country api
|
54
|
+
- add geography state api
|
55
|
+
- add marketing coupon api
|
56
|
+
- add order api
|
57
|
+
- add order message api
|
58
|
+
- add order product api
|
59
|
+
- add order shipment api
|
60
|
+
- add order shipping address api
|
61
|
+
- add payment method api
|
62
|
+
- add product api
|
63
|
+
- add product custom field api
|
64
|
+
- add redirect api
|
65
|
+
- add shipping method api
|
66
|
+
- add store api (store information)
|
67
|
+
- add system api (time)
|
68
|
+
- add tax class api
|
69
|
+
- add web hook api
|
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,180 @@
|
|
1
|
+
bigcommerce-oauth-api
|
2
|
+
==========================
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/bigcommerce-oauth-api.svg)](http://badge.fury.io/rb/bigcommerce-oauth-api)
|
4
|
+
[![Code Climate](https://codeclimate.com/github/corthmann/bigcommerce-oauth-api/badges/gpa.svg)](https://codeclimate.com/github/corthmann/bigcommerce-oauth-api)
|
5
|
+
[![Test Coverage](https://codeclimate.com/github/corthmann/bigcommerce-oauth-api/badges/coverage.svg)](https://codeclimate.com/github/corthmann/bigcommerce-oauth-api)
|
6
|
+
[![Dependency Status](https://gemnasium.com/corthmann/bigcommerce-oauth-api.svg)](https://gemnasium.com/corthmann/bigcommerce-oauth-api)
|
7
|
+
|
8
|
+
This gem provides a wrapper for the Bigcommerce REST API.
|
9
|
+
|
10
|
+
Installation
|
11
|
+
-------------
|
12
|
+
You can install this gem by using the following command:
|
13
|
+
```
|
14
|
+
gem install bigcommerce-oauth-api
|
15
|
+
```
|
16
|
+
or by adding the the following line to your Gemfile.
|
17
|
+
```
|
18
|
+
gem 'bigcommerce-oauth-api'
|
19
|
+
```
|
20
|
+
|
21
|
+
Configuration
|
22
|
+
-------------
|
23
|
+
The gem can be configured in two ways. Either by initializing the API with certain options.
|
24
|
+
```
|
25
|
+
BigcommerceOAuthAPI.configuration do |config|
|
26
|
+
config.store_hash = 'YOU STORE ID'
|
27
|
+
config.client_id = 'YOUR CLIENT ID'
|
28
|
+
config.access_token = 'YOUR OAUTH ACCESS TOKEN'
|
29
|
+
end
|
30
|
+
```
|
31
|
+
|
32
|
+
Or by passing options to a new client instance.
|
33
|
+
```
|
34
|
+
api = BigcommerceOAuthAPI::Client.new(
|
35
|
+
:store_hash => 'YOUR STORE ID',
|
36
|
+
:config.client_id => 'YOUR CLIENT ID',
|
37
|
+
:config.access_token => 'YOUR OAUTH ACCESS TOKEN'
|
38
|
+
)
|
39
|
+
```
|
40
|
+
|
41
|
+
Using the API
|
42
|
+
-------------
|
43
|
+
Get a list of products:
|
44
|
+
```
|
45
|
+
products = api.products
|
46
|
+
```
|
47
|
+
Get orders with order_id >= 100
|
48
|
+
```
|
49
|
+
orders = api.orders({ min_id: 100 })
|
50
|
+
```
|
51
|
+
Get the order with id = 101
|
52
|
+
```
|
53
|
+
order = api.order(101)
|
54
|
+
```
|
55
|
+
All resource attributes can be accessed both using methods or as a hash with keys as either strings or keys.
|
56
|
+
```
|
57
|
+
# each of the following lines return the first name listed in the order billing address
|
58
|
+
order.billing_address.first_name
|
59
|
+
order['billing_address']['first_name']
|
60
|
+
order[:billing_address][:first_name]
|
61
|
+
```
|
62
|
+
Update the name of a customer
|
63
|
+
```
|
64
|
+
customer = api.update_customer(101, {first_name: 'Christian'})
|
65
|
+
```
|
66
|
+
Delete an order shipment
|
67
|
+
```
|
68
|
+
order_id = 101
|
69
|
+
shipment_id = 1000
|
70
|
+
api.delete_order_shipment(order_id, shipment_id)
|
71
|
+
```
|
72
|
+
Webhooks
|
73
|
+
-------------
|
74
|
+
In many applications it is an advantage to receive a callback on events rather than polling information. Such callbacks are commonly called webhooks.
|
75
|
+
|
76
|
+
The Bigcommerce API allows you to create webhooks for events you want to respond to - for instance every time an order is created.
|
77
|
+
```
|
78
|
+
# more information on: https://developer.bigcommerce.com/api/webhooks-getting-started
|
79
|
+
new_hook = {
|
80
|
+
scope: "store/order/created",
|
81
|
+
destination: "https://app.example.com/order-callback",
|
82
|
+
is_active: true
|
83
|
+
}
|
84
|
+
hook = api.create_hook(new_hook)
|
85
|
+
```
|
86
|
+
After creating the webhook as shown above a callback (POST) will be sent to 'https://app.example.com/order-callback' every time an order is created.
|
87
|
+
|
88
|
+
The API also allows you to mange hooks like so:
|
89
|
+
```
|
90
|
+
# get a list of the webhooks
|
91
|
+
hooks = api.hooks
|
92
|
+
# get the webhook with id = 1234
|
93
|
+
hook_id = 1234
|
94
|
+
hook = api.hook(hook_id)
|
95
|
+
# delete the webhook with id = 1234
|
96
|
+
api.delete_hook(hook_id)
|
97
|
+
```
|
98
|
+
|
99
|
+
API Support
|
100
|
+
-------------
|
101
|
+
The following APIs are currently supported:
|
102
|
+
|
103
|
+
API | Included from
|
104
|
+
--- | ---
|
105
|
+
blog post | 1.0.2
|
106
|
+
blog tag | 1.0.2
|
107
|
+
brand api | 1.1.0
|
108
|
+
bulk pricing (discount rules) | 1.1.0
|
109
|
+
category | 1.1.0
|
110
|
+
customer api | 1.0.2
|
111
|
+
customer address | 1.0.2
|
112
|
+
customer group | 1.0.2
|
113
|
+
geography country | 1.0.2
|
114
|
+
geography state | 1.0.2
|
115
|
+
marketing coupon | 1.0.2
|
116
|
+
option | 1.1.0
|
117
|
+
option set | 1.1.0
|
118
|
+
option set option | 1.1.0
|
119
|
+
option set value | 1.1.0
|
120
|
+
order | 1.0.2
|
121
|
+
order message | 1.0.2
|
122
|
+
order product | 1.0.2
|
123
|
+
order shipment | 1.0.2
|
124
|
+
order shipping address | 1.0.2
|
125
|
+
payment method | 1.0.2
|
126
|
+
product | 1.0.2
|
127
|
+
product configurable field | 1.1.0
|
128
|
+
product custom field | 1.0.2
|
129
|
+
product googleproductsearch | 1.1.0
|
130
|
+
product image | 1.1.0
|
131
|
+
product option | 1.1.0
|
132
|
+
product review | 1.1.0
|
133
|
+
product rules | 1.1.0
|
134
|
+
product video | 1.1.0
|
135
|
+
product SKU | 1.1.0
|
136
|
+
redirect | 1.0.2
|
137
|
+
shipping method api | 1.0.2
|
138
|
+
store information | 1.0.2
|
139
|
+
system (time) | 1.0.2
|
140
|
+
tax class | 1.0.2
|
141
|
+
web hook | 1.0.2
|
142
|
+
|
143
|
+
Getting an OAuth Access Token
|
144
|
+
-------------
|
145
|
+
Currently the Bigcommerce API is only focused on making the OAuth API available for 3rd party development through Apps.
|
146
|
+
This is quite frustrating especially if you want to use the API to make custom integrations for your webshop.
|
147
|
+
|
148
|
+
However, it is actually possible to aquire access tokens without publishing an App for Bigcommerce.
|
149
|
+
|
150
|
+
1. Go to http://developer.bigcommerce.com
|
151
|
+
|
152
|
+
2. Login with the same user as the webshop you want to create a token for.
|
153
|
+
|
154
|
+
3. Go to "My Apps" and create dummy app (maybe call it "Authentication App")
|
155
|
+
|
156
|
+
4. Select the APIs you need and set the Auth Callback Url.
|
157
|
+
* This needs to be a HTTPS Url where you can read incomming GET request
|
158
|
+
|
159
|
+
5. Go to your webshop and click on "Apps"
|
160
|
+
|
161
|
+
6. Select the tab "My Drafts" (which should contain your "Authentication App")
|
162
|
+
|
163
|
+
7. Install the "Authentication App" in your webshop.
|
164
|
+
* This triggers a callback to your "Auth Callback Url" where you receive a code which can be exchanged for a token.
|
165
|
+
|
166
|
+
8. Send a POST request containing the following parameters (to https://login.bigcommerce.com/oauth2/token):
|
167
|
+
* client_id (can be found under "My Apps" at developer.bigcommerce.com
|
168
|
+
* client_secret (can be found under "My Apps" at developer.bigcommerce.com
|
169
|
+
* code (is received in the "Auth Callback")
|
170
|
+
* scope (is received in the "Auth Callback")
|
171
|
+
* grant_type (is always authorization_code)
|
172
|
+
* redirect_uri (your "Auth Callback Url")
|
173
|
+
* context (is "stores/{your store hash / id}")
|
174
|
+
|
175
|
+
9. Done! The response returns your OAuth Access Token.
|
176
|
+
|
177
|
+
If you are experiencing problems with the POST call try using the folllowing curl command
|
178
|
+
```
|
179
|
+
curl --data "[YOUR POST PARAMETERS]" https://login.bigcommerce.com/oauth2/token
|
180
|
+
```
|
data/Rakefile
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
require File.expand_path('../lib/bigcommerce-oauth-api/version', __FILE__)
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = 'bigcommerce-oauth-api'
|
5
|
+
s.version = BigcommerceOAuthAPI::VERSION.dup
|
6
|
+
s.date = '2014-11-04'
|
7
|
+
s.summary = "Ruby wrapper for the Bigcommerce REST API using OAuth"
|
8
|
+
s.description = "Connect Ruby applications with the Bigcommerce REST API using OAuth"
|
9
|
+
s.authors = ["Christian Orthmann"]
|
10
|
+
s.email = 'christian.orthmann@gmail.com'
|
11
|
+
s.require_path = 'lib'
|
12
|
+
s.files = `git ls-files`.split("\n") - %w(.rvmrc .gitignore)
|
13
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n") - %w(.rvmrc .gitignore)
|
14
|
+
s.homepage = 'http://rubygems.org/gems/bigcommerce-oauth-api'
|
15
|
+
s.license = 'MIT'
|
16
|
+
|
17
|
+
s.add_development_dependency('rake', '~> 10')
|
18
|
+
s.add_development_dependency('rspec', '~> 3')
|
19
|
+
s.add_development_dependency('webmock', '~> 1')
|
20
|
+
s.add_development_dependency('simplecov', '~> 0')
|
21
|
+
s.add_development_dependency('simplecov-rcov', '~> 0')
|
22
|
+
s.add_runtime_dependency('faraday', '~> 0')
|
23
|
+
s.add_runtime_dependency('faraday_middleware', '~> 0')
|
24
|
+
s.add_runtime_dependency('activesupport', '>= 3.0.0', '< 5.0.0')
|
25
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'bigcommerce-oauth-api/configuration'
|
2
|
+
require 'bigcommerce-oauth-api/client'
|
3
|
+
require 'bigcommerce-oauth-api/api'
|
4
|
+
require 'bigcommerce-oauth-api/client'
|
5
|
+
require 'bigcommerce-oauth-api/error'
|
6
|
+
require 'bigcommerce-oauth-api/resource'
|
7
|
+
|
8
|
+
module BigcommerceOAuthAPI
|
9
|
+
extend Configuration
|
10
|
+
|
11
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'bigcommerce-oauth-api/connection'
|
2
|
+
require 'bigcommerce-oauth-api/request'
|
3
|
+
require 'bigcommerce-oauth-api/base'
|
4
|
+
|
5
|
+
module BigcommerceOAuthAPI
|
6
|
+
class API < Base
|
7
|
+
attr_accessor *Configuration::VALID_OPTIONS_KEYS
|
8
|
+
|
9
|
+
def initialize(options = {})
|
10
|
+
merged_options = BigcommerceOAuthAPI.options.merge(options)
|
11
|
+
|
12
|
+
Configuration::VALID_OPTIONS_KEYS.each do |key|
|
13
|
+
send("#{key}=", merged_options[key])
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def config
|
18
|
+
conf = {}
|
19
|
+
Configuration::VALID_OPTIONS_KEYS.each do |key|
|
20
|
+
conf[key] = send(key)
|
21
|
+
end
|
22
|
+
conf
|
23
|
+
end
|
24
|
+
|
25
|
+
include Connection
|
26
|
+
include Request
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
require 'active_support/inflector'
|
2
|
+
require 'bigcommerce-oauth-api/error'
|
3
|
+
|
4
|
+
module BigcommerceOAuthAPI
|
5
|
+
class Base
|
6
|
+
|
7
|
+
protected
|
8
|
+
|
9
|
+
def self.with_api_methods(map)
|
10
|
+
map.each do |api, method_description|
|
11
|
+
api_module = method_description[:api_module]
|
12
|
+
api_scope = method_description[:scope]
|
13
|
+
path_prefix = (method_description.has_key?(:prefix_paths) ? "#{method_description[:prefix_paths]}/" : nil)
|
14
|
+
method_prefix = (method_description.has_key?(:prefix_methods) ? "#{method_description[:prefix_methods]}_" : nil)
|
15
|
+
method_description[:methods].each do |method|
|
16
|
+
with_action(method, api_module, api_scope, path_prefix, method_prefix)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.with_action(method, api_module, api_scope, path_prefix = nil, method_prefix = nil)
|
22
|
+
is_nested = api_scope != :self
|
23
|
+
method_name, method_params, has_options = get_method_name_and_params(method, api_module, api_scope, is_nested, method_prefix)
|
24
|
+
method_path = get_method_path(method, api_module, api_scope, is_nested)
|
25
|
+
request_method = get_request_method(method)
|
26
|
+
|
27
|
+
# Ensure that existing methods never are overwritten
|
28
|
+
# Raise an error if it is attempted
|
29
|
+
if self.method_defined?(:"#{method_name}")
|
30
|
+
raise MethodAlreadyDefinedError.new("Method already defined: '#{method_name}'")
|
31
|
+
end
|
32
|
+
|
33
|
+
class_eval %Q{
|
34
|
+
def #{method_name}#{method_params}
|
35
|
+
#{request_method}("#{path_prefix}#{method_path}"#{( has_options ? ', options' : '')})
|
36
|
+
end
|
37
|
+
}
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.get_method_name_and_params(method, api_module, api_scope, is_nested = false, method_prefix = nil)
|
41
|
+
base = (is_nested ? "#{method_prefix}#{api_scope}_#{api_module}": "#{method_prefix}#{api_module}").to_s
|
42
|
+
params_base = "(#{(is_nested ? "#{api_scope}_id, ": '')}"
|
43
|
+
has_options = method != :delete
|
44
|
+
case method
|
45
|
+
when :all
|
46
|
+
return base.pluralize, "#{params_base}options = {})", has_options
|
47
|
+
when :count
|
48
|
+
return "#{base.pluralize}_count", "#{params_base}options = {})", has_options
|
49
|
+
when :select
|
50
|
+
return base, "#{params_base}id, options = {})", has_options
|
51
|
+
when :create
|
52
|
+
return "#{method}_#{base}", "#{params_base}options = {})", has_options
|
53
|
+
when :update
|
54
|
+
return "#{method}_#{base}", "#{params_base}id, options = {})", has_options
|
55
|
+
when :delete
|
56
|
+
return "#{method}_#{base}", "#{params_base}id)", has_options
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.get_method_path(method, api_module, api_scope, is_nested = false)
|
61
|
+
base = (is_nested ? "#{api_scope.to_s.pluralize}/\#{#{api_scope}_id}/#{api_module}": api_module).to_s.pluralize
|
62
|
+
case method
|
63
|
+
when :all, :create
|
64
|
+
return base
|
65
|
+
when :count
|
66
|
+
return "#{base}/count"
|
67
|
+
when :select, :update, :delete
|
68
|
+
return "#{base}/\#{id}"
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
def self.get_request_method(method)
|
73
|
+
case method
|
74
|
+
when :all, :count, :select
|
75
|
+
return :get
|
76
|
+
when :create
|
77
|
+
return :post
|
78
|
+
when :update
|
79
|
+
return :put
|
80
|
+
when :delete
|
81
|
+
return :delete
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'bigcommerce-oauth-api/api'
|
2
|
+
|
3
|
+
module BigcommerceOAuthAPI
|
4
|
+
class Client < API
|
5
|
+
|
6
|
+
##
|
7
|
+
# get server time
|
8
|
+
def time
|
9
|
+
get('time')
|
10
|
+
end
|
11
|
+
|
12
|
+
##
|
13
|
+
# get basic store information
|
14
|
+
def store_information
|
15
|
+
get('store')
|
16
|
+
end
|
17
|
+
|
18
|
+
##
|
19
|
+
# Gets the Google Product Search mappings for a product.
|
20
|
+
def product_googleproductsearch(product_id, options = {})
|
21
|
+
get("products/#{product_id}/googleproductsearch", options)
|
22
|
+
end
|
23
|
+
|
24
|
+
with_api_methods :blog_post => { api_module: :post, scope: :self, methods: [:all, :select, :create, :update, :delete], prefix_paths: 'blog', prefix_methods: 'blog'},
|
25
|
+
:blog_tag => { api_module: :tag, scope: :self, methods: [:all], prefix_paths: 'blog', prefix_methods: 'blog'},
|
26
|
+
:brand => { api_module: :brand, scope: :self, methods: [:all, :select, :create, :update, :delete]},
|
27
|
+
:category => { api_module: :category, scope: :self, methods: [:all, :select, :create, :update, :delete]},
|
28
|
+
:customer => { api_module: :customer, scope: :self, methods: [:all, :select, :create, :update, :delete, :count]},
|
29
|
+
:customer_address => { api_module: :address, scope: :customer, methods: [:all, :select, :create, :update, :delete]},
|
30
|
+
:customer_group => { api_module: :customer_group, scope: :self, methods: [:all, :select, :create, :update, :delete]},
|
31
|
+
:geography_country => { api_module: :country, scope: :self, methods: [:all, :select]},
|
32
|
+
:geography_state => { api_module: :state, scope: :self, methods: [:all, :select]},
|
33
|
+
:marketing_coupons => { api_module: :coupon, scope: :self, methods: [:all, :select, :create, :update, :delete]},
|
34
|
+
:option => { api_module: :option, scope: :self, methods: [:all, :select, :create, :update, :delete]},
|
35
|
+
:option_set => { api_module: :option_set, scope: :self, methods: [:all, :select, :create, :update, :delete]},
|
36
|
+
:option_set_option => { api_module: :option, scope: :option_set, methods: [:all, :select, :create, :update, :delete]},
|
37
|
+
:option_set_value => { api_module: :value, scope: :option_set, methods: [:all, :select, :create, :update, :delete]},
|
38
|
+
:order => { api_module: :order, scope: :self, methods: [:all, :select, :create, :update, :delete, :count]},
|
39
|
+
:order_message => { api_module: :message, scope: :order, methods: [:all, :select]},
|
40
|
+
:order_product => { api_module: :product, scope: :order, methods: [:all, :select]},
|
41
|
+
:order_shipment => { api_module: :shipment, scope: :order, methods: [:all, :select, :create, :update, :delete]},
|
42
|
+
:order_shipping_address => { api_module: :shipping_address, scope: :order, methods: [:all, :select]},
|
43
|
+
:payment_method => { api_module: :method, scope: :self, methods: [:all], prefix_paths: 'payments', prefix_methods: 'payment'},
|
44
|
+
:product => { api_module: :product, scope: :self, methods: [:all, :select, :create, :update, :delete, :count]},
|
45
|
+
:product_custom_field => { api_module: :custom_field, scope: :product, methods: [:all, :select, :create, :update, :delete]},
|
46
|
+
:product_discount_rule => { api_module: :discount_rule, scope: :product, methods: [:all, :select, :create, :update, :delete]},
|
47
|
+
:product_configurable_field => { api_module: :configurable_field, scope: :product, methods: [:all, :select, :delete]},
|
48
|
+
:product_image => { api_module: :image, scope: :product, methods: [:all, :select, :create, :update, :delete]},
|
49
|
+
:product_option => { api_module: :option, scope: :product, methods: [:all, :select]},
|
50
|
+
:product_review => { api_module: :review, scope: :product, methods: [:all]},
|
51
|
+
:product_rule => { api_module: :rule, scope: :product, methods: [:all, :select, :create, :update, :delete]},
|
52
|
+
:product_video => { api_module: :video, scope: :product, methods: [:all, :select, :create, :update, :delete]},
|
53
|
+
:product_sku => { api_module: :sku, scope: :product, methods: [:all, :select, :create, :update, :delete]},
|
54
|
+
:redirect => { api_module: :redirect, scope: :self, methods: [:all, :select, :create, :update, :delete]},
|
55
|
+
:shipping_method => { api_module: :method, scope: :self, methods: [:all, :select], prefix_paths: 'shipping', prefix_methods: 'shipping'},
|
56
|
+
:tax_class => { api_module: :tax_class, scope: :self, methods: [:all, :select]},
|
57
|
+
:web_hook => { api_module: :hook, scope: :self, methods: [:all, :select, :create, :update, :delete]}
|
58
|
+
|
59
|
+
end
|
60
|
+
end
|