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 +4 -4
- data/.bumpversion.cfg +1 -1
- data/CHANGELOG.md +22 -0
- data/GETTING_STARTED.md +1 -1
- data/lib/recurly/client/operations.rb +56 -0
- data/lib/recurly/requests/dunning_campaign_create.rb +26 -0
- data/lib/recurly/requests/dunning_campaign_update.rb +30 -0
- data/lib/recurly/requests/dunning_cycle_create.rb +42 -0
- data/lib/recurly/requests/dunning_interval_create.rb +18 -0
- data/lib/recurly/resources/dunning_campaign_email_template.rb +22 -0
- data/lib/recurly/resources/dunning_interval.rb +4 -0
- data/lib/recurly/version.rb +1 -1
- data/openapi/api.yaml +613 -316
- metadata +8 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fec1aaa67f020f5a9cd072cd4f1180cc7f7b5a96bc32221d829fe2920e30f666
|
|
4
|
+
data.tar.gz: b635eaa0fa48c04716eff5859ea0109a05b437cc96759afcd0eb0f2c1a054275
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ce2ad66f06fbc6a7686fa285337d0c6abe9ae6ca5f83e4e83ade831fe4f1fa9a3d0b07c14c3e358c1a934b5ffea2ce8d29e0683c008599bf16f281447ddc347a
|
|
7
|
+
data.tar.gz: 6bf91f57a09fa0a89a643714dd66d59a7599b0bc3403b9003cf53f2479ed192b76afdc43438279e6853cdd27fe483e689d49c94f122f39796e24de860ec6bd57
|
data/.bumpversion.cfg
CHANGED
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.
|
|
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
|
data/lib/recurly/version.rb
CHANGED