Skip to main content
POST
/
v1
/
loyalties
/
{campaignId}
/
earning-rules
/
{earningRuleId}
/
enable
Enable Earning Rule
curl --request POST \
  --url https://{cluster}.voucherify.io/v1/loyalties/{campaignId}/earning-rules/{earningRuleId}/enable \
  --header 'Authorization: Bearer <token>' \
  --header 'X-App-Id: <api-key>' \
  --header 'X-App-Token: <api-key>'
{
  "id": "ern_raVUcdXruvXGuzm682ESrAzt",
  "created_at": "2022-11-24T09:03:14.534Z",
  "updated_at": "2022-11-25T14:07:39.460Z",
  "loyalty": {
    "points": 20,
    "type": "FIXED"
  },
  "event": "order.paid",
  "source": {
    "banner": "Order has been paid",
    "object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
    "object_type": "campaign"
  },
  "active": true,
  "start_date": "2022-11-23T00:00:00.000Z",
  "expiration_date": "2022-11-30T00:00:00.000Z",
  "validity_day_of_week": [
    1,
    2,
    3,
    4,
    5
  ],
  "object": "earning_rule",
  "automation_id": "auto_MbEIyLbn7pHyba5Qw5eeb35L",
  "metadata": {
    "Type": "Order has been paid - Fixed"
  }
}

Authorizations

X-App-Id
string
header
required
X-App-Token
string
header
required
Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

campaignId
string
required

Unique campaign ID or name.

Example:

"camp_rRsfatlwN7unSeUIJDCYedal"

earningRuleId
string
required

Unique identifier of an earning rule, assigned by Voucherify.

Example:

"ern_CFuv1O0IDl8Jgph0ojhMu8bH"

Response

Returns an earning rule object with the active parameter set to true.

Response body schema for POST v1/loyalties/{campaignId}/earning-rules/{earningRuleId}/enable

id
string
required

Assigned by the Voucherify API, identifies the earning rule object.

created_at
string<date-time>
required

Timestamp representing the date and time when the earning rule was created. The value is shown in the ISO 8601 format.

loyalty
object
required
  • Define fixed amount of points
  • Order Amount
  • Order Total Amount
  • Order Metadata
  • Order Items Quantity
  • Order Items Amount
  • Order Items Subtotal Amount
  • Define amount of points proportional to customer metadata
  • Earning Rule Proportional Custom Event
source
object
required

Contains the custom earning rule name and parent campaign.

object
enum<string>
default:earning_rule
required

The type of the object represented by JSON. Default is earning_rule.

Available options:
earning_rule
automation_id
string
required

For internal use by Voucherify.

metadata
object
required

The metadata object stores all custom attributes assigned to the earning rule. A set of key/value pairs that you can attach to an earning rule object. It can be useful for storing additional information about the earning rule in a structured format.

updated_at
string<date-time> | null
required

Timestamp representing the date and time when the earning rule was last updated in ISO 8601 format.

active
boolean
default:true
required

A flag to toggle the earning rule on or off. You can disable an earning rule even though it's within the active period defined by the start_date and expiration_date of the campaign or the earning rule's own start_date and expiration_date.

event
string

Defines the event which triggers the earning rule to add points to a loyalty card.

Example:

"order.paid,customer.segment.entered,customer.loyalty.tier.upgraded,customer.loyalty.tier.downgraded,customer.loyalty.tier.prolonged,customer.loyalty.tier.joined,customer.loyalty.tier.left"

custom_event
object

Contains details about the custom event.

segment
object

Contains the ID of a customer segment. Required for the customer.segment.entered option in the event.

loyalty_tier
object

Defines the tier associated with the earning rule definition.

pending_points
object

Defines the configuration for pending points. Pending points can be used only with the order.paid event.

start_date
string

Start date defines when the earning rule starts to be active. Activation timestamp is presented in the ISO 8601 format. The earning rule is inactive before this date. If you do not define the start date for an earning rule, it will inherit the campaign start date by default.

expiration_date
string

Expiration date defines when the earning rule expires. Expiration timestamp is presented in the ISO 8601 format. The earning rule is inactive after this date. If you do not define the expiration date for an earning rule, it will inherit the campaign expiration date by default.

validity_timeframe
object

Set recurrent time periods when the earning rule is valid. For example, valid for 1 hour every other day.start_date required when including the validity_timeframe.

validity_day_of_week
enum<integer>[]

Integer array corresponding to the particular days of the week in which the voucher is valid.

  • 0 Sunday
  • 1 Monday
  • 2 Tuesday
  • 3 Wednesday
  • 4 Thursday
  • 5 Friday
  • 6 Saturday
validity_hours
object

Determines the hours of validity, e.g. to create a happy hours scenario.

expiration_rules
object

Defines the loyalty point expiration rule. This expiration rule applies only to this earning rule and supersedes expiration_rules defined in the voucher.loyalty_card object.

I