recurly 4.82.0 → 4.84.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f18ba4644a7a18b9af8bf1d8e2105b618e4b72c60ffece627e9ce0ac5c975df3
4
- data.tar.gz: af4b805af51738af015cc8b3b75366b626e06c8cb4216b63e13c61b1c4da5d80
3
+ metadata.gz: fec1aaa67f020f5a9cd072cd4f1180cc7f7b5a96bc32221d829fe2920e30f666
4
+ data.tar.gz: b635eaa0fa48c04716eff5859ea0109a05b437cc96759afcd0eb0f2c1a054275
5
5
  SHA512:
6
- metadata.gz: 4b775860b96876758f1f5d80bde246d290816a2ac5363543c33092de01dfc11feb9c8392bac719fd62a7e86950565f0f33bc4af931683f8dfad859607984e504
7
- data.tar.gz: 283ad6f4743597ffd73bfec1bef644896c9d557fe255b0cf270ed1838a393ae5de245be001f8dc0d5b7d489675dab409966c7eff9383e2a3b16eedb9c2bad9d5
6
+ metadata.gz: ce2ad66f06fbc6a7686fa285337d0c6abe9ae6ca5f83e4e83ade831fe4f1fa9a3d0b07c14c3e358c1a934b5ffea2ce8d29e0683c008599bf16f281447ddc347a
7
+ data.tar.gz: 6bf91f57a09fa0a89a643714dd66d59a7599b0bc3403b9003cf53f2479ed192b76afdc43438279e6853cdd27fe483e689d49c94f122f39796e24de860ec6bd57
data/.bumpversion.cfg CHANGED
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 4.82.0
2
+ current_version = 4.84.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.84.0](https://github.com/recurly/recurly-client-ruby/tree/4.84.0) (2026-10-08)
4
+
5
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.83.0...4.84.0)
6
+
7
+
8
+ **Merged Pull Requests**
9
+
10
+ - Generated Latest Changes for v2021-02-25 [#972](https://github.com/recurly/recurly-client-ruby/pull/972) ([recurly-integrations](https://github.com/recurly-integrations))
11
+
12
+
13
+
14
+ ## [4.83.0](https://github.com/recurly/recurly-client-ruby/tree/4.83.0) (2026-09-18)
15
+
16
+ [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.82.0...4.83.0)
17
+
18
+
19
+ **Merged Pull Requests**
20
+
21
+ - Generated Latest Changes for v2021-02-25 [#971](https://github.com/recurly/recurly-client-ruby/pull/971) ([recurly-integrations](https://github.com/recurly-integrations))
22
+
23
+
24
+
3
25
  ## [4.82.0](https://github.com/recurly/recurly-client-ruby/tree/4.82.0) (2026-09-15)
4
26
 
5
27
  [Full Changelog](https://github.com/recurly/recurly-client-ruby/compare/4.81.0...4.82.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.82'
8
+ gem 'recurly', '~> 4.84'
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.
@@ -4738,6 +4738,20 @@ module Recurly
4738
4738
  pager(path, **options)
4739
4739
  end
4740
4740
 
4741
+ # Create a new dunning campaign
4742
+ #
4743
+ # {https://developers.recurly.com/api/v2021-02-25#operation/create_dunning_campaign create_dunning_campaign api documentation}
4744
+ #
4745
+ # @param body [Requests::DunningCampaignCreate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::DunningCampaignCreate}
4746
+ # @param params [Hash] Optional query string parameters:
4747
+ #
4748
+ # @return [Resources::DunningCampaign] A new dunning campaign.
4749
+ #
4750
+ def create_dunning_campaign(body:, **options)
4751
+ path = "/dunning_campaigns"
4752
+ post(path, body, Requests::DunningCampaignCreate, **options)
4753
+ end
4754
+
4741
4755
  # Fetch a dunning campaign
4742
4756
  #
4743
4757
  # {https://developers.recurly.com/api/v2021-02-25#operation/get_dunning_campaign get_dunning_campaign api documentation}
@@ -4752,6 +4766,48 @@ module Recurly
4752
4766
  get(path, **options)
4753
4767
  end
4754
4768
 
4769
+ # Update a dunning campaign
4770
+ #
4771
+ # {https://developers.recurly.com/api/v2021-02-25#operation/update_dunning_campaign update_dunning_campaign api documentation}
4772
+ #
4773
+ # @param dunning_campaign_id [String] Dunning Campaign ID, e.g. +e28zov4fw0v2+.
4774
+ # @param body [Requests::DunningCampaignUpdate] The Hash representing the JSON request to send to the server. It should conform to the schema of {Requests::DunningCampaignUpdate}
4775
+ # @param params [Hash] Optional query string parameters:
4776
+ #
4777
+ # @return [Resources::DunningCampaign] The updated dunning campaign.
4778
+ #
4779
+ def update_dunning_campaign(dunning_campaign_id:, body:, **options)
4780
+ path = interpolate_path("/dunning_campaigns/{dunning_campaign_id}", dunning_campaign_id: dunning_campaign_id)
4781
+ put(path, body, Requests::DunningCampaignUpdate, **options)
4782
+ end
4783
+
4784
+ # Deactivate a dunning campaign
4785
+ #
4786
+ # {https://developers.recurly.com/api/v2021-02-25#operation/deactivate_dunning_campaign deactivate_dunning_campaign api documentation}
4787
+ #
4788
+ # @param dunning_campaign_id [String] Dunning Campaign ID, e.g. +e28zov4fw0v2+.
4789
+ # @param params [Hash] Optional query string parameters:
4790
+ #
4791
+ # @return [Resources::DunningCampaign] The deactivated dunning campaign.
4792
+ #
4793
+ def deactivate_dunning_campaign(dunning_campaign_id:, **options)
4794
+ path = interpolate_path("/dunning_campaigns/{dunning_campaign_id}", dunning_campaign_id: dunning_campaign_id)
4795
+ delete(path, **options)
4796
+ end
4797
+
4798
+ # List the custom email templates assignable to a dunning campaign interval
4799
+ #
4800
+ # {https://developers.recurly.com/api/v2021-02-25#operation/list_dunning_campaign_email_templates list_dunning_campaign_email_templates api documentation}
4801
+ #
4802
+ # @param params [Hash] Optional query string parameters:
4803
+ #
4804
+ # @return [Pager<Resources::DunningCampaignEmailTemplate>] A list of the site's assignable custom email templates.
4805
+ #
4806
+ def list_dunning_campaign_email_templates(**options)
4807
+ path = "/dunning_campaigns/email_templates"
4808
+ pager(path, **options)
4809
+ end
4810
+
4755
4811
  # Assign a dunning campaign to multiple plans
4756
4812
  #
4757
4813
  # {https://developers.recurly.com/api/v2021-02-25#operation/put_dunning_campaign_bulk_update put_dunning_campaign_bulk_update api documentation}
@@ -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 Requests
7
+ class DunningCampaignCreate < Request
8
+
9
+ # @!attribute code
10
+ # @return [String] Campaign code.
11
+ define_attribute :code, String
12
+
13
+ # @!attribute description
14
+ # @return [String] Campaign description.
15
+ define_attribute :description, String
16
+
17
+ # @!attribute dunning_cycles
18
+ # @return [Array[DunningCycleCreate]] Dunning Cycle settings. One entry per collection method (`automatic`, `manual`, `trial`); each type may appear at most once.
19
+ define_attribute :dunning_cycles, Array, { :item_type => :DunningCycleCreate }
20
+
21
+ # @!attribute name
22
+ # @return [String] Campaign name.
23
+ define_attribute :name, String
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,30 @@
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 DunningCampaignUpdate < Request
8
+
9
+ # @!attribute code
10
+ # @return [String] Campaign code.
11
+ define_attribute :code, String
12
+
13
+ # @!attribute default_campaign
14
+ # @return [Boolean] Set to `true` to make this the default campaign for accounts or plans without an assigned dunning campaign. Cannot be set on an inactive campaign, and cannot be unset directly—assign a different campaign as the default instead.
15
+ define_attribute :default_campaign, :Boolean
16
+
17
+ # @!attribute description
18
+ # @return [String] Campaign description.
19
+ define_attribute :description, String
20
+
21
+ # @!attribute dunning_cycles
22
+ # @return [Array[DunningCycleCreate]] Dunning Cycle settings. One entry per collection method (`automatic`, `manual`, `trial`); each type may appear at most once. Each cycle write fully replaces that cycle's current settings version.
23
+ define_attribute :dunning_cycles, Array, { :item_type => :DunningCycleCreate }
24
+
25
+ # @!attribute name
26
+ # @return [String] Campaign name.
27
+ define_attribute :name, String
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,42 @@
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 DunningCycleCreate < Request
8
+
9
+ # @!attribute active
10
+ # @return [Boolean] Only meaningful on the `trial` cycle, where sending `false` removes it. Other cycle types cannot be deactivated.
11
+ define_attribute :active, :Boolean
12
+
13
+ # @!attribute applies_to_manual_trial
14
+ # @return [Boolean] Whether the dunning settings will be applied to manual trials. Only applies to trial cycles.
15
+ define_attribute :applies_to_manual_trial, :Boolean
16
+
17
+ # @!attribute expire_subscription
18
+ # @return [Boolean] Whether the subscription(s) should be cancelled at the end of the dunning cycle.
19
+ define_attribute :expire_subscription, :Boolean
20
+
21
+ # @!attribute external_payment_recovery_extension_days
22
+ # @return [Integer] Number of days to extend external payment recovery. Only available when the site has external payment retries enabled.
23
+ define_attribute :external_payment_recovery_extension_days, Integer
24
+
25
+ # @!attribute fail_invoice
26
+ # @return [Boolean] Whether the invoice should be failed at the end of the dunning cycle.
27
+ define_attribute :fail_invoice, :Boolean
28
+
29
+ # @!attribute intervals
30
+ # @return [Array[DunningIntervalCreate]] Dunning intervals. Required unless `active` is `false`.
31
+ define_attribute :intervals, Array, { :item_type => :DunningIntervalCreate }
32
+
33
+ # @!attribute send_immediately_on_hard_decline
34
+ # @return [Boolean] Whether or not to send an extra email immediately to customers whose initial payment attempt fails with either a hard decline or invalid billing info.
35
+ define_attribute :send_immediately_on_hard_decline, :Boolean
36
+
37
+ # @!attribute type
38
+ # @return [String] The type of invoice this cycle applies to.
39
+ define_attribute :type, String
40
+ end
41
+ end
42
+ 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 DunningIntervalCreate < Request
8
+
9
+ # @!attribute days
10
+ # @return [Integer] Number of days before sending the next email.
11
+ define_attribute :days, Integer
12
+
13
+ # @!attribute email_template_id
14
+ # @return [String] The id of the custom email template to assign to this interval, from `GET /dunning_campaigns/email_templates`. `null` uses the system default template for this interval.
15
+ define_attribute :email_template_id, String
16
+ end
17
+ end
18
+ end
@@ -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 Resources
7
+ class DunningCampaignEmailTemplate < Resource
8
+
9
+ # @!attribute id
10
+ # @return [String] The id to assign under `intervals[].email_template_id`.
11
+ define_attribute :id, String
12
+
13
+ # @!attribute name
14
+ # @return [String] Template name.
15
+ define_attribute :name, String
16
+
17
+ # @!attribute type
18
+ # @return [String] The root template this custom template replaces, e.g. `payment_declined`, `invoice_past_due`, `post_trial_payment_declined`, `subscription_canceled_nonpayment`.
19
+ define_attribute :type, String
20
+ end
21
+ end
22
+ end
@@ -13,6 +13,10 @@ module Recurly
13
13
  # @!attribute email_template
14
14
  # @return [String] Email template being used.
15
15
  define_attribute :email_template, String
16
+
17
+ # @!attribute email_template_id
18
+ # @return [String] The id of the custom email template assigned to this interval, from `GET /dunning_campaigns/email_templates`. `null` means the system default template for this interval. Accepted on write; round-tripped on read.
19
+ define_attribute :email_template_id, String
16
20
  end
17
21
  end
18
22
  end
@@ -1,3 +1,3 @@
1
1
  module Recurly
2
- VERSION = "4.82.0"
2
+ VERSION = "4.84.0"
3
3
  end