recurly 4.36.0 → 4.38.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 63627cfe02c6b1f623b0ec942fbdfefcc602baab2ba76c210b5b3946610c6010
4
- data.tar.gz: eab3fc22497332fec976abbfb79cd9c4a33a54c0755d701d445b4a54ac0fb34f
3
+ metadata.gz: aa823beffdec114f5d986cfb91ec4bb6a5cba19405c8cfaca99ad2e86afce539
4
+ data.tar.gz: 210e3425783dce9f8fcb61e214e565341fe8baad3838010f40bce46cff32946a
5
5
  SHA512:
6
- metadata.gz: 20999a85623503c5af9e2e7bd2097dc900729a01b96e9c9e758f409594f6b2130627cef2c49a06a750227359679f8bbed5a4c9e727401c6de528ebf1f19634dd
7
- data.tar.gz: c042cf9edadd7293aea0550297a720c5ff212402c765d7a86e3c8c545d7c9023e162b6a08d94abd4576c66156ab5cd4cca6105003d2489a3474a24ad69c4874b
6
+ metadata.gz: 65e58303ed5ed372250923908976d6be83697160dab1b45d499d6ef1a876d07f4b129faccf6ecb26005c1c0e18c08d80e5e16d5288731f9f600b2c3ceabaf72a
7
+ data.tar.gz: 810071a34225cbb1598730a1ff16b2cf8fad9a64bd6fc3c13a09dc3c23a496f5b788daffcb06eca9da0e380ae38eef589a0cf17c5315b1227e5199cb543c90d2
data/.bumpversion.cfg CHANGED
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 4.36.0
2
+ current_version = 4.38.0
3
3
  parse = (?P<major>\d+)
4
4
  \.(?P<minor>\d+)
5
5
  \.(?P<patch>\d+)
data/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.38.0](https://github.com/recurly/recurly-client-ruby/tree/4.38.0) (2023-06-01)
4
+
5
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.37.0...4.38.0)
6
+
7
+
8
+ **Merged Pull Requests**
9
+
10
+ - Generated Latest Changes for v2021-02-25 (Multiple Business Entities) [#850](https://github.com/recurly/recurly-client-ruby/pull/850) ([recurly-integrations](https://github.com/recurly-integrations))
11
+
12
+
13
+
14
+ ## [4.37.0](https://github.com/recurly/recurly-client-ruby/tree/4.37.0) (2023-05-24)
15
+
16
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.36.0...4.37.0)
17
+
18
+
19
+ **Merged Pull Requests**
20
+
21
+ - Generated Latest Changes for v2021-02-25 (External Products & References) [#848](https://github.com/recurly/recurly-client-ruby/pull/848) ([recurly-integrations](https://github.com/recurly-integrations))
22
+
23
+
24
+
3
25
  ## [4.36.0](https://github.com/recurly/recurly-client-ruby/tree/4.36.0) (2023-05-23)
4
26
 
5
27
  [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.35.0...4.36.0)
data/GETTING_STARTED.md CHANGED
@@ -5,7 +5,7 @@ This repository houses the official ruby client for Recurly's V3 API.
5
5
  In your Gemfile, add `recurly` as a dependency.
6
6
 
7
7
  ```ruby
8
- gem 'recurly', '~> 4.36'
8
+ gem 'recurly', '~> 4.38'
9
9
  ```
10
10
 
11
11
  > *Note*: We try to follow [semantic versioning](https://semver.org/) and will only apply breaking changes to major versions.
@@ -2159,6 +2159,20 @@ module Recurly
2159
2159
  pager(path, **options)
2160
2160
  end
2161
2161
 
2162
+ # Create an external product
2163
+ #
2164
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_external_product create_external_product api documentation}
2165
+ #
2166
+ # @param body [Requests::ExternalProductCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ExternalProductCreate}
2167
+ # @param params [Hash] Optional query string parameters:
2168
+ #
2169
+ # @return [Resources::ExternalProduct] Returns the external product
2170
+ #
2171
+ def create_external_product(body:, **options)
2172
+ path = "/external_products"
2173
+ post(path, body, Requests::ExternalProductCreate, **options)
2174
+ end
2175
+
2162
2176
  # Fetch an external product
2163
2177
  #
2164
2178
  # {https://developers.recurly.com/api/v2021-02-25#operation/get_external_product get_external_product api documentation}
@@ -2173,6 +2187,98 @@ module Recurly
2173
2187
  get(path, **options)
2174
2188
  end
2175
2189
 
2190
+ # Update an external product
2191
+ #
2192
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_external_product update_external_product api documentation}
2193
+ #
2194
+ # @param external_product_id [String] External product id
2195
+ # @param body [Requests::ExternalProductUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ExternalProductUpdate}
2196
+ # @param params [Hash] Optional query string parameters:
2197
+ #
2198
+ # @return [Resources::ExternalProduct] Settings for an external product.
2199
+ #
2200
+ def update_external_product(external_product_id:, body:, **options)
2201
+ path = interpolate_path("/external_products/{external_product_id}", external_product_id: external_product_id)
2202
+ put(path, body, Requests::ExternalProductUpdate, **options)
2203
+ end
2204
+
2205
+ # Deactivate an external product
2206
+ #
2207
+ # {https://developers.recurly.com/api/v2021-02-25#operation/deactivate_external_products deactivate_external_products api documentation}
2208
+ #
2209
+ # @param external_product_id [String] External product id
2210
+ # @param params [Hash] Optional query string parameters:
2211
+ #
2212
+ # @return [Resources::ExternalProduct] Deactivated external product.
2213
+ #
2214
+ def deactivate_external_products(external_product_id:, **options)
2215
+ path = interpolate_path("/external_products/{external_product_id}", external_product_id: external_product_id)
2216
+ delete(path, **options)
2217
+ end
2218
+
2219
+ # List the external product references for an external product
2220
+ #
2221
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_external_product_external_product_references list_external_product_external_product_references api documentation}
2222
+ #
2223
+ # @param external_product_id [String] External product id
2224
+ # @param params [Hash] Optional query string parameters:
2225
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
2226
+ # order. In descending order updated records will move behind the cursor and could
2227
+ # prevent some records from being returned.
2228
+ #
2229
+ #
2230
+ # @return [Pager<Resources::ExternalProductReferenceCollection>] A list of the the external product references for an external product.
2231
+ #
2232
+ def list_external_product_external_product_references(external_product_id:, **options)
2233
+ path = interpolate_path("/external_products/{external_product_id}/external_product_references", external_product_id: external_product_id)
2234
+ pager(path, **options)
2235
+ end
2236
+
2237
+ # Create an external product reference on an external product
2238
+ #
2239
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_external_product_external_product_reference create_external_product_external_product_reference api documentation}
2240
+ #
2241
+ # @param external_product_id [String] External product id
2242
+ # @param body [Requests::ExternalProductReferenceCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::ExternalProductReferenceCreate}
2243
+ # @param params [Hash] Optional query string parameters:
2244
+ #
2245
+ # @return [Resources::ExternalProductReferenceMini] Details for the external product reference.
2246
+ #
2247
+ def create_external_product_external_product_reference(external_product_id:, body:, **options)
2248
+ path = interpolate_path("/external_products/{external_product_id}/external_product_references", external_product_id: external_product_id)
2249
+ post(path, body, Requests::ExternalProductReferenceCreate, **options)
2250
+ end
2251
+
2252
+ # Fetch an external product reference
2253
+ #
2254
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_external_product_external_product_reference get_external_product_external_product_reference api documentation}
2255
+ #
2256
+ # @param external_product_id [String] External product id
2257
+ # @param external_product_reference_id [String] External product reference ID, e.g. +d39iun2fw1v4+.
2258
+ # @param params [Hash] Optional query string parameters:
2259
+ #
2260
+ # @return [Resources::ExternalProductReferenceMini] Details for an external product reference.
2261
+ #
2262
+ def get_external_product_external_product_reference(external_product_id:, external_product_reference_id:, **options)
2263
+ path = interpolate_path("/external_products/{external_product_id}/external_product_references/{external_product_reference_id}", external_product_id: external_product_id, external_product_reference_id: external_product_reference_id)
2264
+ get(path, **options)
2265
+ end
2266
+
2267
+ # Deactivate an external product reference
2268
+ #
2269
+ # {https://developers.recurly.com/api/v2021-02-25#operation/deactivate_external_product_external_product_reference deactivate_external_product_external_product_reference api documentation}
2270
+ #
2271
+ # @param external_product_id [String] External product id
2272
+ # @param external_product_reference_id [String] External product reference ID, e.g. +d39iun2fw1v4+.
2273
+ # @param params [Hash] Optional query string parameters:
2274
+ #
2275
+ # @return [Resources::ExternalProductReferenceMini] Details for an external product reference.
2276
+ #
2277
+ def deactivate_external_product_external_product_reference(external_product_id:, external_product_reference_id:, **options)
2278
+ path = interpolate_path("/external_products/{external_product_id}/external_product_references/{external_product_reference_id}", external_product_id: external_product_id, external_product_reference_id: external_product_reference_id)
2279
+ delete(path, **options)
2280
+ end
2281
+
2176
2282
  # List a site's external subscriptions
2177
2283
  #
2178
2284
  # {https://developers.recurly.com/api/v2021-02-25#operation/list_external_subscriptions list_external_subscriptions api documentation}
@@ -4364,6 +4470,33 @@ module Recurly
4364
4470
  pager(path, **options)
4365
4471
  end
4366
4472
 
4473
+ # Fetch a business entity
4474
+ #
4475
+ # {https://developers.recurly.com/api/v2021-02-25#operation/get_business_entity get_business_entity api documentation}
4476
+ #
4477
+ # @param business_entity_id [String] Business Entity ID. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-entity1+.
4478
+ # @param params [Hash] Optional query string parameters:
4479
+ #
4480
+ # @return [Resources::BusinessEntity] Business entity details
4481
+ #
4482
+ def get_business_entity(business_entity_id:, **options)
4483
+ path = interpolate_path("/business_entities/{business_entity_id}", business_entity_id: business_entity_id)
4484
+ get(path, **options)
4485
+ end
4486
+
4487
+ # List business entities
4488
+ #
4489
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_business_entities list_business_entities api documentation}
4490
+ #
4491
+ # @param params [Hash] Optional query string parameters:
4492
+ #
4493
+ # @return [Pager<Resources::BusinessEntity>] List of all business entities on your site.
4494
+ #
4495
+ def list_business_entities(**options)
4496
+ path = "/business_entities"
4497
+ pager(path, **options)
4498
+ end
4499
+
4367
4500
  # List gift cards
4368
4501
  #
4369
4502
  # {https://developers.recurly.com/api/v2021-02-25#operation/list_gift_cards list_gift_cards api documentation}
@@ -4433,5 +4566,49 @@ module Recurly
4433
4566
  path = interpolate_path("/gift_cards/{redemption_code}/redeem", redemption_code: redemption_code)
4434
4567
  post(path, body, Requests::GiftCardRedeem, **options)
4435
4568
  end
4569
+
4570
+ # List a business entity's invoices
4571
+ #
4572
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_business_entity_invoices list_business_entity_invoices api documentation}
4573
+ #
4574
+ # @param business_entity_id [String] Business Entity ID. For ID no prefix is used e.g. +e28zov4fw0v2+. For code use prefix +code-+, e.g. +code-entity1+.
4575
+ # @param params [Hash] Optional query string parameters:
4576
+ # :ids [String] Filter results by their IDs. Up to 200 IDs can be passed at once using
4577
+ # commas as separators, e.g. +ids=h1at4d57xlmy,gyqgg0d3v9n1,jrsm5b4yefg6+.
4578
+ #
4579
+ # *Important notes:*
4580
+ #
4581
+ # * The +ids+ parameter cannot be used with any other ordering or filtering
4582
+ # parameters (+limit+, +order+, +sort+, +begin_time+, +end_time+, etc)
4583
+ # * Invalid or unknown IDs will be ignored, so you should check that the
4584
+ # results correspond to your request.
4585
+ # * Records are returned in an arbitrary order. Since results are all
4586
+ # returned at once you can sort the records yourself.
4587
+ #
4588
+ # :limit [Integer] Limit number of records 1-200.
4589
+ # :order [String] Sort order.
4590
+ # :sort [String] Sort field. You *really* only want to sort by +updated_at+ in ascending
4591
+ # order. In descending order updated records will move behind the cursor and could
4592
+ # prevent some records from being returned.
4593
+ #
4594
+ # :begin_time [DateTime] Inclusively filter by begin_time when +sort=created_at+ or +sort=updated_at+.
4595
+ # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
4596
+ #
4597
+ # :end_time [DateTime] Inclusively filter by end_time when +sort=created_at+ or +sort=updated_at+.
4598
+ # *Note:* this value is an ISO8601 timestamp. A partial timestamp that does not include a time zone will default to UTC.
4599
+ #
4600
+ # :type [String] Filter by type when:
4601
+ # - +type=charge+, only charge invoices will be returned.
4602
+ # - +type=credit+, only credit invoices will be returned.
4603
+ # - +type=non-legacy+, only charge and credit invoices will be returned.
4604
+ # - +type=legacy+, only legacy invoices will be returned.
4605
+ #
4606
+ #
4607
+ # @return [Pager<Resources::Invoice>] A list of the business entity's invoices.
4608
+ #
4609
+ def list_business_entity_invoices(business_entity_id:, **options)
4610
+ path = interpolate_path("/business_entities/{business_entity_id}/invoices", business_entity_id: business_entity_id)
4611
+ pager(path, **options)
4612
+ end
4436
4613
  end
4437
4614
  end
@@ -66,6 +66,10 @@ module Recurly
66
66
  # @return [String]
67
67
  define_attribute :last_name, String
68
68
 
69
+ # @!attribute override_business_entity_id
70
+ # @return [String] Unique ID to identify the business entity assigned to the account. Available when the `Multiple Business Entities` feature is enabled.
71
+ define_attribute :override_business_entity_id, String
72
+
69
73
  # @!attribute parent_account_code
70
74
  # @return [String] The account code of the parent account to be associated with this account. Passing an empty value removes any existing parent association from this account. If both `parent_account_code` and `parent_account_id` are passed, the non-blank value in `parent_account_id` will be used. Only one level of parent child relationship is allowed. You cannot assign a parent account that itself has a parent account.
71
75
  define_attribute :parent_account_code, String
@@ -66,6 +66,10 @@ module Recurly
66
66
  # @return [String]
67
67
  define_attribute :last_name, String
68
68
 
69
+ # @!attribute override_business_entity_id
70
+ # @return [String] Unique ID to identify the business entity assigned to the account. Available when the `Multiple Business Entities` feature is enabled.
71
+ define_attribute :override_business_entity_id, String
72
+
69
73
  # @!attribute parent_account_code
70
74
  # @return [String] The account code of the parent account to be associated with this account. Passing an empty value removes any existing parent association from this account. If both `parent_account_code` and `parent_account_id` are passed, the non-blank value in `parent_account_id` will be used. Only one level of parent child relationship is allowed. You cannot assign a parent account that itself has a parent account.
71
75
  define_attribute :parent_account_code, String
@@ -54,6 +54,10 @@ module Recurly
54
54
  # @return [String]
55
55
  define_attribute :last_name, String
56
56
 
57
+ # @!attribute override_business_entity_id
58
+ # @return [String] Unique ID to identify the business entity assigned to the account. Available when the `Multiple Business Entities` feature is enabled.
59
+ define_attribute :override_business_entity_id, String
60
+
57
61
  # @!attribute parent_account_code
58
62
  # @return [String] The account code of the parent account to be associated with this account. Passing an empty value removes any existing parent association from this account. If both `parent_account_code` and `parent_account_id` are passed, the non-blank value in `parent_account_id` will be used. Only one level of parent child relationship is allowed. You cannot assign a parent account that itself has a parent account.
59
63
  define_attribute :parent_account_code, String
@@ -0,0 +1,22 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class ExternalProductCreate < Request
8
+
9
+ # @!attribute external_product_references
10
+ # @return [Array[ExternalProductReferenceBase]] List of external product references of the external product.
11
+ define_attribute :external_product_references, Array, { :item_type => :ExternalProductReferenceBase }
12
+
13
+ # @!attribute name
14
+ # @return [String] External product name.
15
+ define_attribute :name, String
16
+
17
+ # @!attribute plan_id
18
+ # @return [String] Recurly plan UUID.
19
+ define_attribute :plan_id, String
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class ExternalProductReferenceBase < Request
8
+
9
+ # @!attribute external_connection_type
10
+ # @return [String]
11
+ define_attribute :external_connection_type, String
12
+
13
+ # @!attribute reference_code
14
+ # @return [String] A code which associates the external product to a corresponding object or resource in an external platform like the Apple App Store or Google Play Store.
15
+ define_attribute :reference_code, String
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class ExternalProductReferenceCreate < Request
8
+
9
+ # @!attribute external_connection_type
10
+ # @return [String]
11
+ define_attribute :external_connection_type, String
12
+
13
+ # @!attribute reference_code
14
+ # @return [String] A code which associates the external product to a corresponding object or resource in an external platform like the Apple App Store or Google Play Store.
15
+ define_attribute :reference_code, String
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,14 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Requests
7
+ class ExternalProductUpdate < Request
8
+
9
+ # @!attribute plan_id
10
+ # @return [String] Recurly plan UUID.
11
+ define_attribute :plan_id, String
12
+ end
13
+ end
14
+ end
@@ -106,6 +106,10 @@ module Recurly
106
106
  # @return [String] Object type
107
107
  define_attribute :object, String
108
108
 
109
+ # @!attribute override_business_entity_id
110
+ # @return [String] Unique ID to identify the business entity assigned to the account. Available when the `Multiple Business Entities` feature is enabled.
111
+ define_attribute :override_business_entity_id, String
112
+
109
113
  # @!attribute parent_account_id
110
114
  # @return [String] The UUID of the parent account associated with this account.
111
115
  define_attribute :parent_account_id, String
@@ -0,0 +1,54 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class BusinessEntity < Resource
8
+
9
+ # @!attribute code
10
+ # @return [String] The entity code of the business entity.
11
+ define_attribute :code, String
12
+
13
+ # @!attribute created_at
14
+ # @return [DateTime] Created at
15
+ define_attribute :created_at, DateTime
16
+
17
+ # @!attribute default_registration_number
18
+ # @return [String] Registration number for the customer used on the invoice.
19
+ define_attribute :default_registration_number, String
20
+
21
+ # @!attribute default_vat_number
22
+ # @return [String] VAT number for the customer used on the invoice.
23
+ define_attribute :default_vat_number, String
24
+
25
+ # @!attribute id
26
+ # @return [String] Business entity ID
27
+ define_attribute :id, String
28
+
29
+ # @!attribute invoice_display_address
30
+ # @return [Address] Address information for the business entity that will appear on the invoice.
31
+ define_attribute :invoice_display_address, :Address
32
+
33
+ # @!attribute name
34
+ # @return [String] This name describes your business entity and will appear on the invoice.
35
+ define_attribute :name, String
36
+
37
+ # @!attribute object
38
+ # @return [String] Object type
39
+ define_attribute :object, String
40
+
41
+ # @!attribute subscriber_location_countries
42
+ # @return [Array[String]] List of countries for which the business entity will be used.
43
+ define_attribute :subscriber_location_countries, Array, { :item_type => String }
44
+
45
+ # @!attribute tax_address
46
+ # @return [Address] Address information for the business entity that will be used for calculating taxes.
47
+ define_attribute :tax_address, :Address
48
+
49
+ # @!attribute updated_at
50
+ # @return [DateTime] Last updated at
51
+ define_attribute :updated_at, DateTime
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,26 @@
1
+ # This file is automatically created by Recurly's OpenAPI generation process
2
+ # and thus any edits you make by hand will be lost. If you wish to make a
3
+ # change to this file, please create a Github issue explaining the changes you
4
+ # need and we will usher them to the appropriate places.
5
+ module Recurly
6
+ module Resources
7
+ class ExternalProductReferenceCollection < Resource
8
+
9
+ # @!attribute data
10
+ # @return [Array[ExternalProductReferenceMini]]
11
+ define_attribute :data, Array, { :item_type => :ExternalProductReferenceMini }
12
+
13
+ # @!attribute has_more
14
+ # @return [Boolean] Indicates there are more results on subsequent pages.
15
+ define_attribute :has_more, :Boolean
16
+
17
+ # @!attribute next
18
+ # @return [String] Path to subsequent page of results.
19
+ define_attribute :next, String
20
+
21
+ # @!attribute object
22
+ # @return [String] Will always be List.
23
+ define_attribute :object, String
24
+ end
25
+ end
26
+ end
@@ -22,6 +22,10 @@ module Recurly
22
22
  # @return [String] The `billing_info_id` is the value that represents a specific billing info for an end customer. When `billing_info_id` is used to assign billing info to the subscription, all future billing events for the subscription will bill to the specified billing info. `billing_info_id` can ONLY be used for sites utilizing the Wallet feature.
23
23
  define_attribute :billing_info_id, String
24
24
 
25
+ # @!attribute business_entity_id
26
+ # @return [String] Unique ID to identify the business entity assigned to the invoice. Available when the `Multiple Business Entities` feature is enabled.
27
+ define_attribute :business_entity_id, String
28
+
25
29
  # @!attribute closed_at
26
30
  # @return [DateTime] Date invoice was marked paid or failed.
27
31
  define_attribute :closed_at, DateTime
@@ -1,3 +1,3 @@
1
1
  module Recurly
2
- VERSION = "4.36.0"
2
+ VERSION = "4.38.0"
3
3
  end
data/openapi/api.yaml CHANGED
@@ -206,6 +206,7 @@ x-tagGroups:
206
206
  - external_invoices
207
207
  - external_products
208
208
  - external_accounts
209
+ - external_product_references
209
210
  - name: Products and Promotions
210
211
  tags:
211
212
  - item
@@ -227,6 +228,7 @@ x-tagGroups:
227
228
  - custom_field_definition
228
229
  - shipping_method
229
230
  - dunning_campaigns
231
+ - business_entities
230
232
  tags:
231
233
  - name: site
232
234
  x-displayName: Site
@@ -360,6 +362,10 @@ tags:
360
362
  description: A product from an external resource that is not managed by the Recurly
361
363
  platform and instead is managed by third-party platforms like Apple App Store
362
364
  and Google Play Store.
365
+ - name: external_product_references
366
+ x-displayName: External Product Reference
367
+ description: Associates an external product to a corresponding resource on an external
368
+ platform like the Apple App Store or Google Play Store.
363
369
  - name: gift_cards
364
370
  x-displayName: Gift Cards
365
371
  description: Add gift card purchases to your checkout and allow gift card recipients
@@ -369,6 +375,10 @@ tags:
369
375
  description: An account from an external resource that is not managed by the Recurly
370
376
  platform and instead is managed by third-party platforms like Apple App Store
371
377
  and Google Play Store.
378
+ - name: business_entities
379
+ x-displayName: Business Entities
380
+ description: Describes the business address that will be used for invoices and taxes
381
+ depending on settings and subscriber location.
372
382
  paths:
373
383
  "/sites":
374
384
  get:
@@ -7745,6 +7755,43 @@ paths:
7745
7755
  schema:
7746
7756
  "$ref": "#/components/schemas/Error"
7747
7757
  x-code-samples: []
7758
+ post:
7759
+ tags:
7760
+ - external_products
7761
+ operationId: create_external_product
7762
+ summary: Create an external product
7763
+ requestBody:
7764
+ content:
7765
+ application/json:
7766
+ schema:
7767
+ "$ref": "#/components/schemas/ExternalProductCreate"
7768
+ required: true
7769
+ responses:
7770
+ '201':
7771
+ description: Returns the external product
7772
+ content:
7773
+ application/json:
7774
+ schema:
7775
+ "$ref": "#/components/schemas/ExternalProduct"
7776
+ '400':
7777
+ description: Bad request; perhaps missing or invalid parameters.
7778
+ content:
7779
+ application/json:
7780
+ schema:
7781
+ "$ref": "#/components/schemas/Error"
7782
+ '404':
7783
+ description: External product cannot be created for the specified reason.
7784
+ content:
7785
+ application/json:
7786
+ schema:
7787
+ "$ref": "#/components/schemas/Error"
7788
+ default:
7789
+ description: Unexpected error.
7790
+ content:
7791
+ application/json:
7792
+ schema:
7793
+ "$ref": "#/components/schemas/Error"
7794
+ x-code-samples: []
7748
7795
  "/external_products/{external_product_id}":
7749
7796
  parameters:
7750
7797
  - "$ref": "#/components/parameters/external_product_id"
@@ -7773,6 +7820,181 @@ paths:
7773
7820
  schema:
7774
7821
  "$ref": "#/components/schemas/Error"
7775
7822
  x-code-samples: []
7823
+ put:
7824
+ tags:
7825
+ - external_products
7826
+ operationId: update_external_product
7827
+ summary: Update an external product
7828
+ requestBody:
7829
+ content:
7830
+ application/json:
7831
+ schema:
7832
+ "$ref": "#/components/schemas/ExternalProductUpdate"
7833
+ required: true
7834
+ responses:
7835
+ '200':
7836
+ description: Settings for an external product.
7837
+ content:
7838
+ application/json:
7839
+ schema:
7840
+ "$ref": "#/components/schemas/ExternalProduct"
7841
+ '404':
7842
+ description: Bad request; perhaps missing or invalid parameters.
7843
+ content:
7844
+ application/json:
7845
+ schema:
7846
+ "$ref": "#/components/schemas/Error"
7847
+ default:
7848
+ description: Unexpected error.
7849
+ content:
7850
+ application/json:
7851
+ schema:
7852
+ "$ref": "#/components/schemas/Error"
7853
+ x-code-samples: []
7854
+ delete:
7855
+ tags:
7856
+ - external_products
7857
+ operationId: deactivate_external_products
7858
+ summary: Deactivate an external product
7859
+ description: Deactivate an external product.
7860
+ responses:
7861
+ '200':
7862
+ description: Deactivated external product.
7863
+ content:
7864
+ application/json:
7865
+ schema:
7866
+ "$ref": "#/components/schemas/ExternalProduct"
7867
+ '404':
7868
+ description: Bad request; perhaps missing or invalid parameters.
7869
+ content:
7870
+ application/json:
7871
+ schema:
7872
+ "$ref": "#/components/schemas/Error"
7873
+ default:
7874
+ description: Unexpected error.
7875
+ content:
7876
+ application/json:
7877
+ schema:
7878
+ "$ref": "#/components/schemas/Error"
7879
+ x-code-samples: []
7880
+ "/external_products/{external_product_id}/external_product_references":
7881
+ parameters:
7882
+ - "$ref": "#/components/parameters/external_product_id"
7883
+ get:
7884
+ tags:
7885
+ - external_product_references
7886
+ operationId: list_external_product_external_product_references
7887
+ summary: List the external product references for an external product
7888
+ description: See the [Pagination Guide](/developers/guides/pagination.html)
7889
+ to learn how to use pagination in the API and Client Libraries.
7890
+ parameters:
7891
+ - "$ref": "#/components/parameters/sort_dates"
7892
+ responses:
7893
+ '200':
7894
+ description: A list of the the external product references for an external
7895
+ product.
7896
+ content:
7897
+ application/json:
7898
+ schema:
7899
+ "$ref": "#/components/schemas/ExternalProductReferenceCollection"
7900
+ '404':
7901
+ description: Incorrect site or external product ID.
7902
+ content:
7903
+ application/json:
7904
+ schema:
7905
+ "$ref": "#/components/schemas/Error"
7906
+ default:
7907
+ description: Unexpected error.
7908
+ content:
7909
+ application/json:
7910
+ schema:
7911
+ "$ref": "#/components/schemas/Error"
7912
+ x-code-samples: []
7913
+ post:
7914
+ tags:
7915
+ - external_product_references
7916
+ operationId: create_external_product_external_product_reference
7917
+ summary: Create an external product reference on an external product
7918
+ requestBody:
7919
+ content:
7920
+ application/json:
7921
+ schema:
7922
+ "$ref": "#/components/schemas/ExternalProductReferenceCreate"
7923
+ required: true
7924
+ responses:
7925
+ '201':
7926
+ description: Details for the external product reference.
7927
+ content:
7928
+ application/json:
7929
+ schema:
7930
+ "$ref": "#/components/schemas/ExternalProductReferenceMini"
7931
+ '404':
7932
+ description: Incorrect site.
7933
+ content:
7934
+ application/json:
7935
+ schema:
7936
+ "$ref": "#/components/schemas/Error"
7937
+ default:
7938
+ description: Unexpected error.
7939
+ content:
7940
+ application/json:
7941
+ schema:
7942
+ "$ref": "#/components/schemas/Error"
7943
+ x-code-samples: []
7944
+ "/external_products/{external_product_id}/external_product_references/{external_product_reference_id}":
7945
+ parameters:
7946
+ - "$ref": "#/components/parameters/external_product_id"
7947
+ - "$ref": "#/components/parameters/external_product_reference_id"
7948
+ get:
7949
+ tags:
7950
+ - external_product_references
7951
+ operationId: get_external_product_external_product_reference
7952
+ summary: Fetch an external product reference
7953
+ responses:
7954
+ '200':
7955
+ description: Details for an external product reference.
7956
+ content:
7957
+ application/json:
7958
+ schema:
7959
+ "$ref": "#/components/schemas/ExternalProductReferenceMini"
7960
+ '404':
7961
+ description: Incorrect site or external product ID.
7962
+ content:
7963
+ application/json:
7964
+ schema:
7965
+ "$ref": "#/components/schemas/Error"
7966
+ default:
7967
+ description: Unexpected error.
7968
+ content:
7969
+ application/json:
7970
+ schema:
7971
+ "$ref": "#/components/schemas/Error"
7972
+ x-code-samples: []
7973
+ delete:
7974
+ tags:
7975
+ - external_product_references
7976
+ operationId: deactivate_external_product_external_product_reference
7977
+ summary: Deactivate an external product reference
7978
+ responses:
7979
+ '200':
7980
+ description: Details for an external product reference.
7981
+ content:
7982
+ application/json:
7983
+ schema:
7984
+ "$ref": "#/components/schemas/ExternalProductReferenceMini"
7985
+ '404':
7986
+ description: Incorrect site or external product reference ID.
7987
+ content:
7988
+ application/json:
7989
+ schema:
7990
+ "$ref": "#/components/schemas/Error"
7991
+ default:
7992
+ description: Unexpected error.
7993
+ content:
7994
+ application/json:
7995
+ schema:
7996
+ "$ref": "#/components/schemas/Error"
7997
+ x-code-samples: []
7776
7998
  "/external_subscriptions":
7777
7999
  get:
7778
8000
  tags:
@@ -15757,6 +15979,60 @@ paths:
15757
15979
  schema:
15758
15980
  "$ref": "#/components/schemas/Error"
15759
15981
  x-code-samples: []
15982
+ "/business_entities/{business_entity_id}":
15983
+ parameters:
15984
+ - "$ref": "#/components/parameters/business_entity_id"
15985
+ get:
15986
+ tags:
15987
+ - business_entities
15988
+ operationId: get_business_entity
15989
+ summary: Fetch a business entity
15990
+ responses:
15991
+ '200':
15992
+ description: Business entity details
15993
+ content:
15994
+ application/json:
15995
+ schema:
15996
+ "$ref": "#/components/schemas/BusinessEntity"
15997
+ '404':
15998
+ description: Incorrect site or business entity ID.
15999
+ content:
16000
+ application/json:
16001
+ schema:
16002
+ "$ref": "#/components/schemas/Error"
16003
+ default:
16004
+ description: Unexpected error.
16005
+ content:
16006
+ application/json:
16007
+ schema:
16008
+ "$ref": "#/components/schemas/Error"
16009
+ x-code-samples: []
16010
+ "/business_entities":
16011
+ get:
16012
+ tags:
16013
+ - business_entities
16014
+ operationId: list_business_entities
16015
+ summary: List business entities
16016
+ responses:
16017
+ '200':
16018
+ description: List of all business entities on your site.
16019
+ content:
16020
+ application/json:
16021
+ schema:
16022
+ "$ref": "#/components/schemas/BusinessEntityList"
16023
+ '404':
16024
+ description: Incorrect site.
16025
+ content:
16026
+ application/json:
16027
+ schema:
16028
+ "$ref": "#/components/schemas/Error"
16029
+ default:
16030
+ description: Unexpected error.
16031
+ content:
16032
+ application/json:
16033
+ schema:
16034
+ "$ref": "#/components/schemas/Error"
16035
+ x-code-samples: []
15760
16036
  "/gift_cards":
15761
16037
  get:
15762
16038
  tags:
@@ -15926,6 +16202,49 @@ paths:
15926
16202
  schema:
15927
16203
  "$ref": "#/components/schemas/Error"
15928
16204
  x-code-samples: []
16205
+ "/business_entities/{business_entity_id}/invoices":
16206
+ get:
16207
+ tags:
16208
+ - invoice
16209
+ operationId: list_business_entity_invoices
16210
+ summary: List a business entity's invoices
16211
+ description: See the [Pagination Guide](/developers/guides/pagination.html)
16212
+ to learn how to use pagination in the API and Client Libraries.
16213
+ parameters:
16214
+ - "$ref": "#/components/parameters/business_entity_id"
16215
+ - "$ref": "#/components/parameters/ids"
16216
+ - "$ref": "#/components/parameters/limit"
16217
+ - "$ref": "#/components/parameters/order"
16218
+ - "$ref": "#/components/parameters/sort_dates"
16219
+ - "$ref": "#/components/parameters/filter_begin_time"
16220
+ - "$ref": "#/components/parameters/filter_end_time"
16221
+ - "$ref": "#/components/parameters/filter_invoice_type"
16222
+ responses:
16223
+ '200':
16224
+ description: A list of the business entity's invoices.
16225
+ content:
16226
+ application/json:
16227
+ schema:
16228
+ "$ref": "#/components/schemas/InvoiceList"
16229
+ '400':
16230
+ description: Invalid or unpermitted parameter.
16231
+ content:
16232
+ application/json:
16233
+ schema:
16234
+ "$ref": "#/components/schemas/Error"
16235
+ '404':
16236
+ description: Incorrect site or business entity ID.
16237
+ content:
16238
+ application/json:
16239
+ schema:
16240
+ "$ref": "#/components/schemas/Error"
16241
+ default:
16242
+ description: Unexpected error.
16243
+ content:
16244
+ application/json:
16245
+ schema:
16246
+ "$ref": "#/components/schemas/Error"
16247
+ x-code-samples: []
15929
16248
  servers:
15930
16249
  - url: https://v3.recurly.com
15931
16250
  - url: https://v3.eu.recurly.com
@@ -15963,6 +16282,14 @@ components:
15963
16282
  required: true
15964
16283
  schema:
15965
16284
  type: string
16285
+ business_entity_id:
16286
+ name: business_entity_id
16287
+ in: path
16288
+ description: Business Entity ID. For ID no prefix is used e.g. `e28zov4fw0v2`.
16289
+ For code use prefix `code-`, e.g. `code-entity1`.
16290
+ required: true
16291
+ schema:
16292
+ type: string
15966
16293
  usage_id:
15967
16294
  name: usage_id
15968
16295
  in: path
@@ -16014,6 +16341,13 @@ components:
16014
16341
  required: true
16015
16342
  schema:
16016
16343
  type: string
16344
+ external_product_reference_id:
16345
+ name: external_product_reference_id
16346
+ in: path
16347
+ description: External product reference ID, e.g. `d39iun2fw1v4`.
16348
+ required: true
16349
+ schema:
16350
+ type: string
16017
16351
  external_subscription_id:
16018
16352
  name: external_subscription_id
16019
16353
  in: path
@@ -16877,6 +17211,11 @@ components:
16877
17211
  merchant has an integration for the Vertex tax provider, this optional
16878
17212
  value will be sent in any tax calculation requests for the account.
16879
17213
  maxLength: 30
17214
+ override_business_entity_id:
17215
+ type: string
17216
+ title: Override Business Entity ID
17217
+ description: Unique ID to identify the business entity assigned to the account.
17218
+ Available when the `Multiple Business Entities` feature is enabled.
16880
17219
  parent_account_code:
16881
17220
  type: string
16882
17221
  maxLength: 50
@@ -16945,6 +17284,11 @@ components:
16945
17284
  The customer will also use this email address to log into your hosted
16946
17285
  account management pages. This value does not need to be unique.
16947
17286
  maxLength: 255
17287
+ override_business_entity_id:
17288
+ type: string
17289
+ title: Override Business Entity ID
17290
+ description: Unique ID to identify the business entity assigned to the account.
17291
+ Available when the `Multiple Business Entities` feature is enabled.
16948
17292
  preferred_locale:
16949
17293
  description: Used to determine the language and locale of emails sent on
16950
17294
  behalf of the merchant to the customer.
@@ -19134,6 +19478,11 @@ components:
19134
19478
  type: boolean
19135
19479
  title: Final Dunning Event
19136
19480
  description: Last communication attempt.
19481
+ business_entity_id:
19482
+ type: string
19483
+ title: Business Entity ID
19484
+ description: Unique ID to identify the business entity assigned to the invoice.
19485
+ Available when the `Multiple Business Entities` feature is enabled.
19137
19486
  InvoiceCreate:
19138
19487
  type: object
19139
19488
  properties:
@@ -23220,6 +23569,73 @@ components:
23220
23569
  type: array
23221
23570
  items:
23222
23571
  "$ref": "#/components/schemas/ExternalProduct"
23572
+ ExternalProductCreate:
23573
+ type: object
23574
+ properties:
23575
+ name:
23576
+ type: string
23577
+ description: External product name.
23578
+ plan_id:
23579
+ type: string
23580
+ description: Recurly plan UUID.
23581
+ external_product_references:
23582
+ type: array
23583
+ title: External Product References
23584
+ description: List of external product references of the external product.
23585
+ items:
23586
+ "$ref": "#/components/schemas/ExternalProductReferenceBase"
23587
+ required:
23588
+ - name
23589
+ ExternalProductUpdate:
23590
+ type: object
23591
+ properties:
23592
+ plan_id:
23593
+ type: string
23594
+ description: Recurly plan UUID.
23595
+ required:
23596
+ - plan_id
23597
+ ExternalProductReferenceBase:
23598
+ type: object
23599
+ properties:
23600
+ reference_code:
23601
+ type: string
23602
+ description: A code which associates the external product to a corresponding
23603
+ object or resource in an external platform like the Apple App Store or
23604
+ Google Play Store.
23605
+ maxLength: 255
23606
+ external_connection_type:
23607
+ "$ref": "#/components/schemas/ExternalProductReferenceConnectionTypeEnum"
23608
+ ExternalProductReferenceCollection:
23609
+ type: object
23610
+ properties:
23611
+ object:
23612
+ type: string
23613
+ title: Object type
23614
+ description: Will always be List.
23615
+ has_more:
23616
+ type: boolean
23617
+ description: Indicates there are more results on subsequent pages.
23618
+ next:
23619
+ type: string
23620
+ description: Path to subsequent page of results.
23621
+ data:
23622
+ type: array
23623
+ items:
23624
+ "$ref": "#/components/schemas/ExternalProductReferenceMini"
23625
+ ExternalProductReferenceCreate:
23626
+ allOf:
23627
+ - "$ref": "#/components/schemas/ExternalProductReferenceBase"
23628
+ required:
23629
+ - reference_code
23630
+ - external_connection_type
23631
+ ExternalProductReferenceUpdate:
23632
+ allOf:
23633
+ - "$ref": "#/components/schemas/ExternalProductReferenceBase"
23634
+ ExternalProductReferenceConnectionTypeEnum:
23635
+ type: string
23636
+ enum:
23637
+ - apple_app_store
23638
+ - google_play_store
23223
23639
  ExternalAccountList:
23224
23640
  type: object
23225
23641
  properties:
@@ -23648,6 +24064,84 @@ components:
23648
24064
  type: string
23649
24065
  description: Username of the associated payment method. Currently only associated
23650
24066
  with Venmo.
24067
+ BusinessEntityList:
24068
+ type: object
24069
+ properties:
24070
+ object:
24071
+ type: string
24072
+ title: Object type
24073
+ description: Will always be List.
24074
+ has_more:
24075
+ type: boolean
24076
+ description: Indicates there are more results on subsequent pages.
24077
+ next:
24078
+ type: string
24079
+ description: Path to subsequent page of results.
24080
+ data:
24081
+ type: array
24082
+ items:
24083
+ "$ref": "#/components/schemas/BusinessEntity"
24084
+ BusinessEntity:
24085
+ type: object
24086
+ description: Business entity details
24087
+ properties:
24088
+ id:
24089
+ title: Business entity ID
24090
+ type: string
24091
+ maxLength: 13
24092
+ readOnly: true
24093
+ object:
24094
+ title: Object type
24095
+ type: string
24096
+ readOnly: true
24097
+ code:
24098
+ title: Business entity code
24099
+ type: string
24100
+ maxLength: 50
24101
+ description: The entity code of the business entity.
24102
+ name:
24103
+ type: string
24104
+ title: Name
24105
+ description: This name describes your business entity and will appear on
24106
+ the invoice.
24107
+ maxLength: 255
24108
+ invoice_display_address:
24109
+ title: Invoice display address
24110
+ description: Address information for the business entity that will appear
24111
+ on the invoice.
24112
+ "$ref": "#/components/schemas/Address"
24113
+ tax_address:
24114
+ title: Tax address
24115
+ description: Address information for the business entity that will be used
24116
+ for calculating taxes.
24117
+ "$ref": "#/components/schemas/Address"
24118
+ default_vat_number:
24119
+ type: string
24120
+ title: Default VAT number
24121
+ description: VAT number for the customer used on the invoice.
24122
+ maxLength: 20
24123
+ default_registration_number:
24124
+ type: string
24125
+ title: Default registration number
24126
+ description: Registration number for the customer used on the invoice.
24127
+ maxLength: 30
24128
+ subscriber_location_countries:
24129
+ type: array
24130
+ title: Subscriber location countries
24131
+ description: List of countries for which the business entity will be used.
24132
+ items:
24133
+ type: string
24134
+ title: Country code
24135
+ created_at:
24136
+ type: string
24137
+ format: date-time
24138
+ title: Created at
24139
+ readOnly: true
24140
+ updated_at:
24141
+ type: string
24142
+ format: date-time
24143
+ title: Last updated at
24144
+ readOnly: true
23651
24145
  GiftCardList:
23652
24146
  type: object
23653
24147
  properties:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recurly
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.36.0
4
+ version: 4.38.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Recurly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-23 00:00:00.000000000 Z
11
+ date: 2023-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -168,6 +168,10 @@ files:
168
168
  - lib/recurly/requests/dunning_campaigns_bulk_update.rb
169
169
  - lib/recurly/requests/external_account_create.rb
170
170
  - lib/recurly/requests/external_account_update.rb
171
+ - lib/recurly/requests/external_product_create.rb
172
+ - lib/recurly/requests/external_product_reference_base.rb
173
+ - lib/recurly/requests/external_product_reference_create.rb
174
+ - lib/recurly/requests/external_product_update.rb
171
175
  - lib/recurly/requests/external_refund.rb
172
176
  - lib/recurly/requests/external_transaction.rb
173
177
  - lib/recurly/requests/gateway_attributes.rb
@@ -237,6 +241,7 @@ files:
237
241
  - lib/recurly/resources/billing_info.rb
238
242
  - lib/recurly/resources/billing_info_updated_by.rb
239
243
  - lib/recurly/resources/binary_file.rb
244
+ - lib/recurly/resources/business_entity.rb
240
245
  - lib/recurly/resources/coupon.rb
241
246
  - lib/recurly/resources/coupon_discount.rb
242
247
  - lib/recurly/resources/coupon_discount_pricing.rb
@@ -263,6 +268,7 @@ files:
263
268
  - lib/recurly/resources/external_charge.rb
264
269
  - lib/recurly/resources/external_invoice.rb
265
270
  - lib/recurly/resources/external_product.rb
271
+ - lib/recurly/resources/external_product_reference_collection.rb
266
272
  - lib/recurly/resources/external_product_reference_mini.rb
267
273
  - lib/recurly/resources/external_subscription.rb
268
274
  - lib/recurly/resources/fraud_info.rb
@@ -338,7 +344,7 @@ metadata:
338
344
  changelog_uri: https://github.com/recurly/recurly-client-ruby/blob/master/CHANGELOG.md
339
345
  documentation_uri: https://recurly.github.io/recurly-client-ruby/
340
346
  homepage_uri: https://github.com/recurly/recurly-client-ruby
341
- source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.36.0
347
+ source_code_uri: https://github.com/recurly/recurly-client-ruby/tree/4.38.0
342
348
  post_install_message:
343
349
  rdoc_options: []
344
350
  require_paths: