bigcommerce 0.10.0 → 1.0.0.beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +17 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +620 -0
  5. data/.travis.yml +15 -0
  6. data/CHANGELOG.md +11 -0
  7. data/CONTRIBUTING.md +119 -0
  8. data/DEPENDENCIES.md +7 -0
  9. data/Gemfile +15 -0
  10. data/Guardfile +22 -0
  11. data/LICENSE +15 -15
  12. data/README.md +61 -70
  13. data/RELEASING.md +64 -0
  14. data/Rakefile +8 -6
  15. data/bigcommerce.gemspec +22 -53
  16. data/examples/README.md +148 -0
  17. data/examples/configuration/legacy_auth.rb +12 -0
  18. data/examples/configuration/oauth.rb +9 -0
  19. data/examples/content/blog_post.rb +39 -0
  20. data/examples/content/blog_tag.rb +10 -0
  21. data/examples/content/redirect.rb +43 -0
  22. data/examples/customers/customer.rb +36 -0
  23. data/examples/customers/customer_address.rb +50 -0
  24. data/examples/customers/customer_group.rb +35 -0
  25. data/examples/exception_handling.rb +50 -0
  26. data/examples/geography/country.rb +16 -0
  27. data/examples/geography/state.rb +19 -0
  28. data/examples/marketing/coupon.rb +44 -0
  29. data/examples/orders/order.rb +53 -0
  30. data/examples/orders/order_coupon.rb +17 -0
  31. data/examples/orders/order_message.rb +17 -0
  32. data/examples/orders/order_product.rb +23 -0
  33. data/examples/orders/order_shipping_address.rb +23 -0
  34. data/examples/orders/order_status.rb +15 -0
  35. data/examples/orders/order_tax.rb +17 -0
  36. data/examples/orders/shipment.rb +57 -0
  37. data/examples/payments/payment_method.rb +10 -0
  38. data/examples/products/brand.rb +36 -0
  39. data/examples/products/bulk_pricing_rule.rb +47 -0
  40. data/examples/products/category.rb +37 -0
  41. data/examples/products/configurable_field.rb +29 -0
  42. data/examples/products/custom_field.rb +44 -0
  43. data/examples/products/google_product_search_mapping.rb +12 -0
  44. data/examples/products/option.rb +37 -0
  45. data/examples/products/option_set.rb +35 -0
  46. data/examples/products/option_set_option.rb +50 -0
  47. data/examples/products/option_value.rb +43 -0
  48. data/examples/products/product.rb +44 -0
  49. data/examples/products/product_image.rb +42 -0
  50. data/examples/products/product_option.rb +17 -0
  51. data/examples/products/product_review.rb +12 -0
  52. data/examples/products/product_rule.rb +54 -0
  53. data/examples/products/product_video.rb +45 -0
  54. data/examples/products/sku.rb +48 -0
  55. data/examples/shipping/shipping_method.rb +13 -0
  56. data/examples/store/store_info.rb +10 -0
  57. data/examples/system/time.rb +10 -0
  58. data/examples/tax/tax_class.rb +13 -0
  59. data/examples/webhooks/webhook.rb +29 -0
  60. data/lib/bigcommerce.rb +50 -8
  61. data/lib/bigcommerce/exception.rb +51 -0
  62. data/lib/bigcommerce/middleware/auth.rb +16 -0
  63. data/lib/bigcommerce/middleware/http_exception.rb +14 -0
  64. data/lib/bigcommerce/request.rb +89 -0
  65. data/lib/bigcommerce/resource_actions.rb +51 -0
  66. data/lib/bigcommerce/resources/content/blog_post.rb +31 -0
  67. data/lib/bigcommerce/resources/content/blog_tag.rb +17 -0
  68. data/lib/bigcommerce/resources/content/redirect.rb +21 -0
  69. data/lib/bigcommerce/resources/customers/customer.rb +30 -0
  70. data/lib/bigcommerce/resources/customers/customer_address.rb +34 -0
  71. data/lib/bigcommerce/resources/customers/customer_group.rb +21 -0
  72. data/lib/bigcommerce/resources/geography/country.rb +22 -0
  73. data/lib/bigcommerce/resources/geography/state.rb +25 -0
  74. data/lib/bigcommerce/resources/marketing/coupon.rb +30 -0
  75. data/lib/bigcommerce/resources/orders/order.rb +73 -0
  76. data/lib/bigcommerce/resources/orders/order_coupon.rb +20 -0
  77. data/lib/bigcommerce/resources/orders/order_message.rb +23 -0
  78. data/lib/bigcommerce/resources/orders/order_product.rb +64 -0
  79. data/lib/bigcommerce/resources/orders/order_shipping_address.rb +50 -0
  80. data/lib/bigcommerce/resources/orders/order_status.rb +16 -0
  81. data/lib/bigcommerce/resources/orders/order_tax.rb +23 -0
  82. data/lib/bigcommerce/resources/orders/shipment.rb +30 -0
  83. data/lib/bigcommerce/resources/payments/payment_method.rb +17 -0
  84. data/lib/bigcommerce/resources/products/brand.rb +23 -0
  85. data/lib/bigcommerce/resources/products/bulk_pricing_rule.rb +26 -0
  86. data/lib/bigcommerce/resources/products/category.rb +29 -0
  87. data/lib/bigcommerce/resources/products/configurable_field.rb +30 -0
  88. data/lib/bigcommerce/resources/products/custom_field.rb +24 -0
  89. data/lib/bigcommerce/resources/products/google_product_search_mapping.rb +26 -0
  90. data/lib/bigcommerce/resources/products/option.rb +20 -0
  91. data/lib/bigcommerce/resources/products/option_set.rb +18 -0
  92. data/lib/bigcommerce/resources/products/option_set_option.rb +19 -0
  93. data/lib/bigcommerce/resources/products/option_value.rb +15 -0
  94. data/lib/bigcommerce/resources/products/product.rb +97 -0
  95. data/lib/bigcommerce/resources/products/product_image.rb +31 -0
  96. data/lib/bigcommerce/resources/products/product_option.rb +17 -0
  97. data/lib/bigcommerce/resources/products/product_review.rb +22 -0
  98. data/lib/bigcommerce/resources/products/product_rule.rb +31 -0
  99. data/lib/bigcommerce/resources/products/product_video.rb +24 -0
  100. data/lib/bigcommerce/resources/products/sku.rb +29 -0
  101. data/lib/bigcommerce/resources/resource.rb +10 -0
  102. data/lib/bigcommerce/resources/shipping/shipping_method.rb +15 -0
  103. data/lib/bigcommerce/resources/store/store_information.rb +37 -0
  104. data/lib/bigcommerce/resources/system/time.rb +15 -0
  105. data/lib/bigcommerce/resources/tax/tax_class.rb +15 -0
  106. data/lib/bigcommerce/resources/webhooks/webhook.rb +22 -0
  107. data/lib/bigcommerce/subresource_actions.rb +43 -0
  108. data/lib/bigcommerce/version.rb +1 -4
  109. data/spec/bigcommerce/bigcommerce_spec.rb +76 -0
  110. data/spec/bigcommerce/unit/actions_spec.rb +151 -0
  111. data/spec/bigcommerce/unit/exception_spec.rb +53 -0
  112. data/spec/bigcommerce/unit/middleware/auth_spec.rb +18 -0
  113. data/spec/bigcommerce/unit/middleware/http_exception_spec.rb +40 -0
  114. data/spec/bigcommerce/unit/request_spec.rb +180 -0
  115. data/spec/bigcommerce/unit/resources/content/blog_post_spec.rb +12 -0
  116. data/spec/bigcommerce/unit/resources/content/blog_tag_spec.rb +12 -0
  117. data/spec/bigcommerce/unit/resources/content/redirect_spec.rb +12 -0
  118. data/spec/bigcommerce/unit/resources/customers/customer_address_spec.rb +21 -0
  119. data/spec/bigcommerce/unit/resources/customers/customer_group_spec.rb +12 -0
  120. data/spec/bigcommerce/unit/resources/customers/customer_spec.rb +12 -0
  121. data/spec/bigcommerce/unit/resources/geography/country_spec.rb +12 -0
  122. data/spec/bigcommerce/unit/resources/geography/state_spec.rb +21 -0
  123. data/spec/bigcommerce/unit/resources/marketing/coupon_spec.rb +12 -0
  124. data/spec/bigcommerce/unit/resources/orders/order_product_spec.rb +21 -0
  125. data/spec/bigcommerce/unit/resources/orders/order_shipping_address_spec.rb +21 -0
  126. data/spec/bigcommerce/unit/resources/orders/order_spec.rb +13 -0
  127. data/spec/bigcommerce/unit/resources/orders/shipment_spec.rb +21 -0
  128. data/spec/bigcommerce/unit/resources/payments/payment_method_spec.rb +23 -0
  129. data/spec/bigcommerce/unit/resources/products/brand_spec.rb +12 -0
  130. data/spec/bigcommerce/unit/resources/products/bulk_pricing_rule_spec.rb +21 -0
  131. data/spec/bigcommerce/unit/resources/products/category_spec.rb +12 -0
  132. data/spec/bigcommerce/unit/resources/products/configurable_field_spec.rb +21 -0
  133. data/spec/bigcommerce/unit/resources/products/custom_field_spec.rb +21 -0
  134. data/spec/bigcommerce/unit/resources/products/google_product_search_mapping_spec.rb +14 -0
  135. data/spec/bigcommerce/unit/resources/products/option_set_spec.rb +12 -0
  136. data/spec/bigcommerce/unit/resources/products/option_spec.rb +12 -0
  137. data/spec/bigcommerce/unit/resources/products/product_image_spec.rb +21 -0
  138. data/spec/bigcommerce/unit/resources/products/product_review_spec.rb +14 -0
  139. data/spec/bigcommerce/unit/resources/products/product_rule_spec.rb +21 -0
  140. data/spec/bigcommerce/unit/resources/products/product_spec.rb +13 -0
  141. data/spec/bigcommerce/unit/resources/products/product_video_spec.rb +21 -0
  142. data/spec/bigcommerce/unit/resources/products/sku_spec.rb +21 -0
  143. data/spec/bigcommerce/unit/resources/resource_spec.rb +4 -0
  144. data/spec/bigcommerce/unit/resources/store_info/store_information_spec.rb +12 -0
  145. data/spec/bigcommerce/unit/resources/system/time_spec.rb +12 -0
  146. data/spec/bigcommerce/unit/version_spec.rb +7 -0
  147. data/spec/spec_helper.rb +9 -25
  148. metadata +203 -127
  149. data/lib/big_commerce.rb +0 -1
  150. data/lib/bigcommerce/api.rb +0 -473
  151. data/lib/bigcommerce/connection.rb +0 -171
  152. data/lib/bigcommerce/product.rb +0 -13
  153. data/lib/bigcommerce/resource.rb +0 -50
  154. data/spec/big_commerce_spec.rb +0 -9
  155. data/spec/integration/orders_spec.rb +0 -18
  156. data/spec/support/integration_context.rb +0 -13
  157. data/spec/support/mock_api_context.rb +0 -10
  158. data/spec/unit/api_request_spec.rb +0 -34
  159. data/spec/unit/api_spec.rb +0 -49
  160. data/spec/unit/connection_spec.rb +0 -23
  161. data/spec/unit/date_time_spec.rb +0 -31
  162. data/spec/unit/version_spec.rb +0 -13
@@ -0,0 +1,35 @@
1
+ require 'bigcommerce'
2
+ require 'securerandom'
3
+
4
+ Bigcommerce.configure do |config|
5
+ config.store_hash = ENV['BC_STORE_HASH']
6
+ config.client_id = ENV['BC_CLIENT_ID']
7
+ config.access_token = ENV['BC_ACCESS_TOKEN']
8
+ end
9
+
10
+ # List all customer groups
11
+ puts Bigcommerce::CustomerGroup.all
12
+
13
+ # Get a customer group
14
+ puts Bigcommerce::CustomerGroup.find(1)
15
+
16
+ # Get a count of all customer groups
17
+ puts Bigcommerce::CustomerGroup.count
18
+
19
+ # Create a customer group
20
+ @customer_group = Bigcommerce::CustomerGroup.create(
21
+ name: "Customer Group #{SecureRandom.hex}"
22
+ )
23
+ puts @customer_group
24
+
25
+ # Update a customer group
26
+ puts Bigcommerce::CustomerGroup.update(
27
+ @customer_group.id,
28
+ name: "Customer_group #{SecureRandom.hex}"
29
+ )
30
+
31
+ # Delete a customer group
32
+ puts Bigcommerce::CustomerGroup.destroy(@customer_group.id)
33
+
34
+ # Delete all customer groups
35
+ # puts Bigcommerce::CustomerGroup.destroy_all
@@ -0,0 +1,50 @@
1
+ require 'bigcommerce'
2
+
3
+ Bigcommerce.configure do |config|
4
+ config.store_hash = ENV['BC_STORE_HASH']
5
+ config.client_id = ENV['BC_CLIENT_ID']
6
+ config.access_token = ENV['BC_ACCESS_TOKEN']
7
+ end
8
+
9
+ # rubocop:disable MethodLength, Metrics/AbcSize:
10
+ def bc_handle_exception(&block)
11
+ # Below is a list of all the errors we will throw
12
+ block.call
13
+ rescue Bigcommerce::BadRequest => e
14
+ puts e.inspect
15
+ rescue Bigcommerce::Unauthorized => e
16
+ puts e.inspect
17
+ rescue Bigcommerce::Forbidden => e
18
+ puts e.inspect
19
+ rescue Bigcommerce::NotFound => e
20
+ puts e.inspect
21
+ rescue Bigcommerce::MethodNotAllowed => e
22
+ puts e.inspect
23
+ rescue Bigcommerce::NotAccepted => e
24
+ puts e.inspect
25
+ rescue Bigcommerce::TimeOut => e
26
+ puts e.inspect
27
+ rescue Bigcommerce::ResourceConflict => e
28
+ puts e.inspect
29
+ rescue Bigcommerce::TooManyRequests => e
30
+ puts e.inspect
31
+ rescue Bigcommerce::InternalServerError => e
32
+ puts e.inspect
33
+ rescue Bigcommerce::BadGateway => e
34
+ puts e.inspect
35
+ rescue Bigcommerce::ServiceUnavailable => e
36
+ puts e.inspect
37
+ rescue Bigcommerce::GatewayTimeout => e
38
+ puts e.inspect
39
+ rescue Bigcommerce::BandwidthLimitExceeded => e
40
+ puts e.inspect
41
+ rescue => e
42
+ puts "Some other Error #{e.inspect}"
43
+ end
44
+
45
+ Bigcommerce::HttpError::ERRORS.each do |k, v|
46
+ bc_handle_exception do
47
+ # This will be your request that you want to protect from exceptions
48
+ fail v, k
49
+ end
50
+ end
@@ -0,0 +1,16 @@
1
+ require 'bigcommerce'
2
+
3
+ Bigcommerce.configure do |config|
4
+ config.store_hash = ENV['BC_STORE_HASH']
5
+ config.client_id = ENV['BC_CLIENT_ID']
6
+ config.access_token = ENV['BC_ACCESS_TOKEN']
7
+ end
8
+
9
+ # List countries
10
+ puts Bigcommerce::Country.all(page: 1)
11
+
12
+ # Get a country
13
+ puts Bigcommerce::Country.find(226)
14
+
15
+ # Get a count of countries
16
+ puts Bigcommerce::Country.count
@@ -0,0 +1,19 @@
1
+ require 'bigcommerce'
2
+
3
+ Bigcommerce.configure do |config|
4
+ config.store_hash = ENV['BC_STORE_HASH']
5
+ config.client_id = ENV['BC_CLIENT_ID']
6
+ config.access_token = ENV['BC_ACCESS_TOKEN']
7
+ end
8
+
9
+ # List countries
10
+ puts Bigcommerce::State.all(226)
11
+
12
+ # Get a country
13
+ puts Bigcommerce::State.find(226, 10)
14
+
15
+ # Get a count of countries
16
+ puts Bigcommerce::State.count(226)
17
+
18
+ # Get a count of all states for all countries
19
+ puts Bigcommerce::State.count_all
@@ -0,0 +1,44 @@
1
+ require 'bigcommerce'
2
+ require 'securerandom'
3
+
4
+ Bigcommerce.configure do |config|
5
+ config.store_hash = ENV['BC_STORE_HASH']
6
+ config.client_id = ENV['BC_CLIENT_ID']
7
+ config.access_token = ENV['BC_ACCESS_TOKEN']
8
+ end
9
+
10
+ # List coupons
11
+ @coupons = Bigcommerce::Coupon.all
12
+ puts @coupons
13
+
14
+ # Get a coupon
15
+ puts Bigcommerce::Coupon.find(@coupons[0].id)
16
+
17
+ # Get a count of coupons
18
+ puts Bigcommerce::Coupon.count
19
+
20
+ # Create a coupon
21
+ @coupon = Bigcommerce::Coupon.create(
22
+ name: SecureRandom.hex,
23
+ code: SecureRandom.hex,
24
+ type: 'per_item_discount',
25
+ amount: 5,
26
+ applies_to: {
27
+ entity: 'categories',
28
+ ids: [0]
29
+ }
30
+ )
31
+ puts @coupon
32
+
33
+ # Update a coupon
34
+ puts Bigcommerce::Coupon.update(
35
+ @coupon.id,
36
+ name: SecureRandom.hex,
37
+ amount: 10
38
+ )
39
+
40
+ # Delete a coupon
41
+ puts Bigcommerce::Coupon.destroy(@coupon.id)
42
+
43
+ # Delete all coupons
44
+ # puts Bigcommerce::Coupon.destroy_all
@@ -0,0 +1,53 @@
1
+ require 'bigcommerce'
2
+
3
+ Bigcommerce.configure do |config|
4
+ config.store_hash = ENV['BC_STORE_HASH']
5
+ config.client_id = ENV['BC_CLIENT_ID']
6
+ config.access_token = ENV['BC_ACCESS_TOKEN']
7
+ end
8
+
9
+ # List orders
10
+ @orders = Bigcommerce::Order.all
11
+ puts @orders
12
+
13
+ # Get an order
14
+ @order = @orders[0]
15
+ puts Bigcommerce::Order.find(@order.id)
16
+
17
+ # Get a count of orders
18
+ puts Bigcommerce::Order.count
19
+
20
+ # Create an order
21
+ @order = Bigcommerce::Order.create(
22
+ billing_address: {
23
+ first_name: 'Karl',
24
+ last_name: 'The Fog',
25
+ street_1: '685 Market St.',
26
+ city: 'San Francisco',
27
+ state: 'California',
28
+ zip: '94019',
29
+ country: 'United States',
30
+ email: 'test@example.com'
31
+ },
32
+ products: [
33
+ {
34
+ product_id: 34,
35
+ quantity: 2
36
+ }
37
+ ]
38
+ )
39
+ puts @order
40
+
41
+ # Update an order
42
+ puts Bigcommerce::Order.update(
43
+ @order.id,
44
+ billing_address: {
45
+ last_name: 'TheFog'
46
+ }
47
+ )
48
+
49
+ # Delete an order
50
+ puts Bigcommerce::Order.destroy(@order.id)
51
+
52
+ # Delete all orders
53
+ # puts Bigcommerce::Order.destroy_all
@@ -0,0 +1,17 @@
1
+ require 'bigcommerce'
2
+
3
+ Bigcommerce.configure do |config|
4
+ config.store_hash = ENV['BC_STORE_HASH']
5
+ config.client_id = ENV['BC_CLIENT_ID']
6
+ config.access_token = ENV['BC_ACCESS_TOKEN']
7
+ end
8
+
9
+ @order = Bigcommerce::Order.all[0]
10
+
11
+ # List order coupons
12
+ @order_coupons = Bigcommerce::OrderCoupon.all(@order.id)
13
+ puts @order_coupons
14
+
15
+ # Get an order coupon
16
+ @order_coupon = @order_coupons[0]
17
+ puts Bigcommerce::OrderCoupon.find(@order.id, @order_coupon.id)
@@ -0,0 +1,17 @@
1
+ require 'bigcommerce'
2
+
3
+ Bigcommerce.configure do |config|
4
+ config.store_hash = ENV['BC_STORE_HASH']
5
+ config.client_id = ENV['BC_CLIENT_ID']
6
+ config.access_token = ENV['BC_ACCESS_TOKEN']
7
+ end
8
+
9
+ @order = Bigcommerce::Order.all[0]
10
+
11
+ # List order messages
12
+ @order_messages = Bigcommerce::OrderMessage.all(@order.id)
13
+ puts @order_messages
14
+
15
+ # Get an order message
16
+ @order_message = @order_messages[0]
17
+ puts Bigcommerce::OrderMessage.find(@order.id, @order_message.id)
@@ -0,0 +1,23 @@
1
+ require 'bigcommerce'
2
+
3
+ Bigcommerce.configure do |config|
4
+ config.store_hash = ENV['BC_STORE_HASH']
5
+ config.client_id = ENV['BC_CLIENT_ID']
6
+ config.access_token = ENV['BC_ACCESS_TOKEN']
7
+ end
8
+
9
+ @order = Bigcommerce::Order.all[0]
10
+
11
+ # List order products
12
+ @order_products = Bigcommerce::OrderProduct.all(@order.id)
13
+ puts @order_products
14
+
15
+ # Get an order product
16
+ @order_product = @order_products[0]
17
+ puts Bigcommerce::OrderProduct.find(@order.id, @order_product.id)
18
+
19
+ # Get a count of order products
20
+ puts Bigcommerce::OrderProduct.count(@order.id)
21
+
22
+ # Get a count of all order products for all orders
23
+ puts Bigcommerce::OrderProduct.count_all
@@ -0,0 +1,23 @@
1
+ require 'bigcommerce'
2
+
3
+ Bigcommerce.configure do |config|
4
+ config.store_hash = ENV['BC_STORE_HASH']
5
+ config.client_id = ENV['BC_CLIENT_ID']
6
+ config.access_token = ENV['BC_ACCESS_TOKEN']
7
+ end
8
+
9
+ @order = Bigcommerce::Order.all[0]
10
+
11
+ # List order shipping address
12
+ @order_shipping_addresses = Bigcommerce::OrderShippingAddress.all(@order.id)
13
+ puts @order_shipping_addresses
14
+
15
+ # Get an order shipping address
16
+ @order_shipping_address = @order_shipping_addresses[0]
17
+ puts Bigcommerce::OrderShippingAddress.find(@order.id, @order_shipping_address.id)
18
+
19
+ # Get a count of order shipping addresses
20
+ puts Bigcommerce::OrderShippingAddress.count(@order.id)
21
+
22
+ # Get a count of all order shipping addresses for all order
23
+ puts Bigcommerce::OrderShippingAddress.count_all
@@ -0,0 +1,15 @@
1
+ require 'bigcommerce'
2
+
3
+ Bigcommerce.configure do |config|
4
+ config.store_hash = ENV['BC_STORE_HASH']
5
+ config.client_id = ENV['BC_CLIENT_ID']
6
+ config.access_token = ENV['BC_ACCESS_TOKEN']
7
+ end
8
+
9
+ # List order statuses
10
+ @order_statuses = Bigcommerce::OrderStatus.all
11
+ puts @order_statuses
12
+
13
+ # Get an order status
14
+ @order_status = @order_statuses[0]
15
+ puts Bigcommerce::OrderStatus.find(@order_status.id)
@@ -0,0 +1,17 @@
1
+ require 'bigcommerce'
2
+
3
+ Bigcommerce.configure do |config|
4
+ config.store_hash = ENV['BC_STORE_HASH']
5
+ config.client_id = ENV['BC_CLIENT_ID']
6
+ config.access_token = ENV['BC_ACCESS_TOKEN']
7
+ end
8
+
9
+ @order = Bigcommerce::Order.find(109)
10
+
11
+ # List order taxes
12
+ @order_taxes = Bigcommerce::OrderTax.all(@order.id)
13
+ puts @order_taxes
14
+
15
+ # Get an order tax
16
+ @order_tax = @order_taxes[0]
17
+ puts Bigcommerce::OrderTax.find(@order.id, @order_tax.id)
@@ -0,0 +1,57 @@
1
+ require 'bigcommerce'
2
+
3
+ Bigcommerce.configure do |config|
4
+ config.store_hash = ENV['BC_STORE_HASH']
5
+ config.client_id = ENV['BC_CLIENT_ID']
6
+ config.access_token = ENV['BC_ACCESS_TOKEN']
7
+ end
8
+
9
+ @order = Bigcommerce::Order.all[0]
10
+
11
+ # Create a shipment
12
+ @order_product = Bigcommerce::OrderProduct.all(@order.id)[0]
13
+
14
+ @order_address = Bigcommerce::OrderShippingAddress.all(@order.id)[0]
15
+
16
+ @shipment = Bigcommerce::Shipment.create(
17
+ @order.id,
18
+ tracking_number: 'ups12345',
19
+ comments: 'Notes about the shipment',
20
+ order_address_id: @order_address.id,
21
+ items: [
22
+ {
23
+ order_product_id: @order_product.id,
24
+ quantity: 1
25
+ }
26
+ ]
27
+ )
28
+ puts @shipment
29
+
30
+ # List shipments
31
+ @shipments = Bigcommerce::Shipment.all(@order.id)
32
+ puts @shipments
33
+
34
+ # Get a shipment
35
+ @shipment = @shipments[0]
36
+ puts Bigcommerce::Shipment.find(@order.id, @shipment.id)
37
+
38
+ # Get a count of shipments
39
+ puts Bigcommerce::Shipment.count(@order.id)
40
+
41
+ # Get a count of all shipments for all orders
42
+ puts Bigcommerce::Shipment.count_all
43
+
44
+ # Update a shipment
45
+ puts Bigcommerce::Shipment.update(
46
+ @order.id,
47
+ @shipment.id,
48
+ tracking_number: 'fedex1245',
49
+ comments: 'Notes about the shipment',
50
+ order_address_id: @order_address.id
51
+ )
52
+
53
+ # Delete a shipment
54
+ puts Bigcommerce::Shipment.destroy(@order.id, @shipment.id)
55
+
56
+ # Delete multiple shipments
57
+ # puts Bigcommerce::Shipment.destroy_all(@order.id)
@@ -0,0 +1,10 @@
1
+ require 'bigcommerce'
2
+
3
+ Bigcommerce.configure do |config|
4
+ config.store_hash = ENV['BC_STORE_HASH']
5
+ config.client_id = ENV['BC_CLIENT_ID']
6
+ config.access_token = ENV['BC_ACCESS_TOKEN']
7
+ end
8
+
9
+ # List payment methods
10
+ puts Bigcommerce::PaymentMethod.all
@@ -0,0 +1,36 @@
1
+ require 'bigcommerce'
2
+ require 'securerandom'
3
+
4
+ Bigcommerce.configure do |config|
5
+ config.store_hash = ENV['BC_STORE_HASH']
6
+ config.client_id = ENV['BC_CLIENT_ID']
7
+ config.access_token = ENV['BC_ACCESS_TOKEN']
8
+ end
9
+
10
+ # List brands
11
+ puts Bigcommerce::Brand.all(page: 2)
12
+
13
+ # Get a brand
14
+ puts Bigcommerce::Brand.find(10)
15
+
16
+ # Get a count of brands
17
+ puts Bigcommerce::Brand.count
18
+
19
+ # Create a brand
20
+ @brand = Bigcommerce::Brand.create(
21
+ name: SecureRandom.hex,
22
+ page_title: "Title #{SecureRandom.hex}"
23
+ )
24
+ puts @brand
25
+
26
+ # Update a brand
27
+ puts Bigcommerce::Brand.update(
28
+ @brand.id,
29
+ name: 'Foobar'
30
+ )
31
+
32
+ # Delete a brand
33
+ puts Bigcommerce::Brand.destroy(@brand.id)
34
+
35
+ # Delete all brands
36
+ # Bigcommerce::Brand.destroy_all