Add Custom Event Schema

See the sample example of how a custom event schema can be added. Links to more detailed instructions can be found at the end of the article.

How this example works

In this example, we will set up a sample custom event schema to trigger the achievement created in the next step.


Try yourself

  • Input the previous saved token and storeCode in the request header

  • Add a custom event schema Endpoint: POST /api/{storeCode}/customEvent/schema

    {
        "customEventSchema": {
            "eventType": "app_login",
            "schema": {},
            "name": "User Logged In",
            "active": {
                "isActive": true
            }
        }
    }
  • 204 No Content status indicates the custom event schema was successfully created.

Although it is not included in this scenario, the custom event schema enables you to specify more detailed attributes that can be tracked by the achievements and campaigns.


Endpoints used

Create a custom event schema

post

This method allows creating a new Custom Event Schemas in the system.

Authorizations
AuthorizationstringRequired

Open Loyalty has the JWT authorization. To learn what a JSON Web Token is and how it works, check out Introduction to JSON Web Tokens https://jwt.io/introduction/

Obtain an access token

Send a request with the parameters username and password

Definition

POST /api/admin/login_check Go to definition
POST /api/{storeCode}/member/login_check Go to definition

Example

curl {HOST}/api/admin/login_check
    -H 'Content-Type: application/json;charset=UTF-8'
    -H 'Accept: application/json, text/plain, */*'
    --data-binary '{"username":"admin","password":"password"}'

Example Response

{
    "token":"eyJhbGciOiJSUzI1NiIsInR5cCI6...",
    "refresh_token":"0558f8bb29948c4e54c443f..."
}

Using JSON Web Token

Add authorization header to each request
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6...
You can now access any API method you want under the /api prefix.

Example

curl {HOST}/api/{storeCode}/analytics/members
    -H 'Accept: application/json'
    -H 'Content-type: application/x-www-form-urlencoded'
    -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6...'

Refresh JSON Web Token

You can refresh token using refresh_token that was given during login.
There are two endpoints
To refresh admin token POST /api/token/refresh Go to definition
To refresh member token POST /api/{storeCode}/token/refresh Go to definition

Path parameters
storeCodestringRequired

Store code

Body
Responses
post
/api/{storeCode}/customEvent/schema
POST /api/{storeCode}/customEvent/schema HTTP/1.1
Host: openloyalty.localhost
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 129

{
  "customEventSchema": {
    "eventType": "text",
    "schema": {
      "fields": [
        {
          "type": "text",
          "description": "text",
          "name": "text"
        }
      ]
    },
    "name": "text"
  }
}

No content


More resources

For a detailed overview and description of the creation and management of the custom event schemas, please refer to these series of articles:

Custom Event SchemasIn this section, you will learn how to manage the custom event schemas.

Last updated

Was this helpful?