curl --request POST \
--url https://{cluster}.voucherify.io/v1/loyalties/{campaignId}/earning-rules \
--header 'Content-Type: application/json' \
--header 'X-App-Id: <api-key>' \
--header 'X-App-Token: <api-key>' \
--data @- <<EOF
[
{
"event": "order.paid",
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "FIXED",
"points": "5"
},
"source": {
"banner": "Order paid 5 points."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid - fixed amount of points"
}
},
{
"event": "order.paid",
"validation_rule_id": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_AMOUNT",
"order": {
"amount": {
"every": 1,
"points": 1
}
}
},
"source": {
"banner": "Order paid - 1 point for 1 dollar spent excluding discounts."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid- points proportional to order amount"
}
},
{
"event": "order.paid",
"validation_rule_id": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_TOTAL_AMOUNT",
"order": {
"total_amount": {
"every": 1,
"points": 1
}
}
},
"source": {
"banner": "Order paid - 1 point for 1 dollar spent including discounts."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid- points proportional to order total amount"
}
},
{
"event": "order.paid",
"validation_rule_id": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_METADATA",
"order": {
"metadata": {
"every": 2,
"points": 1,
"property": "number_of_store_visits"
}
}
},
"source": {
"banner": "Order paid - 2 points for each store visit."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid- points proportional to numerical order metadata property "
}
},
{
"event": "order.paid",
"validation_rule_id": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_ITEMS_AMOUNT",
"order_items": {
"amount": {
"every": 2,
"points": 1,
"object": "product",
"id": "prod_0bae32322150fd0546"
}
}
},
"source": {
"banner": "Order paid - 2 points for 1 dollar spent on items excluding discounts."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid- points proportional to order items amount"
}
},
{
"event": "order.paid",
"validation_rule_id": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_ITEMS_SUBTOTAL_AMOUNT",
"order_items": {
"subtotal_amount": {
"every": 2,
"points": 1,
"object": "products_collection",
"id": "pc_75U0dHlr7u75BJodrW1AE3t6"
}
}
},
"source": {
"banner": "Order paid - 2 points for every dollar spent on the product collection."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid- points proportional to order items subtotal amount"
}
},
{
"event": "order.paid",
"validation_rule_id": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_ITEMS_QUANTITY",
"order_items": {
"quantity": {
"every": 1,
"points": 1,
"object": "sku",
"id": "sku_0b7d7dfb090be5c619"
}
}
},
"source": {
"banner": "Order paid - 1 point for every brand phone in your cart."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid - points proportional to quantity of items in a cart of a product varient."
}
},
{
"event": "order.paid",
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 1,
"property": "customer_life_time_value"
}
}
},
"source": {
"banner": "Order paid 1 point for 1 month of being a customer with us."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid - points proportional to customer metadata property"
}
},
{
"event": "customer.segment.entered",
"segment": {
"id": "seg_OlE7DmfzMI5pHyD5VAv512r1"
},
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 1,
"property": "customer_life_time_value"
}
}
},
"source": {
"banner": "Customer entered birthday segment - 1 point for each month of being a customer with us."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Entered segment - points proportional to customer metadata property"
}
},
{
"event": "customer.segment.entered",
"segment": {
"id": "seg_OlE7DmfzMI5pHyD5VAv512r1"
},
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "FIXED",
"points": "5"
},
"source": {
"banner": "Customer entered birthday segment - 5 points"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Entered segment - fixed points"
}
},
{
"event": "page_view",
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"points": 3,
"type": "FIXED"
},
"custom_event": {
"schema_id": "ms_gn4Qe4xsFPf7orCArCiNVY13"
},
"source": {
"banner": "See page - 3 points"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Custom Event - fixed points for viewing a page"
}
},
{
"event": "page_view",
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOM_EVENT_METADATA",
"custom_event": {
"metadata": {
"every": 1,
"points": 2,
"property": "volume_number"
}
}
},
"custom_event": {
"schema_id": "ms_gn4Qe4xsFPf7orCArCiNVY13"
},
"source": {
"banner": "See page X - get 2 points multiplied by the page number"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Custom Event - proportional points for viewing a page based on custom event metadata"
}
},
{
"event": "page_view",
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 2,
"property": "customer_life_time_value"
}
}
},
"custom_event": {
"schema_id": "ms_gn4Qe4xsFPf7orCArCiNVY13"
},
"source": {
"banner": "Get 2 points for every month you're a customer for viewing a page"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Custom Event - proportional points for viewing a page based on customer metadata"
}
},
{
"event": "customer.loyalty.tier.prolonged",
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 2,
"property": "customer_life_time_value"
}
}
},
"loyalty_tier": {
"id": "ltr_pudTGWasuIqxdiDM0go31OV1"
},
"source": {
"banner": "Get 2 points for every month you're a customer when your loyalty tier is prolonged."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Custom Event - proportional points for extending a loyalty tier based on customer metadata."
}
}
]
EOF[
{
"id": "ern_63g6NQgtepfXn2z0QbT2ksLf",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"points": 5,
"type": "FIXED"
},
"event": "order.paid",
"source": {
"banner": "Order paid 5 points.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_knM56LS3oygL0Ue0oeSNt4WA",
"metadata": {
"Type": "Order paid - fixed amount of points"
}
},
{
"id": "ern_Ov5RWerVFubVSjIHOMco34dv",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_AMOUNT",
"order": {
"amount": {
"every": 1,
"points": 1
}
}
},
"event": "order.paid",
"source": {
"banner": "Order paid - 1 point for 1 dollar spent excluding discounts.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_2R4x6pMFVEIPz1Lhz5ZVo33Y",
"metadata": {
"Type": "Order paid- points proportional to order amount"
}
},
{
"id": "ern_5rWPz4arGlTv4FVc1vETeFfe",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_TOTAL_AMOUNT",
"order": {
"total_amount": {
"every": 1,
"points": 1
}
}
},
"event": "order.paid",
"source": {
"banner": "Order paid - 1 point for 1 dollar spent including discounts.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_fXasfs6Eh7P2haZkI33PEumI",
"metadata": {
"Type": "Order paid- points proportional to order total amount"
}
},
{
"id": "ern_Xs3o43dHr1O3RM5ojoeu1l6b",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_METADATA",
"order": {
"metadata": {
"every": 2,
"points": 1,
"property": "number_of_store_visits"
}
}
},
"event": "order.paid",
"source": {
"banner": "Order paid - 2 points for each store visit.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_jucMzF25jisrqiG3k6JyyviT",
"metadata": {
"Type": "Order paid- points proportional to numerical order metadata property "
}
},
{
"id": "ern_9CjMBP2V8zgpsHLga4YOQo0A",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_ITEMS_AMOUNT",
"order_items": {
"amount": {
"every": 2,
"points": 1,
"object": "product",
"id": "prod_0bae32322150fd0546"
}
}
},
"event": "order.paid",
"source": {
"banner": "Order paid - 2 points for 1 dollar spent on items excluding discounts.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_y60lx7XsW1YdOOOFuDaYjvG4",
"metadata": {
"Type": "Order paid- points proportional to order items amount"
}
},
{
"id": "ern_uI7hRj8PNodK8xWRsn3gpDdG",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_ITEMS_SUBTOTAL_AMOUNT",
"order_items": {
"subtotal_amount": {
"every": 2,
"points": 1,
"object": "products_collection",
"id": "pc_75U0dHlr7u75BJodrW1AE3t6"
}
}
},
"event": "order.paid",
"source": {
"banner": "Order paid - 2 points for every dollar spent on the product collection.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_Lk1WROGexXA72FabUWhR1p7X",
"metadata": {
"Type": "Order paid- points proportional to order items subtotal amount"
}
},
{
"id": "ern_dL13AmZEO0ToImOY44YUP1ru",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_ITEMS_QUANTITY",
"order_items": {
"quantity": {
"every": 1,
"points": 1,
"object": "sku",
"id": "sku_0b7d7dfb090be5c619"
}
}
},
"event": "order.paid",
"source": {
"banner": "Order paid - 1 point for every brand phone in your cart.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_4F9iJG0hmKTiqSsmkfbB8vUF",
"metadata": {
"Type": "Order paid - points proportional to quantity of items in a cart of a product varient."
}
},
{
"id": "ern_ublD9yGhxPrd9ayPAMTc4aOZ",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 1,
"property": "customer_life_time_value"
}
}
},
"event": "order.paid",
"source": {
"banner": "Order paid 1 point for 1 month of being a customer with us.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_raft7C1hVw427OnEobmzhXjD",
"metadata": {
"Type": "Order paid - points proportional to customer metadata property"
}
},
{
"id": "ern_6tBwufmR7UNJInhZq8zNRrj5",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 1,
"property": "customer_life_time_value"
}
}
},
"segment": {
"id": "seg_OlE7DmfzMI5pHyD5VAv512r1"
},
"event": "customer.segment.entered",
"source": {
"banner": "Customer entered birthday segment - 1 point for each month of being a customer with us.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_mQ8SCABGLnrGMBbh8QS6DUpX",
"metadata": {
"Type": "Entered segment - points proportional to customer metadata property"
}
},
{
"id": "ern_yBR0JtdcDyJXgZf30C8KQLPw",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"points": 5,
"type": "FIXED"
},
"segment": {
"id": "seg_OlE7DmfzMI5pHyD5VAv512r1"
},
"event": "customer.segment.entered",
"source": {
"banner": "Customer entered birthday segment - 5 points",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_Co7zjgYPIKZ45vcK0jn7qrY8",
"metadata": {
"Type": "Entered segment - fixed points"
}
},
{
"id": "ern_Ic2AUznt4cJInIl1wt6n0Fbv",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"points": 3,
"type": "FIXED"
},
"custom_event": {
"schema_id": "ms_gn4Qe4xsFPf7orCArCiNVY13"
},
"event": "page_view",
"source": {
"banner": "See page - 3 points",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_KWvcBS3bdmJnWD4BTw29eRNT",
"metadata": {
"Type": "Custom Event - fixed points for viewing a page"
}
},
{
"id": "ern_4SRj1TY1j8Q617R2Y4qiN1sy",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOM_EVENT_METADATA",
"custom_event": {
"metadata": {
"every": 1,
"points": 2,
"property": "volume_number"
}
}
},
"custom_event": {
"schema_id": "ms_gn4Qe4xsFPf7orCArCiNVY13"
},
"event": "page_view",
"source": {
"banner": "See page X - get 2 points multiplied by the page number",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_WWESERcKoTRSbCDal7Hr7H0A",
"metadata": {
"Type": "Custom Event - proportional points for viewing a page based on custom event metadata"
}
},
{
"id": "ern_WXBa4b5a6N5XZt9A9Nf9dagA",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 2,
"property": "customer_life_time_value"
}
}
},
"custom_event": {
"schema_id": "ms_gn4Qe4xsFPf7orCArCiNVY13"
},
"event": "page_view",
"source": {
"banner": "Get 2 points for every month you're a customer for viewing a page",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_zv3mCOeZOaHCsFMG0yIKu0ax",
"metadata": {
"Type": "Custom Event - proportional points for viewing a page based on customer metadata"
}
},
{
"id": "ern_DvdegDzcaMUXzf2fayzCqMEV",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 2,
"property": "customer_life_time_value"
}
}
},
"event": "customer.loyalty.tier.prolonged",
"loyalty_tier": {
"id": "ltr_pudTGWasuIqxdiDM0go31OV1"
},
"source": {
"banner": "Get 2 points for every month you're a customer when your loyalty tier is prolonged.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_fpfYyNcpVskgwcrs21kQ91Wx",
"metadata": {
"Type": "Custom Event - proportional points for extending a loyalty tier based on customer metadata."
}
}
]{
"code": 400,
"key": "invalid_payload",
"message": "Invalid payload",
"details": "Loyalty order rules must contain one of the following properties - 'total_amount'",
"request_id": "v-0c127fa5d4424c8411"
}{
"code": 404,
"key": "not_found",
"message": "Resource not found",
"details": "Cannot find loyalty_tier with id ltr_pudTGWasuIqxdiDM0go31OV1",
"request_id": "v-0c12808f33ce673c42",
"resource_id": "ltr_pudTGWasuIqxdiDM0go31OV1",
"resource_type": "loyalty_tier"
}Create Earning Rule
This endpoint belongs to the legacy loyalty API (/v1/loyalties).
Voucherify will not develop new features for this API. However, critical issues may still receive fixes.
For new integrations, use Loyalty v2.
If you have questions, contact Voucherify support.
Create earning rules for a loyalty campaign.
You can create up to 100 earning rules per project. The limit can be customized for clients with a single-tenant setup.
curl --request POST \
--url https://{cluster}.voucherify.io/v1/loyalties/{campaignId}/earning-rules \
--header 'Content-Type: application/json' \
--header 'X-App-Id: <api-key>' \
--header 'X-App-Token: <api-key>' \
--data @- <<EOF
[
{
"event": "order.paid",
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "FIXED",
"points": "5"
},
"source": {
"banner": "Order paid 5 points."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid - fixed amount of points"
}
},
{
"event": "order.paid",
"validation_rule_id": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_AMOUNT",
"order": {
"amount": {
"every": 1,
"points": 1
}
}
},
"source": {
"banner": "Order paid - 1 point for 1 dollar spent excluding discounts."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid- points proportional to order amount"
}
},
{
"event": "order.paid",
"validation_rule_id": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_TOTAL_AMOUNT",
"order": {
"total_amount": {
"every": 1,
"points": 1
}
}
},
"source": {
"banner": "Order paid - 1 point for 1 dollar spent including discounts."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid- points proportional to order total amount"
}
},
{
"event": "order.paid",
"validation_rule_id": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_METADATA",
"order": {
"metadata": {
"every": 2,
"points": 1,
"property": "number_of_store_visits"
}
}
},
"source": {
"banner": "Order paid - 2 points for each store visit."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid- points proportional to numerical order metadata property "
}
},
{
"event": "order.paid",
"validation_rule_id": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_ITEMS_AMOUNT",
"order_items": {
"amount": {
"every": 2,
"points": 1,
"object": "product",
"id": "prod_0bae32322150fd0546"
}
}
},
"source": {
"banner": "Order paid - 2 points for 1 dollar spent on items excluding discounts."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid- points proportional to order items amount"
}
},
{
"event": "order.paid",
"validation_rule_id": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_ITEMS_SUBTOTAL_AMOUNT",
"order_items": {
"subtotal_amount": {
"every": 2,
"points": 1,
"object": "products_collection",
"id": "pc_75U0dHlr7u75BJodrW1AE3t6"
}
}
},
"source": {
"banner": "Order paid - 2 points for every dollar spent on the product collection."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid- points proportional to order items subtotal amount"
}
},
{
"event": "order.paid",
"validation_rule_id": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_ITEMS_QUANTITY",
"order_items": {
"quantity": {
"every": 1,
"points": 1,
"object": "sku",
"id": "sku_0b7d7dfb090be5c619"
}
}
},
"source": {
"banner": "Order paid - 1 point for every brand phone in your cart."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid - points proportional to quantity of items in a cart of a product varient."
}
},
{
"event": "order.paid",
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 1,
"property": "customer_life_time_value"
}
}
},
"source": {
"banner": "Order paid 1 point for 1 month of being a customer with us."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Order paid - points proportional to customer metadata property"
}
},
{
"event": "customer.segment.entered",
"segment": {
"id": "seg_OlE7DmfzMI5pHyD5VAv512r1"
},
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 1,
"property": "customer_life_time_value"
}
}
},
"source": {
"banner": "Customer entered birthday segment - 1 point for each month of being a customer with us."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Entered segment - points proportional to customer metadata property"
}
},
{
"event": "customer.segment.entered",
"segment": {
"id": "seg_OlE7DmfzMI5pHyD5VAv512r1"
},
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "FIXED",
"points": "5"
},
"source": {
"banner": "Customer entered birthday segment - 5 points"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Entered segment - fixed points"
}
},
{
"event": "page_view",
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"points": 3,
"type": "FIXED"
},
"custom_event": {
"schema_id": "ms_gn4Qe4xsFPf7orCArCiNVY13"
},
"source": {
"banner": "See page - 3 points"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Custom Event - fixed points for viewing a page"
}
},
{
"event": "page_view",
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOM_EVENT_METADATA",
"custom_event": {
"metadata": {
"every": 1,
"points": 2,
"property": "volume_number"
}
}
},
"custom_event": {
"schema_id": "ms_gn4Qe4xsFPf7orCArCiNVY13"
},
"source": {
"banner": "See page X - get 2 points multiplied by the page number"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Custom Event - proportional points for viewing a page based on custom event metadata"
}
},
{
"event": "page_view",
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 2,
"property": "customer_life_time_value"
}
}
},
"custom_event": {
"schema_id": "ms_gn4Qe4xsFPf7orCArCiNVY13"
},
"source": {
"banner": "Get 2 points for every month you're a customer for viewing a page"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Custom Event - proportional points for viewing a page based on customer metadata"
}
},
{
"event": "customer.loyalty.tier.prolonged",
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 2,
"property": "customer_life_time_value"
}
}
},
"loyalty_tier": {
"id": "ltr_pudTGWasuIqxdiDM0go31OV1"
},
"source": {
"banner": "Get 2 points for every month you're a customer when your loyalty tier is prolonged."
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"metadata": {
"Type": "Custom Event - proportional points for extending a loyalty tier based on customer metadata."
}
}
]
EOF[
{
"id": "ern_63g6NQgtepfXn2z0QbT2ksLf",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"points": 5,
"type": "FIXED"
},
"event": "order.paid",
"source": {
"banner": "Order paid 5 points.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_knM56LS3oygL0Ue0oeSNt4WA",
"metadata": {
"Type": "Order paid - fixed amount of points"
}
},
{
"id": "ern_Ov5RWerVFubVSjIHOMco34dv",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_AMOUNT",
"order": {
"amount": {
"every": 1,
"points": 1
}
}
},
"event": "order.paid",
"source": {
"banner": "Order paid - 1 point for 1 dollar spent excluding discounts.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_2R4x6pMFVEIPz1Lhz5ZVo33Y",
"metadata": {
"Type": "Order paid- points proportional to order amount"
}
},
{
"id": "ern_5rWPz4arGlTv4FVc1vETeFfe",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_TOTAL_AMOUNT",
"order": {
"total_amount": {
"every": 1,
"points": 1
}
}
},
"event": "order.paid",
"source": {
"banner": "Order paid - 1 point for 1 dollar spent including discounts.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_fXasfs6Eh7P2haZkI33PEumI",
"metadata": {
"Type": "Order paid- points proportional to order total amount"
}
},
{
"id": "ern_Xs3o43dHr1O3RM5ojoeu1l6b",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_METADATA",
"order": {
"metadata": {
"every": 2,
"points": 1,
"property": "number_of_store_visits"
}
}
},
"event": "order.paid",
"source": {
"banner": "Order paid - 2 points for each store visit.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_jucMzF25jisrqiG3k6JyyviT",
"metadata": {
"Type": "Order paid- points proportional to numerical order metadata property "
}
},
{
"id": "ern_9CjMBP2V8zgpsHLga4YOQo0A",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_ITEMS_AMOUNT",
"order_items": {
"amount": {
"every": 2,
"points": 1,
"object": "product",
"id": "prod_0bae32322150fd0546"
}
}
},
"event": "order.paid",
"source": {
"banner": "Order paid - 2 points for 1 dollar spent on items excluding discounts.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_y60lx7XsW1YdOOOFuDaYjvG4",
"metadata": {
"Type": "Order paid- points proportional to order items amount"
}
},
{
"id": "ern_uI7hRj8PNodK8xWRsn3gpDdG",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_ITEMS_SUBTOTAL_AMOUNT",
"order_items": {
"subtotal_amount": {
"every": 2,
"points": 1,
"object": "products_collection",
"id": "pc_75U0dHlr7u75BJodrW1AE3t6"
}
}
},
"event": "order.paid",
"source": {
"banner": "Order paid - 2 points for every dollar spent on the product collection.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_Lk1WROGexXA72FabUWhR1p7X",
"metadata": {
"Type": "Order paid- points proportional to order items subtotal amount"
}
},
{
"id": "ern_dL13AmZEO0ToImOY44YUP1ru",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "ORDER_ITEMS_QUANTITY",
"order_items": {
"quantity": {
"every": 1,
"points": 1,
"object": "sku",
"id": "sku_0b7d7dfb090be5c619"
}
}
},
"event": "order.paid",
"source": {
"banner": "Order paid - 1 point for every brand phone in your cart.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_4F9iJG0hmKTiqSsmkfbB8vUF",
"metadata": {
"Type": "Order paid - points proportional to quantity of items in a cart of a product varient."
}
},
{
"id": "ern_ublD9yGhxPrd9ayPAMTc4aOZ",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 1,
"property": "customer_life_time_value"
}
}
},
"event": "order.paid",
"source": {
"banner": "Order paid 1 point for 1 month of being a customer with us.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_raft7C1hVw427OnEobmzhXjD",
"metadata": {
"Type": "Order paid - points proportional to customer metadata property"
}
},
{
"id": "ern_6tBwufmR7UNJInhZq8zNRrj5",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 1,
"property": "customer_life_time_value"
}
}
},
"segment": {
"id": "seg_OlE7DmfzMI5pHyD5VAv512r1"
},
"event": "customer.segment.entered",
"source": {
"banner": "Customer entered birthday segment - 1 point for each month of being a customer with us.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_mQ8SCABGLnrGMBbh8QS6DUpX",
"metadata": {
"Type": "Entered segment - points proportional to customer metadata property"
}
},
{
"id": "ern_yBR0JtdcDyJXgZf30C8KQLPw",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"points": 5,
"type": "FIXED"
},
"segment": {
"id": "seg_OlE7DmfzMI5pHyD5VAv512r1"
},
"event": "customer.segment.entered",
"source": {
"banner": "Customer entered birthday segment - 5 points",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_Co7zjgYPIKZ45vcK0jn7qrY8",
"metadata": {
"Type": "Entered segment - fixed points"
}
},
{
"id": "ern_Ic2AUznt4cJInIl1wt6n0Fbv",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"points": 3,
"type": "FIXED"
},
"custom_event": {
"schema_id": "ms_gn4Qe4xsFPf7orCArCiNVY13"
},
"event": "page_view",
"source": {
"banner": "See page - 3 points",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_KWvcBS3bdmJnWD4BTw29eRNT",
"metadata": {
"Type": "Custom Event - fixed points for viewing a page"
}
},
{
"id": "ern_4SRj1TY1j8Q617R2Y4qiN1sy",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOM_EVENT_METADATA",
"custom_event": {
"metadata": {
"every": 1,
"points": 2,
"property": "volume_number"
}
}
},
"custom_event": {
"schema_id": "ms_gn4Qe4xsFPf7orCArCiNVY13"
},
"event": "page_view",
"source": {
"banner": "See page X - get 2 points multiplied by the page number",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_WWESERcKoTRSbCDal7Hr7H0A",
"metadata": {
"Type": "Custom Event - proportional points for viewing a page based on custom event metadata"
}
},
{
"id": "ern_WXBa4b5a6N5XZt9A9Nf9dagA",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 2,
"property": "customer_life_time_value"
}
}
},
"custom_event": {
"schema_id": "ms_gn4Qe4xsFPf7orCArCiNVY13"
},
"event": "page_view",
"source": {
"banner": "Get 2 points for every month you're a customer for viewing a page",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_zv3mCOeZOaHCsFMG0yIKu0ax",
"metadata": {
"Type": "Custom Event - proportional points for viewing a page based on customer metadata"
}
},
{
"id": "ern_DvdegDzcaMUXzf2fayzCqMEV",
"created_at": "2022-11-29T11:10:46.523Z",
"updated_at": null,
"validation_rule_id": "val_7SxpdhPeBngA",
"loyalty": {
"type": "PROPORTIONAL",
"calculation_type": "CUSTOMER_METADATA",
"customer": {
"metadata": {
"every": 1,
"points": 2,
"property": "customer_life_time_value"
}
}
},
"event": "customer.loyalty.tier.prolonged",
"loyalty_tier": {
"id": "ltr_pudTGWasuIqxdiDM0go31OV1"
},
"source": {
"banner": "Get 2 points for every month you're a customer when your loyalty tier is prolonged.",
"object_id": "camp_fkZ28pe7DUAEmmabofkxHI8N",
"object_type": "campaign"
},
"active": true,
"start_date": "2022-11-02T13:00:00.000Z",
"expiration_date": "2023-03-03T14:30:00.000Z",
"validity_timeframe": {
"duration": "PT1H",
"interval": "P1D"
},
"validity_day_of_week": [
0,
1,
2,
3,
4,
5
],
"object": "earning_rule",
"automation_id": "auto_fpfYyNcpVskgwcrs21kQ91Wx",
"metadata": {
"Type": "Custom Event - proportional points for extending a loyalty tier based on customer metadata."
}
}
]{
"code": 400,
"key": "invalid_payload",
"message": "Invalid payload",
"details": "Loyalty order rules must contain one of the following properties - 'total_amount'",
"request_id": "v-0c127fa5d4424c8411"
}{
"code": 404,
"key": "not_found",
"message": "Resource not found",
"details": "Cannot find loyalty_tier with id ltr_pudTGWasuIqxdiDM0go31OV1",
"request_id": "v-0c12808f33ce673c42",
"resource_id": "ltr_pudTGWasuIqxdiDM0go31OV1",
"resource_type": "loyalty_tier"
}Authorizations
Scopes
Path Parameters
Body
Customize the request body based on the type of earning rules you would like to create. The request body is an array of objects. The required minimum properties to include in the payload for each object are event and loyalty. Additionally, if you choose to add a validity_timeframe, you must include a start_date. Furthermore, an earning rule event type:
customer.segment.enteredrequires asegmentobject- a custom event requires a
custom_eventobject - a
customer.loyalty.tier.joined,customer.loyalty.tier.left,customer.loyalty.tier.upgraded,customer.loyalty.tier.downgraded,customer.loyalty.tier.prolongedrequires aloyalty_tierobject
- Earning Rule Object for Order Paid
- Earning Rule Object for Entered Segment
- Earning Rule Object for Custom Event
- Earning Rule Object for Tiers
Legacy loyalty. This is an object representing an earning rule for a paid order.
An object that defines the number of points that will be added to a loyalty card and how the points will be added.
FIXEDadds a fixed number ofpointsPROPORTIONALadds points proportionally based on a pre-defined ratio
- Define fixed amount of points
- Order Amount
- Order Total Amount
- Order Metadata
- Order Items Quantity
- Order Items Amount
- Order Items Subtotal Amount
Show child attributes
Show child attributes
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.
trueindicates an active earning rulefalseindicates an inactive earning rule
Start date defines when the earning rule starts to be active. Activation timestamp is presented in the ISO 8601 format. Earning rule is inactive before this date. If you don't define the start date for an earning rule, it will inherit the campaign start date by default.
"2022-02-02T13:00:00.000Z"
Expiration date defines when the earning rule expires. Expiration timestamp is presented in the ISO 8601 format. Earning rule is inactive after this date.If you don't define the expiration date for an earning rule, it will inherit the campaign expiration date by default.
"2022-03-03T14:30:00.000Z"
Response
Returns an array of earning rule objects.
- 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
Show child attributes
Show child attributes
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.
trueindicates an active earning rulefalseindicates an inactive earning rule

