Loyalty Integration
Get available ways to earn loyalty points
Returns all active point earning campaigns and rules that the customer can participate in. This shows customers how they can earn more points.
Common Earning Methods:
- Points per dollar spent on purchases
- Bonus points for first subscription
- Points for referring friends
- Birthday bonus points
- Social media follows (Instagram, Facebook, Twitter)
- Product reviews
- Account creation bonus
Response includes:
- Campaign name and description
- Points awarded
- Action required (e.g., ‘Follow on Instagram’)
- Icon/image URL
- Terms and conditions
Use Cases:
- Display ‘Ways to Earn’ section in customer portal
- Show earning opportunities on product pages
- Encourage customer engagement
Authentication: Customer must be logged in via Shopify customer session
GET
/
subscriptions
/
cp
/
api
/
loyalty-integration
/
earn-options
Get available ways to earn loyalty points
curl --request GET \
--url https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/earn-optionsimport requests
url = "https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/earn-options"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/earn-options', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/earn-options';
const options = {method: 'GET'};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/earn-options",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/earn-options"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/earn-options")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body[
{
"action": "Make a purchase",
"description": "Earn 5 points for every $1 spent",
"name": "Purchase Rewards",
"pointsAmount": 5
},
{
"action": "Share referral link",
"description": "Earn 500 points when your friend makes their first purchase",
"name": "Refer a Friend",
"pointsAmount": 500
}
][
{
"basePoints": 123,
"createAt": "2023-11-07T05:31:56Z",
"details": "<string>",
"id": 123,
"name": "<string>",
"productData": "<string>",
"reward_text": "<string>",
"type": "<string>",
"updateAt": "2023-11-07T05:31:56Z"
}
]Query Parameters
Customer ID (optional, auto-detected from session)
Response
Earning options retrieved successfully
⌘I
Get available ways to earn loyalty points
curl --request GET \
--url https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/earn-optionsimport requests
url = "https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/earn-options"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/earn-options', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/earn-options';
const options = {method: 'GET'};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/earn-options",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/earn-options"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://www.myshop.com/apps/subscriptions/cp/api/loyalty-integration/earn-options")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body[
{
"action": "Make a purchase",
"description": "Earn 5 points for every $1 spent",
"name": "Purchase Rewards",
"pointsAmount": 5
},
{
"action": "Share referral link",
"description": "Earn 500 points when your friend makes their first purchase",
"name": "Refer a Friend",
"pointsAmount": 500
}
][
{
"basePoints": 123,
"createAt": "2023-11-07T05:31:56Z",
"details": "<string>",
"id": 123,
"name": "<string>",
"productData": "<string>",
"reward_text": "<string>",
"type": "<string>",
"updateAt": "2023-11-07T05:31:56Z"
}
]