Class: Orb::Resources::Coupons
- Inherits:
-
Object
- Object
- Orb::Resources::Coupons
- Defined in:
- lib/orb/resources/coupons.rb,
lib/orb/resources/coupons/subscriptions.rb
Defined Under Namespace
Classes: Subscriptions
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#archive(coupon_id, request_options: {}) ⇒ Orb::Models::Coupon
This endpoint allows a coupon to be archived.
-
#create(discount: , redemption_code: , duration_in_months: nil, max_redemptions: nil, request_options: {}) ⇒ Orb::Models::Coupon
Some parameter documentations has been truncated, see Models::CouponCreateParams for more details.
-
#fetch(coupon_id, request_options: {}) ⇒ Orb::Models::Coupon
This endpoint retrieves a coupon by its ID.
-
#initialize(client:) ⇒ Coupons
constructor
private
A new instance of Coupons.
-
#list(cursor: nil, limit: nil, redemption_code: nil, show_archived: nil, request_options: {}) ⇒ Orb::Internal::Page<Orb::Models::Coupon>
Some parameter documentations has been truncated, see Models::CouponListParams for more details.
Constructor Details
#initialize(client:) ⇒ Coupons
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Coupons.
117 118 119 120 |
# File 'lib/orb/resources/coupons.rb', line 117 def initialize(client:) @client = client @subscriptions = Orb::Resources::Coupons::Subscriptions.new(client: client) end |
Instance Attribute Details
#subscriptions ⇒ Orb::Resources::Coupons::Subscriptions (readonly)
7 8 9 |
# File 'lib/orb/resources/coupons.rb', line 7 def subscriptions @subscriptions end |
Instance Method Details
#archive(coupon_id, request_options: {}) ⇒ Orb::Models::Coupon
This endpoint allows a coupon to be archived. Archived coupons can no longer be redeemed, and will be hidden from lists of active coupons. Additionally, once a coupon is archived, its redemption code can be reused for a different coupon.
84 85 86 87 88 89 90 91 |
# File 'lib/orb/resources/coupons.rb', line 84 def archive(coupon_id, params = {}) @client.request( method: :post, path: ["coupons/%1$s/archive", coupon_id], model: Orb::Coupon, options: params[:request_options] ) end |
#create(discount: , redemption_code: , duration_in_months: nil, max_redemptions: nil, request_options: {}) ⇒ Orb::Models::Coupon
Some parameter documentations has been truncated, see Models::CouponCreateParams for more details.
This endpoint allows the creation of coupons, which can then be redeemed at subscription creation or plan change.
30 31 32 33 |
# File 'lib/orb/resources/coupons.rb', line 30 def create(params) parsed, = Orb::CouponCreateParams.dump_request(params) @client.request(method: :post, path: "coupons", body: parsed, model: Orb::Coupon, options: ) end |
#fetch(coupon_id, request_options: {}) ⇒ Orb::Models::Coupon
This endpoint retrieves a coupon by its ID. To fetch coupons by their redemption code, use the [List coupons](list-coupons) endpoint with the redemption_code parameter.
105 106 107 108 109 110 111 112 |
# File 'lib/orb/resources/coupons.rb', line 105 def fetch(coupon_id, params = {}) @client.request( method: :get, path: ["coupons/%1$s", coupon_id], model: Orb::Coupon, options: params[:request_options] ) end |
#list(cursor: nil, limit: nil, redemption_code: nil, show_archived: nil, request_options: {}) ⇒ Orb::Internal::Page<Orb::Models::Coupon>
Some parameter documentations has been truncated, see Models::CouponListParams for more details.
This endpoint returns a list of all coupons for an account in a list format.
The list of coupons is ordered starting from the most recently created coupon. The response also includes ‘pagination_metadata`, which lets the caller retrieve the next page of results if they exist. More information about pagination can be found in the Pagination-metadata schema.
60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/orb/resources/coupons.rb', line 60 def list(params = {}) parsed, = Orb::CouponListParams.dump_request(params) @client.request( method: :get, path: "coupons", query: parsed, page: Orb::Internal::Page, model: Orb::Coupon, options: ) end |