API referenceAnalytics

Analytics

4 operations. Every schema and example on this page is generated from the platform contract.

Get a single customer's loyalty detail.

Merchant view of one customer's loyalty behaviour: activity timeline, favourite day and time, average days between visits, visit streak, weekly trend, loyalty level and rollup stats (stamps, redemptions, progress towards the current reward). Scoped to the merchant’s own store.

Parameters

store_idstring · uuidqueryrequired

Store whose customer to inspect (also authorises the merchant).

customer_idstring · uuidqueryrequired

The customer to summarise (must belong to store_id).

Response, 200

idstringrequired
display_namestringrequired
phone_last4string, nullablerequired
customer_sincestringrequired
last_visitstring, nullablerequired
days_since_last_visitnumber, nullablerequired
total_stampsnumberrequired
total_redemptionsnumberrequired
current_progressnumberrequired
goal_stampsnumberrequired
loyalty_levelstringrequired
favorite_dayobjectrequired
2 child fields
daystringrequired
percentagenumberrequired
favorite_timeobjectrequired
2 child fields
time_rangestringrequired
percentagenumberrequired
avg_days_between_visitsnumberrequired
visit_streaknumberrequired
recent_activityarray of objectrequired
4 child fields
idstringrequired
typeenumrequired
stampredemptionvoucher_earnedvoucher_expired
datestringrequired
detailsstring, nullablerequired
visits_by_dayarray of objectrequired
3 child fields
daystringrequired
visitsnumberrequired
isHighestbooleanrequired
visits_over_timearray of objectrequired
3 child fields
weekLabelstringrequired
visitsnumberrequired
trendnumberrequired
storeobjectrequired
4 child fields
idstringrequired
codestring, nullablerequired
namestring, nullablerequired
goalnumber, nullablerequired
curl -G "https://www.membber.com/api/v1/analytics/customer" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  --data-urlencode "store_id=6659c139-0000-4000-8000-d0c500000066" \
  --data-urlencode "customer_id=96607d1c-0000-4000-8000-d0c500000096"
Response, 200
{
  "id": "00000d1b-0000-4000-8000-d0c500000000",
  "display_name": "<display_name>",
  "phone_last4": "+44 7700 900123",
  "customer_since": "<customer_since>",
  "last_visit": "<last_visit>",
  "days_since_last_visit": 1,
  "total_stamps": 1,
  "total_redemptions": 1,
  "current_progress": 1,
  "goal_stamps": 1,
  "loyalty_level": "<loyalty_level>",
  "favorite_day": {
    "day": "<day>",
    "percentage": 1
  },
  "favorite_time": {
    "time_range": "<time_range>",
    "percentage": 1
  },
  "avg_days_between_visits": 1,
  "visit_streak": 1,
  "recent_activity": [
    {
      "id": "00000d1b-0000-4000-8000-d0c500000000",
      "type": "stamp",
      "date": "<date>",
      "details": "<details>"
    }
  ],
  "visits_by_day": [
    {
      "day": "<day>",
      "visits": 1,
      "isHighest": true
    }
  ],
  "visits_over_time": [
    {
      "weekLabel": "<weekLabel>",
      "visits": 1,
      "trend": 1
    }
  ],
  "store": {
    "id": "00000d1b-0000-4000-8000-d0c500000000",
    "code": "EXAMPLE10",
    "name": "Example name",
    "goal": 1
  }
}

Get a store's voucher redemption analytics.

Merchant redemption analytics for the Analytics tab: voucher totals (created, redeemed, pending, expired), the redemption rate, average days to redeem, redemption counts by day of week with the peak day, and a privacy-safe list of recent redemptions.

auth merchant:readop getRedemptionAnalyticsrate limitederrors

Parameters

store_idstring · uuidqueryrequired

Store whose redemption analytics to return (also authorises the merchant).

daysintegerqueryoptional

DEPRECATED alias for a rolling window; prefer preset or start_date/end_date. Days (default 1, max 90).

limitintegerqueryoptional

Max recent redemptions to return (default 20, max 100).

presetenumqueryoptional

Preset range (defaults per endpoint). Use "custom" with start_date and end_date for an arbitrary range.

todaylast_7dlast_14dlast_30dlast_90dlast_6mlast_12mcustom
start_datestringqueryoptional

Custom range start, store-local YYYY-MM-DD (inclusive). Required when preset is "custom".

end_datestringqueryoptional

Custom range end, store-local YYYY-MM-DD (inclusive). Required when preset is "custom".

Response, 200

periodobjectrequired
3 child fields
daysnumberrequired
start_datestringrequired
end_datestringrequired
metricsobjectrequired
7 child fields
total_creatednumberrequired
total_redeemednumberrequired
pending_redemptionnumberrequired
expirednumberrequired
redemption_ratenumberrequired
avg_days_to_redeemnumberrequired
peak_daystringrequired
by_day_of_weekarray of objectrequired
2 child fields
daystringrequired
countnumberrequired
recent_redemptionsarray of objectrequired
7 child fields
idstringrequired
voucher_codestringrequired
voucher_typestringrequired
customer_displaystringrequired
redeemed_atstringrequired
created_atstringrequired
days_to_redeemnumberrequired
storeobjectrequired
4 child fields
idstringrequired
codestring, nullablerequired
namestring, nullablerequired
goalnumber, nullablerequired
curl -G "https://www.membber.com/api/v1/analytics/redemption" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  --data-urlencode "store_id=6659c139-0000-4000-8000-d0c500000066"
Response, 200
{
  "period": {
    "days": 1,
    "start_date": "<start_date>",
    "end_date": "<end_date>"
  },
  "metrics": {
    "total_created": 1,
    "total_redeemed": 1,
    "pending_redemption": 1,
    "expired": 1,
    "redemption_rate": 1,
    "avg_days_to_redeem": 1,
    "peak_day": "<peak_day>"
  },
  "by_day_of_week": [
    {
      "day": "<day>",
      "count": 1
    }
  ],
  "recent_redemptions": [
    {
      "id": "00000d1b-0000-4000-8000-d0c500000000",
      "voucher_code": "EXAMPLE10",
      "voucher_type": "<voucher_type>",
      "customer_display": "<customer_display>",
      "redeemed_at": "<redeemed_at>",
      "created_at": "<created_at>",
      "days_to_redeem": 1
    }
  ],
  "store": {
    "id": "00000d1b-0000-4000-8000-d0c500000000",
    "code": "EXAMPLE10",
    "name": "Example name",
    "goal": 1
  }
}

Get a store's loyalty analytics summary.

Merchant analytics for the Analytics tab: stamps / redemptions / customers / new customers for the period with percentage change vs the previous period, a daily breakdown for charts, averages, and the voucher redemption rate.

Parameters

store_idstring · uuidqueryrequired

Store whose analytics to summarise (also authorises the merchant).

daysintegerqueryoptional

DEPRECATED alias for a rolling window; prefer preset or start_date/end_date. Days (default 1, max 90).

presetenumqueryoptional

Preset range (defaults per endpoint). Use "custom" with start_date and end_date for an arbitrary range.

todaylast_7dlast_14dlast_30dlast_90dlast_6mlast_12mcustom
start_datestringqueryoptional

Custom range start, store-local YYYY-MM-DD (inclusive). Required when preset is "custom".

end_datestringqueryoptional

Custom range end, store-local YYYY-MM-DD (inclusive). Required when preset is "custom".

Response, 200

periodobjectrequired
3 child fields
daysnumberrequired
start_datestringrequired
end_datestringrequired
summaryobjectrequired
4 child fields
total_stampsobjectrequired
2 child fields
valuenumberrequired
changenumberrequired
total_redemptionsobjectrequired
2 child fields
valuenumberrequired
changenumberrequired
total_customersobjectrequired
1 child field
valuenumberrequired
new_customersobjectrequired
2 child fields
valuenumberrequired
changenumberrequired
averagesobjectrequired
3 child fields
stamps_per_daynumberrequired
redemptions_per_daynumberrequired
redemption_ratenumberrequired
daily_breakdownarray of objectrequired
3 child fields
datestringrequired
stampsnumberrequired
redemptionsnumberrequired
storeobjectrequired
4 child fields
idstringrequired
codestring, nullablerequired
namestring, nullablerequired
goalnumber, nullablerequired
curl -G "https://www.membber.com/api/v1/analytics/summary" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  --data-urlencode "store_id=6659c139-0000-4000-8000-d0c500000066"
Response, 200
{
  "period": {
    "days": 1,
    "start_date": "<start_date>",
    "end_date": "<end_date>"
  },
  "summary": {
    "total_stamps": {
      "value": 1,
      "change": 1
    },
    "total_redemptions": {
      "value": 1,
      "change": 1
    },
    "total_customers": {
      "value": 1
    },
    "new_customers": {
      "value": 1,
      "change": 1
    }
  },
  "averages": {
    "stamps_per_day": 1,
    "redemptions_per_day": 1,
    "redemption_rate": 1
  },
  "daily_breakdown": [
    {
      "date": "<date>",
      "stamps": 1,
      "redemptions": 1
    }
  ],
  "store": {
    "id": "00000d1b-0000-4000-8000-d0c500000000",
    "code": "EXAMPLE10",
    "name": "Example name",
    "goal": 1
  }
}

Get a store's top customers by activity.

Merchant customer leaderboard for the Analytics tab: every store customer ranked by total approved stamps, total redeemed vouchers, or most recent visit, with progress toward the store goal and a privacy-safe display name.

Parameters

store_idstring · uuidqueryrequired

Store whose customers to rank (also authorises the merchant).

limitintegerqueryoptional

Max customers to return (default 10, max 50).

sortenumqueryoptional

Ranking: by total stamps (default), total redemptions, or most recent visit.

stampsredemptionsrecent

Response, 200

customersarray of objectrequired
9 child fields
idstringrequired
display_namestringrequired
phone_last4string, nullablerequired
customer_numbernumber, nullablerequired
total_stampsnumberrequired
total_redemptionsnumberrequired
current_progressnumberrequired
last_visitstring, nullablerequired
customer_sincestringrequired
total_countnumberrequired
sort_bystringrequired
storeobjectrequired
4 child fields
idstringrequired
codestring, nullablerequired
namestring, nullablerequired
goalnumber, nullablerequired
curl -G "https://www.membber.com/api/v1/analytics/top-customers" \
  -H "Authorization: Bearer $MEMBBER_TOKEN" \
  --data-urlencode "store_id=6659c139-0000-4000-8000-d0c500000066"
Response, 200
{
  "customers": [
    {
      "id": "00000d1b-0000-4000-8000-d0c500000000",
      "display_name": "<display_name>",
      "phone_last4": "+44 7700 900123",
      "customer_number": 1,
      "total_stamps": 1,
      "total_redemptions": 1,
      "current_progress": 1,
      "last_visit": "<last_visit>",
      "customer_since": "<customer_since>"
    }
  ],
  "total_count": 1,
  "sort_by": "<sort_by>",
  "store": {
    "id": "00000d1b-0000-4000-8000-d0c500000000",
    "code": "EXAMPLE10",
    "name": "Example name",
    "goal": 1
  }
}
WhatsApp
Book a Call
Start Free