bigcommerce-oauth-api 1.4.0 → 1.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/README.md +42 -80
- data/bigcommerce-oauth-api.gemspec +1 -1
- data/lib/bigcommerce-oauth-api/client.rb +52 -12
- data/lib/bigcommerce-oauth-api/version.rb +1 -1
- data/spec/bigcommerce_oauth_api/client/client_module_spec.rb +1 -1
- data/spec/bigcommerce_oauth_api/client/client_nested_module_spec.rb +1 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ba098105b05e84a8943eb2bdea8c55f535a6d79
|
4
|
+
data.tar.gz: 39b16841f846996dec05b66059de51c5ac0b2ac5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a577194ff7933ebc652065cde142d1ea163a42beff6453fb5d3f2437fafffe350396944068ad6a353df024a342846da24084c3865e05c3bbdaa0b18e3dba732
|
7
|
+
data.tar.gz: deb9bc17ce5806bc6425d3c21c862d187942b369a09ade027f390d23e8cf10053aa34705f9cd4a2492492ba419d57964012beb9f3926960312454c7411dead08
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -122,84 +122,46 @@ The following APIs are currently supported:
|
|
122
122
|
|
123
123
|
API | Gem Version | Official Documentation
|
124
124
|
--- | --- | ---
|
125
|
-
blog post | 1.0.2 | https://developer.bigcommerce.com/api/
|
126
|
-
blog tag | 1.0.2 | https://developer.bigcommerce.com/api/
|
127
|
-
brand api | 1.1.0 | https://developer.bigcommerce.com/api/
|
128
|
-
bulk pricing (discount rules) | 1.1.0 | https://developer.bigcommerce.com/api/
|
129
|
-
category | 1.1.0 | https://developer.bigcommerce.com/api/
|
130
|
-
customer api | 1.0.2 | https://developer.bigcommerce.com/api/
|
131
|
-
customer address | 1.0.2 | https://developer.bigcommerce.com/api/
|
132
|
-
customer group | 1.0.2 | https://developer.bigcommerce.com/api/
|
133
|
-
geography country | 1.0.2 | https://developer.bigcommerce.com/api/
|
134
|
-
geography state | 1.0.2 | https://developer.bigcommerce.com/api/
|
135
|
-
marketing banner | 1.4.0 | https://developer.bigcommerce.com/api/
|
136
|
-
marketing coupon | 1.0.2 | https://developer.bigcommerce.com/api/
|
137
|
-
marketing gift certificate | 1.4.0 | https://developer.bigcommerce.com/api/
|
138
|
-
option | 1.1.0 | https://developer.bigcommerce.com/api/
|
139
|
-
option set | 1.1.0 | https://developer.bigcommerce.com/api/
|
140
|
-
option set option | 1.1.0 | https://developer.bigcommerce.com/api/
|
141
|
-
option value | 1.2.0 | https://developer.bigcommerce.com/api/
|
142
|
-
order | 1.0.2 | https://developer.bigcommerce.com/api/
|
143
|
-
order coupon | 1.2.0 | https://developer.bigcommerce.com/api/
|
144
|
-
order message | 1.0.2 | https://developer.bigcommerce.com/api/
|
145
|
-
order product | 1.0.2 | https://developer.bigcommerce.com/api/
|
146
|
-
order shipment | 1.0.2 | https://developer.bigcommerce.com/api/
|
147
|
-
order shipping address | 1.0.2 | https://developer.bigcommerce.com/api/
|
125
|
+
blog post | 1.0.2 | https://developer.bigcommerce.com/api/v2/#blog-posts
|
126
|
+
blog tag | 1.0.2 | https://developer.bigcommerce.com/api/v2/#blog-tags
|
127
|
+
brand api | 1.1.0 | https://developer.bigcommerce.com/api/v2/#brands
|
128
|
+
bulk pricing (discount rules) | 1.1.0 | https://developer.bigcommerce.com/api/v2/#bulk-pricing
|
129
|
+
category | 1.1.0 | https://developer.bigcommerce.com/api/v2/#categories
|
130
|
+
customer api | 1.0.2 | https://developer.bigcommerce.com/api/v2/#customers-2
|
131
|
+
customer address | 1.0.2 | https://developer.bigcommerce.com/api/v2/#customer-addresses
|
132
|
+
customer group | 1.0.2 | https://developer.bigcommerce.com/api/v2/#customer-groups
|
133
|
+
geography country | 1.0.2 | https://developer.bigcommerce.com/api/v2/#countries
|
134
|
+
geography state | 1.0.2 | https://developer.bigcommerce.com/api/v2/#states
|
135
|
+
marketing banner | 1.4.0 | https://developer.bigcommerce.com/api/v2/#banners
|
136
|
+
marketing coupon | 1.0.2 | https://developer.bigcommerce.com/api/v2/#coupons
|
137
|
+
marketing gift certificate | 1.4.0 | https://developer.bigcommerce.com/api/v2/#gift-certificates
|
138
|
+
option | 1.1.0 | https://developer.bigcommerce.com/api/v2/#options
|
139
|
+
option set | 1.1.0 | https://developer.bigcommerce.com/api/v2/#option-sets
|
140
|
+
option set option | 1.1.0 | https://developer.bigcommerce.com/api/v2/#option-set-options
|
141
|
+
option value | 1.2.0 | https://developer.bigcommerce.com/api/v2/#option-values
|
142
|
+
order | 1.0.2 | https://developer.bigcommerce.com/api/v2/#orders-2
|
143
|
+
order coupon | 1.2.0 | https://developer.bigcommerce.com/api/v2/#order-coupons
|
144
|
+
order message | 1.0.2 | https://developer.bigcommerce.com/api/v2/#order-messages
|
145
|
+
order product | 1.0.2 | https://developer.bigcommerce.com/api/v2/#order-products-2
|
146
|
+
order shipment | 1.0.2 | https://developer.bigcommerce.com/api/v2/#shipments
|
147
|
+
order shipping address | 1.0.2 | https://developer.bigcommerce.com/api/v2/#order-shipping-addresses
|
148
148
|
order statuses | 1.2.0 | https://developer.bigcommerce.com/api/stores/v2/order_statuses
|
149
|
-
order tax | 1.2.0 | https://developer.bigcommerce.com/api/
|
150
|
-
payment method | 1.0.2 | https://developer.bigcommerce.com/api/
|
151
|
-
product | 1.0.2 | https://developer.bigcommerce.com/api/
|
152
|
-
product configurable field | 1.1.0 | https://developer.bigcommerce.com/api/
|
153
|
-
product custom field | 1.0.2 | https://developer.bigcommerce.com/api/
|
154
|
-
product googleproductsearch | 1.1.0 | https://developer.bigcommerce.com/api/
|
155
|
-
product image | 1.1.0 | https://developer.bigcommerce.com/api/
|
156
|
-
product option | 1.1.0 | https://developer.bigcommerce.com/api/
|
157
|
-
product review | 1.1.0 | https://developer.bigcommerce.com/api/
|
158
|
-
product rules | 1.1.0 | https://developer.bigcommerce.com/api/
|
159
|
-
product video | 1.1.0 | https://developer.bigcommerce.com/api/
|
160
|
-
product SKU | 1.1.0 | https://developer.bigcommerce.com/api/
|
161
|
-
redirect | 1.0.2 | https://developer.bigcommerce.com/api/
|
162
|
-
shipping method api | 1.0.2 | https://developer.bigcommerce.com/api/
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
Getting an OAuth Access Token
|
169
|
-
-------------
|
170
|
-
The Bigcommerce API focused on making OAuth available for 3rd party development through Apps.
|
171
|
-
Bigcommerce currently recommends using basic authentication when developing custom (private) integrations for your webshop.
|
172
|
-
|
173
|
-
However, it is actually possible to aquire access tokens without publishing an App for Bigcommerce by following these steps:
|
174
|
-
|
175
|
-
1. Go to http://developer.bigcommerce.com
|
176
|
-
|
177
|
-
2. Login with the same user as the webshop you want to create a token for.
|
178
|
-
|
179
|
-
3. Go to "My Apps" and create dummy app (maybe call it "Authentication App")
|
180
|
-
|
181
|
-
4. Select the APIs you need and set the Auth Callback Url.
|
182
|
-
* This needs to be a HTTPS Url where you can read incomming GET request
|
183
|
-
|
184
|
-
5. Go to your webshop and click on "Apps"
|
185
|
-
|
186
|
-
6. Select the tab "My Drafts" (which should contain your "Authentication App")
|
187
|
-
|
188
|
-
7. Install the "Authentication App" in your webshop.
|
189
|
-
* This triggers a callback to your "Auth Callback Url" where you receive a code which can be exchanged for a token.
|
190
|
-
|
191
|
-
8. Send a POST request containing the following parameters (to https://login.bigcommerce.com/oauth2/token):
|
192
|
-
* client_id (can be found under "My Apps" at developer.bigcommerce.com
|
193
|
-
* client_secret (can be found under "My Apps" at developer.bigcommerce.com
|
194
|
-
* code (is received in the "Auth Callback")
|
195
|
-
* scope (is received in the "Auth Callback")
|
196
|
-
* grant_type (is always authorization_code)
|
197
|
-
* redirect_uri (your "Auth Callback Url")
|
198
|
-
* context (is "stores/{your store hash / id}")
|
199
|
-
|
200
|
-
9. Done! The response returns your OAuth Access Token.
|
201
|
-
|
202
|
-
If you are experiencing problems with the POST call try using the folllowing curl command
|
203
|
-
```
|
204
|
-
curl --data "[YOUR POST PARAMETERS]" https://login.bigcommerce.com/oauth2/token
|
205
|
-
```
|
149
|
+
order tax | 1.2.0 | https://developer.bigcommerce.com/api/v2/#order-taxes
|
150
|
+
payment method | 1.0.2 | https://developer.bigcommerce.com/api/v2/#payment-methods
|
151
|
+
product | 1.0.2 | https://developer.bigcommerce.com/api/v2/#products
|
152
|
+
product configurable field | 1.1.0 | https://developer.bigcommerce.com/api/v2/#configurable-fields
|
153
|
+
product custom field | 1.0.2 | https://developer.bigcommerce.com/api/v2/#custom-fields
|
154
|
+
product googleproductsearch | 1.1.0 | https://developer.bigcommerce.com/api/v2/#google-product-search-mapping-object-properties
|
155
|
+
product image | 1.1.0 | https://developer.bigcommerce.com/api/v2/#product-images
|
156
|
+
product option | 1.1.0 | https://developer.bigcommerce.com/api/v2/#product-options
|
157
|
+
product review | 1.1.0 | https://developer.bigcommerce.com/api/v2/#product-reviews
|
158
|
+
product rules | 1.1.0 | https://developer.bigcommerce.com/api/v2/#product-rules
|
159
|
+
product video | 1.1.0 | https://developer.bigcommerce.com/api/v2/#videos
|
160
|
+
product SKU | 1.1.0 | https://developer.bigcommerce.com/api/v2/#skus
|
161
|
+
redirect | 1.0.2 | https://developer.bigcommerce.com/api/v2/#redirects
|
162
|
+
shipping method api | 1.0.2 | https://developer.bigcommerce.com/api/v2/#shipping-methods-reference
|
163
|
+
shipping zone api | 1.4.1 | https://developer.bigcommerce.com/api/v2/#shipping-zones-reference
|
164
|
+
store information | 1.0.2 | hhttps://developer.bigcommerce.com/api/v2/#store-information-reference
|
165
|
+
system (time) | 1.0.2 | https://developer.bigcommerce.com/api/v2/#system-reference
|
166
|
+
tax class | 1.0.2 | https://developer.bigcommerce.com/api/v2/#tax-class-reference
|
167
|
+
web hook | 1.0.2 | https://developer.bigcommerce.com/api/#webhook-object-properties
|
@@ -3,7 +3,7 @@ require File.expand_path('../lib/bigcommerce-oauth-api/version', __FILE__)
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = 'bigcommerce-oauth-api'
|
5
5
|
s.version = BigcommerceOAuthAPI::VERSION.dup
|
6
|
-
s.date = '
|
6
|
+
s.date = '2017-06-25'
|
7
7
|
s.summary = "Ruby client library for Bigcommerce APIs with OAuth and basic authentication support"
|
8
8
|
s.description = "Connect Ruby applications to Bigcommerce APIs through OAuth or basic authentication"
|
9
9
|
s.authors = ["Christian Orthmann"]
|
@@ -57,34 +57,35 @@ module BigcommerceOAuthAPI
|
|
57
57
|
:product_video => { api_module: :video, scope: :product, methods: [:all, :select, :create, :update, :delete, :count]},
|
58
58
|
:product_sku => { api_module: :sku, scope: :product, methods: [:all, :select, :create, :update, :delete, :count]},
|
59
59
|
:redirect => { api_module: :redirect, scope: :self, methods: [:all, :select, :create, :update, :delete, :count]},
|
60
|
-
:shipping_method => { api_module: :method, scope: :
|
60
|
+
:shipping_method => { api_module: :method, scope: :zone, methods: [:all, :select, :create, :update, :delete], prefix_paths: 'shipping', prefix_methods: 'shipping'},
|
61
|
+
:shipping_zones => { api_module: :zone, scope: :self, methods: [:all, :select, :create, :update, :delete], prefix_paths: 'shipping', prefix_methods: 'shipping'},
|
61
62
|
:tax_class => { api_module: :tax_class, scope: :self, methods: [:all, :select]},
|
62
63
|
:web_hook => { api_module: :hook, scope: :self, methods: [:all, :select, :create, :update, :delete], legacy: false }
|
63
64
|
|
64
65
|
# @!method blog_posts(options = {})
|
65
66
|
# @param [Hash] options the filters for the posts
|
66
|
-
# gets a list of posts
|
67
|
+
# gets a list of blog posts
|
67
68
|
|
68
69
|
# @!method blog_post(id, options = {})
|
69
70
|
# @param [Integer] id the identifier for the post
|
70
|
-
# gets the post with the given id
|
71
|
+
# gets the blog post with the given id
|
71
72
|
|
72
73
|
# @!method create_blog_post(options = {})
|
73
74
|
# @param [Hash] options the attributes for the post
|
74
|
-
# creates a post with the given attributes
|
75
|
+
# creates a blog post with the given attributes
|
75
76
|
|
76
77
|
# @!method update_blog_post(id, options = {})
|
77
78
|
# @param [Integer] id the identifier for the post
|
78
79
|
# @param [Hash] options the attributes for the post
|
79
|
-
# updates the attributes of the post with the given id
|
80
|
+
# updates the attributes of the blog post with the given id
|
80
81
|
|
81
82
|
# @!method delete_blog_post(id)
|
82
83
|
# @param [Integer] id the identifier for the post
|
83
|
-
# deletes the post with the given id
|
84
|
+
# deletes the blog post with the given id
|
84
85
|
|
85
86
|
# @!method blog_tags(options = {})
|
86
87
|
# @param [Hash] options the filters for the tags
|
87
|
-
# gets a list of tags
|
88
|
+
# gets a list of blog tags
|
88
89
|
|
89
90
|
# @!method brands(options = {})
|
90
91
|
# @param [Hash] options the filters for the brands
|
@@ -516,7 +517,7 @@ module BigcommerceOAuthAPI
|
|
516
517
|
|
517
518
|
# @!method payment_methods(options = {})
|
518
519
|
# @param [Hash] options the filters for the methods
|
519
|
-
# gets a list of methods
|
520
|
+
# gets a list of payment methods
|
520
521
|
|
521
522
|
# @!method products(options = {})
|
522
523
|
# @param [Hash] options the filters for the products
|
@@ -784,13 +785,52 @@ module BigcommerceOAuthAPI
|
|
784
785
|
# @param [Hash] options the filters for the redirects
|
785
786
|
# returns the number of redirects
|
786
787
|
|
787
|
-
# @!method
|
788
|
+
# @!method shipping_zone_methods(zone_id, options = {})
|
789
|
+
# @param [Integer] zone_id the identifier for the zone
|
788
790
|
# @param [Hash] options the filters for the methods
|
789
|
-
# gets a list of methods
|
791
|
+
# gets a list of shipping methods for the given shipping zone
|
790
792
|
|
791
|
-
# @!method
|
793
|
+
# @!method shipping_zone_method(zone_id, id, options = {})
|
794
|
+
# @param [Integer] zone_id the identifier for the zone
|
792
795
|
# @param [Integer] id the identifier for the method
|
793
|
-
# gets the method with the given id
|
796
|
+
# gets the shipping method with the given id for the given shipping zone
|
797
|
+
|
798
|
+
# @!method create_shipping_zone_method(zone_id, options = {})
|
799
|
+
# @param [Integer] zone_id the identifier for the zone
|
800
|
+
# @param [Hash] options the attributes for the method
|
801
|
+
# creates a shipping method with the given attributes for the given shipping zone
|
802
|
+
|
803
|
+
# @!method update_shipping_zone_method(zone_id, id, options = {})
|
804
|
+
# @param [Integer] zone_id the identifier for the zone
|
805
|
+
# @param [Integer] id the identifier for the method
|
806
|
+
# @param [Hash] options the attributes for the method
|
807
|
+
# updates the attributes of the shipping method with the given id for the given shipping zone
|
808
|
+
|
809
|
+
# @!method delete_shipping_zone_method(zone_id, id)
|
810
|
+
# @param [Integer] zone_id the identifier for the zone
|
811
|
+
# @param [Integer] id the identifier for the method
|
812
|
+
# deletes the shipping method with the given id for the given shipping zone
|
813
|
+
|
814
|
+
# @!method shipping_zones(options = {})
|
815
|
+
# @param [Hash] options the filters for the zones
|
816
|
+
# gets a list of shipping zones
|
817
|
+
|
818
|
+
# @!method shipping_zone(id, options = {})
|
819
|
+
# @param [Integer] id the identifier for the zone
|
820
|
+
# gets the shipping zone with the given id
|
821
|
+
|
822
|
+
# @!method create_shipping_zone(options = {})
|
823
|
+
# @param [Hash] options the attributes for the zone
|
824
|
+
# creates a shipping zone with the given attributes
|
825
|
+
|
826
|
+
# @!method update_shipping_zone(id, options = {})
|
827
|
+
# @param [Integer] id the identifier for the zone
|
828
|
+
# @param [Hash] options the attributes for the zone
|
829
|
+
# updates the attributes of the shipping zone with the given id
|
830
|
+
|
831
|
+
# @!method delete_shipping_zone(id)
|
832
|
+
# @param [Integer] id the identifier for the zone
|
833
|
+
# deletes the shipping zone with the given id
|
794
834
|
|
795
835
|
# @!method tax_classes(options = {})
|
796
836
|
# @param [Hash] options the filters for the tax_classes
|
@@ -22,7 +22,7 @@ describe BigcommerceOAuthAPI::Client do
|
|
22
22
|
{ api_module: 'product', methods: [:all, :select, :create, :update, :delete, :count]},
|
23
23
|
{ api_module: 'coupon', methods: [:all, :select, :create, :update, :delete, :count]},
|
24
24
|
{ api_module: 'redirect', methods: [:all, :select, :create, :update, :delete, :count]},
|
25
|
-
{ api_module: '
|
25
|
+
{ api_module: 'zone', methods: [:all, :select, :create, :update, :delete], prefix_paths: 'shipping', prefix_methods: 'shipping'},
|
26
26
|
{ api_module: 'tax_class', scope: :self, methods: [:all, :select]},
|
27
27
|
{ api_module: 'hook', methods: [:all, :select, :create, :update, :delete], legacy: false}
|
28
28
|
]. each do |api_description|
|
@@ -17,6 +17,7 @@ describe BigcommerceOAuthAPI::Client do
|
|
17
17
|
{ api_module: 'value', api_parent_module: 'option', methods: [:all, :select, :create, :update, :delete]},
|
18
18
|
{ api_module: 'discount_rule', api_parent_module: 'product', methods: [:all, :select, :create, :update, :delete, :count]},
|
19
19
|
{ api_module: 'image', api_parent_module: 'product', methods: [:all, :select, :create, :update, :delete, :count]},
|
20
|
+
{ api_module: 'method', api_parent_module: 'zone', methods: [:all, :select, :create, :update, :delete], prefix_paths: 'shipping', prefix_methods: 'shipping'},
|
20
21
|
{ api_module: 'option', api_parent_module: 'product', methods: [:all, :select]},
|
21
22
|
{ api_module: 'review', api_parent_module: 'product', methods: [:all]},
|
22
23
|
{ api_module: 'rule', api_parent_module: 'product', methods: [:all, :select, :create, :update, :delete, :count]},
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bigcommerce-oauth-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Christian Orthmann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-06-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|