LogoLogo
HomepageCase studiesBook a demo
Technical Guide
Technical Guide
  • Introduction
  • Getting Started Guide
    • Authentication
    • Member Registration Configuration
    • Add Webhook
    • Add Member
    • Create Campaign
    • Add Transaction
    • Add Custom Event Schema
    • Create Achievement
    • Add Custom Event
  • Terms Reference
  • Backward Compatibility Policy
  • API Reference
  • Postman Collection
  • User Guide
  • Integration
    • Introduction
    • Overview of Integration Methods
    • Tools and Technologies
    • Integration Examples
      • Lambda
      • Zapier
      • AWS EventBridge
      • Kafka
  • API Fundamentals
    • Overview
    • Environments Capabilities
    • How to Query
    • Limits
    • Best Practices
  • Authentication
    • Admin Token
    • Access Token (API Key)
    • Enabling SSO Login
      • Okta
      • Microsoft Entra ID
  • Webhooks
    • Overview
    • Best Practices
  • S3 Bucket Data exports
    • Overview
    • Set Up S3 Bucket Integration
    • Data Structure and Types
      • Achievements
      • Achievement Usage
      • Campaigns
      • Campaign Calculated Effect Result
      • Campaign Execution
      • Custom Events
      • Members
      • Rewards
      • Rewards Redemption
      • Tiers
      • Transactions
      • Tenants
      • Unit Transfers
Powered by GitBook
  1. Getting Started Guide

Member Registration Configuration

One of the main setup steps is choosing the registration method. See the sample example how this can be configured. Links to more detailed instructions can be found at the end of the article.

Last updated 6 months ago

Was this helpful?

How this example works

OpenLoyalty supports multitenancy, allowing each tenant (store) to operate as a distinct database, complete with its own member list and campaigns. This guide outlines the initial step of the setup process: selecting the appropriate registration method for a member. A single unique identifier is required, which can be an email, phone number, or loyalty card number (that can serve as your own unique identifier).


Try yourself

  • Input the previous saved in the request header

  • Retrieve a list of Endpoint: GET /api/store

  • Choose the required tenant and its code

  • Retrieve member registration for the specified tenant Endpoint: GET /api/{storeCode}/settings

  • Update identificationMethod Endpoint: PATCH /api/{storeCode}/settings

    
    {
        "settings": {
            "identificationMethod": "phone" // or "loyaltyCardNumber", "email"
        }
    }
    

Moving forward, the chosen method will be a required field for member registration.


Endpoints used


More resources

For a detailed overview and description of the member registration configuration, please refer to these articles:

Please ensure the proper configuration of the tenant. You can find out more .

in this article
token
tenants (stores)
TenantsIn this section, you will learn how to manage the tenants within your loyalty program.
ConfigurationIn this section, you will learn how to manage the loyalty program configuration.
SettingsIn this section, you will learn how to manage the Open Loyalty settings.

Method will return complete list of stores.

get

This method returns a list of all created Stores in the system.

If sorting is not chosen, the rows will be returned in an unspecified order.
To sort a result, use an _orderBy parameter in query.

Authorizations
Query parameters
namestringOptional
codestringOptional
currencystringOptional
activebooleanOptional
_pageintegerOptional
_itemsOnPageintegerOptional

Maximum supported value is 50.

_orderBystringOptional
Responses
200
List of stores
application/json
400
Bad request.
application/json
401Error
application/json
403
Forbidden.
application/json
get
GET /api/store HTTP/1.1
Host: openloyalty.localhost
Authorization: YOUR_API_KEY
Accept: */*
{
  "items": [
    {
      "storeId": "123e4567-e89b-12d3-a456-426614174000",
      "code": "text",
      "currency": "text",
      "name": "text",
      "active": true,
      "createdAt": "2025-05-09T05:08:17.911Z",
      "updatedAt": "2025-05-09T05:08:17.911Z",
      "createdBy": "text",
      "updatedBy": "text"
    }
  ],
  "total": {
    "all": 1,
    "filtered": 1,
    "estimated": true
  }
}

Method will return all system settings.

get

This method returns all system settings.

If sorting is not chosen, the rows will be returned in an unspecified order.
To sort a result, use an _orderBy parameter in query.

Authorizations
Path parameters
storeCodestringRequired

Store code

Query parameters
publicbooleanOptional
Responses
200Success
application/json
403
Forbidden.
application/json
404
Not found.
application/json
get
GET /api/{storeCode}/settings HTTP/1.1
Host: openloyalty.localhost
Authorization: YOUR_API_KEY
Accept: */*
{
  "settings": [
    {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  ]
}

Method allow to update system settings.

patch

This method allows configuring system settings partially.

Authorizations
Path parameters
storeCodestringRequired

Store code

Body
Responses
200
Returned when successful
400
Bad request.
application/json
403
Forbidden.
application/json
404
Not found.
application/json
patch
PATCH /api/{storeCode}/settings HTTP/1.1
Host: openloyalty.localhost
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 676

{
  "settings": {
    "allowCustomersProfileEdits": true,
    "expirePointsNotificationDays": 1,
    "expireCouponsNotificationDays": 1,
    "expireLevelsNotificationDays": 1,
    "customersIdentificationPriority": [],
    "tierAssignType": "points",
    "tierWalletCode": "text",
    "excludeDeliveryCostsFromTierAssignment": true,
    "excludedLevelCategories": [
      "text"
    ],
    "levelDowngradeMode": "none",
    "levelDowngradeDays": 1,
    "levelDowngradeBase": "none",
    "levelResetPointsOnDowngrade": true,
    "accountActivationRequired": true,
    "identificationMethod": "email",
    "timezone": "Europe/Warsaw",
    "rewardWalletCode": "text",
    "activeMember": {
      "transactionInXDays": 1,
      "customEventsInXDays": {
        "days": 1,
        "allEvents": true,
        "eventTypes": [
          "text"
        ]
      },
      "operator": "and"
    }
  }
}

No content