class Simplify::Coupon
A Coupon
object.
Attributes
Authentication
object used to access the API (See Simplify::Authentication
for details)
Public Class Methods
Creates an Coupon
object
- parms
-
a hash of parameters; valid keys are:
-
amountOff
Amount off of the price of the product in the smallest units of the currency of the merchant. While this field is optional, you must provide either amountOff or percentOff for a coupon. Example: 100 = $1.00USD [min value: 1] -
couponCode
Code that identifies the coupon to be used. [min length: 2] required -
description
A brief section that describes the coupon. -
durationInMonths
DEPRECATED - Duration in months that the coupon will be applied after it has first been selected. [min value: 1, max value: 9999] -
endDate
Last date of the coupon in UTC millis that the coupon can be applied to a subscription. This ends at 23:59:59 of the merchant timezone. -
maxRedemptions
Maximum number of redemptions allowed for the coupon. A redemption is defined as when the coupon is applied to the subscription for the first time. [min value: 1] -
numTimesApplied
The number of times a coupon will be applied on a customer's subscription. [min value: 1, max value: 9999] -
percentOff
Percentage off of the price of the product. While this field is optional, you must provide either amountOff or percentOff for a coupon. The percent off is a whole number. [min value: 1, max value: 100] -
startDate
First date of the coupon in UTC millis that the coupon can be applied to a subscription. This starts at midnight of the merchant timezone. required
- auth
-
Authentication
information used for the API call. If no value is passed the global keysSimplify::public_key
andSimplify::private_key
are used. For backwards compatibility the public and private keys may be passed instead of the authentication object.
Returns a Coupon
object.
# File lib/simplify/coupon.rb, line 74 def self.create(parms, *auth) auth_obj = Simplify::PaymentsApi.create_auth_object(auth) h = Simplify::PaymentsApi.execute("coupon", 'create', parms, auth_obj) obj = Coupon.new() obj.authentication = auth_obj obj = obj.merge!(h) obj end
Retrieve a Coupon
object from the API
- id
-
ID of object to retrieve
- auth
-
Authentication
information used for the API call. If no value is passed the global keysSimplify::public_key
andSimplify::private_key
are used. For backwards compatibility the public and private keys may be passed instead of the authentication object.
Returns a Coupon
object.
# File lib/simplify/coupon.rb, line 116 def self.find(id, *auth) auth_obj = Simplify::PaymentsApi.create_auth_object(auth) h = Simplify::PaymentsApi.execute("coupon", 'show', {"id" => id}, auth_obj) obj = Coupon.new() obj.authentication = auth_obj obj = obj.merge!(h) obj end
Retrieve Coupon
objects.
- criteria
-
a hash of parameters; valid keys are:
-
filter
<table class=“filter_list”><tr><td>filter.id</td><td>Filter by the coupon Id</td></tr><tr><td>filter.text</td><td>Filter by the coupon code</td></tr><tr><td>filter.dateCreatedMin<sup>*</sup></td><td>Filter by the minimum created date you are searching for - Date in UTC millis</td></tr><tr><td>filter.dateCreatedMax<sup>*</sup></td><td>Filter by the maximum created date you are searching for - Date in UTC millis</td></tr><tr><td>filter.startDateMin</td><td>Filter by the minimum coupon start date you are searching for - Date in UTC millis</td></tr><tr><td>filter.startDateMax</td><td>Filter by the maximum coupon start date you are searching for - Date in UTC millis</td></tr><tr><td>filter.endDateMin</td><td>Filter by the minimum coupon end date you are searching for - Date in UTC millis</td></tr><tr><td>filter.endDateMax</td><td>Filter by the maximum coupon end date you are searching for - Date in UTC millis</td></tr></table>
<sup>*</sup>Use dateCreatedMin with dateCreatedMax in the same filter if you want to search between two created dates -
max
Allows up to a max of 50 list items to return. [min value: 0, max value: 50, default: 20] -
offset
Used in paging of the list. This is the start offset of the page. [min value: 0, default: 0] -
sorting
Allows for ascending or descending sorting of the list. The value maps properties to the sort direction (eitherasc
for ascending ordesc
for descending). Sortable properties are:dateCreated maxRedemptions timesRedeemed id startDate endDate percentOff couponCode durationInMonths numTimesApplied amountOff
.
- auth
-
Authentication
information used for the API call. If no value is passed the global keysSimplify::public_key
andSimplify::private_key
are used. For backwards compatibility the public and private keys may be passed instead of the authentication object.
Returns an object where the list
property contains the list of Coupon
objects and the total
property contains the total number of Coupon
objects available for the given criteria.
# File lib/simplify/coupon.rb, line 100 def self.list(criteria = nil, *auth) auth_obj = Simplify::PaymentsApi.create_auth_object(auth) h = Simplify::PaymentsApi.execute("coupon", 'list', criteria, auth_obj) obj = Coupon.new() obj.authentication = auth_obj obj = obj.merge!(h) obj end
Public Instance Methods
Delete this object
# File lib/simplify/coupon.rb, line 85 def delete() h = Simplify::PaymentsApi.execute("coupon", 'delete', self, self.authentication) self.merge!(h) self end
Returns the private key used when accessing this object. Deprecated: please use 'authentication' instead.
# File lib/simplify/coupon.rb, line 50 def private_key return self.authentication.private_key end
Sets the private key used when accessing this object. Deprecated: please use 'authentication' instead.
# File lib/simplify/coupon.rb, line 55 def private_key=(k) return self.authentication.private_key = k end
Returns the public key used when accessing this object. Deprecated: please use 'authentication' instead.
# File lib/simplify/coupon.rb, line 40 def public_key return self.authentication.public_key end
Sets the public key used when accessing this object. Deprecated: please use 'authentication' instead.
# File lib/simplify/coupon.rb, line 45 def public_key=(k) return self.authentication.public_key = k end
Updates this object
The properties that can be updated:
-
endDate
The ending date in UTC millis for the coupon. This must be after the starting date of the coupon. -
maxRedemptions
Maximum number of redemptions allowed for the coupon. A redemption is defined as when the coupon is applied to the subscription for the first time. [min value: 1]
# File lib/simplify/coupon.rb, line 131 def update() h = Simplify::PaymentsApi.execute("coupon", 'update', self, self.authentication) self.merge!(h) self end