Overview
Base URL:
https://api.referrizer.com
Welcome to Referrizer API! The API is organized around REST. All requests should be made over SSL. All request and response bodies, including errors, are encoded in JSON.
You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.
Authentication
To authorize, add a token to the Authorization header:
-H 'Authorization: Bearer {apiToken}'
Authorization: Bearer {apiToken}
An access token is required when making API requests. The access token should be supplied by using an HTTP header:
Authorization: Bearer {apiToken}
Your API token is placed inside the backend on Apps / Integration page.
Pagination
Requests that return multiple items will be paginated to 30 items by default. You can specify further pages with the ?page
parameter. You can also set a custom page size up to 100 with the ?perPage
parameter.
GET /contacts?page=2&perPage=100
Note that page numbering is 1-based and that omitting the ?page
parameter will return the first page.
The total number of resources is always included in the X-Total-Count
HTTP header.
Timestamps and timezones
All timestamps are represented in ISO 8601 format:
YYYY-MM-DDTHH:MM:SS.SSSZ
All timestamps are returned in UTC.
Errors
Our API returns standard HTTP success or error status codes. For errors, we will also include extra information about what went wrong encoded in the response as JSON.
The errorCode
parameter will indicate a CAPS_CASE constant error code that you can programmatically consume to make resolution decisions from. The message
parameter will indicate a human-readable description of the error.
HTTP CODE | ERROR CODE |
---|---|
400 | MISSING_REQUIRED_FIELD |
400 | RESOURCE_ALREADY_EXISTS |
400 | CONTACT_ALREADY_CHECKED_IN |
400 | NOT_UNIQUE |
400 | ILLEGAL_ARGUMENT |
400 | INSUFFICIENT_LOYALTY_POINTS |
400 | NOT_AVAILABLE |
400 | VISIT_DATE_IN_FUTURE |
400 | INVALID_CUSTOM_FIELD_NAME |
401 | MISSING_TOKEN |
401 | INVALID_TOKEN |
404 | RESOURCE_NOT_FOUND |
429 | TOO_MANY_REQUESTS |
Contacts
Contacts allow you to send automated messages and to track visits or engagement that is associated with the same customer when pulled to the Referrizer system. The API allows you to create, update and delete your contacts. You can retrieve individual contacts as well as a list of all your contacts.
The contact object
Example response:
{
"id" : "9f596879a36f1d83f5cfd1f156acc20f",
"source" : "Customers Page",
"firstName" : "Lazar",
"lastName" : "",
"phone" : "19547896027",
"email" : "[email protected]",
"birthDate" : null,
"registrationDate" : "2018-11-18T20:02:53.000Z",
"firstVisitDate" : "2018-11-26T20:01:29.000Z",
"lastVisitDate" : "2018-12-24T11:20:18.000Z",
"visitsCount" : 3,
"loyaltyPointsCount" : 6,
"type" : "ACTIVE",
"description" : null,
"refererId" : null,
"referrerFirstName" : null,
"referrerLastName" : null,
"referralDate" : null,
"labels" : [ ],
"customFields" : [ {
"id" : "fa5c9b05922cabca82e1ee339591b229",
"type" : "text",
"value" : "James"
} ]
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 693
{
"id" : "9f596879a36f1d83f5cfd1f156acc20f",
"source" : "Customers Page",
"firstName" : "Lazar",
"lastName" : "",
"phone" : "19547896027",
"email" : "[email protected]",
"birthDate" : null,
"registrationDate" : "2018-11-18T20:02:53.000Z",
"firstVisitDate" : "2018-11-26T20:01:29.000Z",
"lastVisitDate" : "2018-12-24T11:20:18.000Z",
"visitsCount" : 3,
"loyaltyPointsCount" : 6,
"type" : "ACTIVE",
"description" : null,
"refererId" : null,
"referrerFirstName" : null,
"referrerLastName" : null,
"referralDate" : null,
"labels" : [ ],
"customFields" : [ {
"id" : "fa5c9b05922cabca82e1ee339591b229",
"type" : "text",
"value" : "James"
} ]
}
Attribute | Description |
---|---|
id String |
Unique identifier for the object. |
firstName String |
Contact's first name. |
lastName String |
Contact's last name. |
phone String |
Phone number. This field is required if there is no email address provided. |
email String |
Email address. This field is required if there is no phone number provided. |
birthDate String |
Birth date in timestamp. |
registrationDate String |
Date when contact is created. |
firstVisitDate String |
Date of the first visit (first check in). |
lastVisitDate String |
Date of the last visit (last check in). |
visitsCount Number |
Total number of visits. |
loyaltyPointsCount Number |
Number of loyalty points. |
type String |
Contact's type. Can be ACTIVE (Current customer), PASSIVE (Past customer) or POTENTIAL (Lead) |
description String |
An arbitrary string that you can attach to a contact. It is displayed in the Contact details page. |
refererId String |
Unique identifier of the referer. |
referrerFirstName String |
First name of the referer. |
referrerLastName String |
Last Name of the referer. |
referralDate String |
Date of the referer. |
source String |
Source from which customer was created |
labels Array |
Array of contact's labels. |
customFields Array |
Array of contact's custom fields. |
customFields[0].id String |
Array of contact's custom created fields. Unique identifier for the custom field. |
customFields[0].value String |
Custom field value. |
customFields[0].type String |
Custom field value type. 'text','number','date','single_select' and 'multi_select'. |
Create a contact
POST /v1/contacts
Example request:
$ curl 'https://api.referrizer.com/v1/contacts' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json' \
-d '{
"firstName" : "Joe",
"lastName" : "Doe",
"phone" : "19547806028",
"type" : "POTENTIAL",
"customFields" : [ {
"id" : "6a9392c3af7877aea86f7ecb67c782c9",
"type" : "text",
"value" : "Kobe"
} ]
}'
POST /v1/contacts HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Content-Length: 217
Host: api.referrizer.com
{
"firstName" : "Joe",
"lastName" : "Doe",
"phone" : "19547806028",
"type" : "POTENTIAL",
"customFields" : [ {
"id" : "6a9392c3af7877aea86f7ecb67c782c9",
"type" : "text",
"value" : "Kobe"
} ]
}
Example response:
{
"id" : "f45773f9ce03c6b024757ce73c085dd0",
"source" : "API",
"firstName" : "Joe",
"lastName" : "Doe",
"phone" : "19547806028",
"email" : null,
"birthDate" : null,
"registrationDate" : "2024-10-07T11:15:40.000Z",
"firstVisitDate" : null,
"lastVisitDate" : null,
"visitsCount" : 0,
"loyaltyPointsCount" : 0,
"type" : "POTENTIAL",
"description" : null,
"refererId" : null,
"referrerFirstName" : null,
"referrerLastName" : null,
"referralDate" : null,
"labels" : [ ],
"customFields" : [ {
"id" : "6a9392c3af7877aea86f7ecb67c782c9",
"type" : "text",
"value" : "Kobe"
} ]
}
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 623
{
"id" : "f45773f9ce03c6b024757ce73c085dd0",
"source" : "API",
"firstName" : "Joe",
"lastName" : "Doe",
"phone" : "19547806028",
"email" : null,
"birthDate" : null,
"registrationDate" : "2024-10-07T11:15:40.000Z",
"firstVisitDate" : null,
"lastVisitDate" : null,
"visitsCount" : 0,
"loyaltyPointsCount" : 0,
"type" : "POTENTIAL",
"description" : null,
"refererId" : null,
"referrerFirstName" : null,
"referrerLastName" : null,
"referralDate" : null,
"labels" : [ ],
"customFields" : [ {
"id" : "6a9392c3af7877aea86f7ecb67c782c9",
"type" : "text",
"value" : "Kobe"
} ]
}
Creates a new contact object.
Request arguments
Argument | Description |
---|---|
firstName String optional |
Contact's first name. |
lastName String optional |
Contact's last name. |
phone String required |
Phone number. This field is required if there is no email address provided. |
email String required |
Email address. This field is required if there is no phone number provided. |
birthDate String optional |
Birth date in timestamp. |
type String optional |
Contact's type. Can be ACTIVE (Current customer), PASSIVE (Past customer) or POTENTIAL (Lead). Default value is ACTIVE. |
description String optional |
An arbitrary string that you can attach to a contact. It is displayed in the Contact details page. |
labels Array optional |
Array of contact's labels. |
shouldSendNotification Boolean optional |
Option to send registration notification (email/text) to the contact, if email/phone is provided. By default, notification will not be sent. To see or change text template visit Loyalty settings page. Email template can be changed on Email templates page. |
customFields Array optional |
Array of contact's custom created fields. |
customFields[0].id String optional |
Unique identifier for the custom field. |
customFields[0].value String optional |
Custom field value. |
customFields[0].type String optional |
Custom field value type. 'text','number','date','single_select' and 'multi_select'. |
Returns
Returns a contact object if the call succeeded. If neither the phone number nor the email address has been provided, the call will return an error. If a contact with provided phone/email already exists, the call will return an error.
Retrieve a contact
Retrieves the details of an existing contact. You only need to supply the unique contact identifier that was returned upon contact creation.
GET /v1/contacts/{id}
Example request:
$ curl 'https://api.referrizer.com/v1/contacts/9f596879a36f1d83f5cfd1f156acc20f' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json'
GET /v1/contacts/9f596879a36f1d83f5cfd1f156acc20f HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Host: api.referrizer.com
Example response:
{
"id" : "9f596879a36f1d83f5cfd1f156acc20f",
"source" : "Customers Page",
"firstName" : "Lazar",
"lastName" : "",
"phone" : "19547896027",
"email" : "[email protected]",
"birthDate" : null,
"registrationDate" : "2018-11-18T20:02:53.000Z",
"firstVisitDate" : "2018-11-26T20:01:29.000Z",
"lastVisitDate" : "2018-12-24T11:20:18.000Z",
"visitsCount" : 3,
"loyaltyPointsCount" : 6,
"type" : "ACTIVE",
"description" : null,
"refererId" : null,
"referrerFirstName" : null,
"referrerLastName" : null,
"referralDate" : null,
"labels" : [ ],
"customFields" : [ {
"id" : "fa5c9b05922cabca82e1ee339591b229",
"type" : "text",
"value" : "James"
} ]
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 693
{
"id" : "9f596879a36f1d83f5cfd1f156acc20f",
"source" : "Customers Page",
"firstName" : "Lazar",
"lastName" : "",
"phone" : "19547896027",
"email" : "[email protected]",
"birthDate" : null,
"registrationDate" : "2018-11-18T20:02:53.000Z",
"firstVisitDate" : "2018-11-26T20:01:29.000Z",
"lastVisitDate" : "2018-12-24T11:20:18.000Z",
"visitsCount" : 3,
"loyaltyPointsCount" : 6,
"type" : "ACTIVE",
"description" : null,
"refererId" : null,
"referrerFirstName" : null,
"referrerLastName" : null,
"referralDate" : null,
"labels" : [ ],
"customFields" : [ {
"id" : "fa5c9b05922cabca82e1ee339591b229",
"type" : "text",
"value" : "James"
} ]
}
Path parameters
Parameter | Description |
---|---|
id | Unique identifier for the contact. |
Returns
Returns a contact object if a valid identifier was provided.
Update a contact
PUT /v1/contacts/{id}
Example request:
$ curl 'https://api.referrizer.com/v1/contacts/9f596879a36f1d83f5cfd1f156acc20f' -i -X PUT \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json' \
-d '{
"id" : "9f596879a36f1d83f5cfd1f156acc20f",
"source" : "Customers Page",
"firstName" : "Lazar",
"lastName" : "",
"phone" : "19547896027",
"email" : "[email protected]",
"registrationDate" : "2018-11-18T20:02:53.000Z",
"firstVisitDate" : "2018-11-26T20:01:29.000Z",
"lastVisitDate" : "2018-12-24T11:20:18.000Z",
"visitsCount" : 3,
"loyaltyPointsCount" : 6,
"type" : "ACTIVE",
"labels" : [ ],
"customFields" : [ {
"id" : "bb8618f05f695691fbac639f63d85c99",
"type" : "text",
"value" : "Kobe"
} ]
}'
PUT /v1/contacts/9f596879a36f1d83f5cfd1f156acc20f HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Content-Length: 540
Host: api.referrizer.com
{
"id" : "9f596879a36f1d83f5cfd1f156acc20f",
"source" : "Customers Page",
"firstName" : "Lazar",
"lastName" : "",
"phone" : "19547896027",
"email" : "[email protected]",
"registrationDate" : "2018-11-18T20:02:53.000Z",
"firstVisitDate" : "2018-11-26T20:01:29.000Z",
"lastVisitDate" : "2018-12-24T11:20:18.000Z",
"visitsCount" : 3,
"loyaltyPointsCount" : 6,
"type" : "ACTIVE",
"labels" : [ ],
"customFields" : [ {
"id" : "bb8618f05f695691fbac639f63d85c99",
"type" : "text",
"value" : "Kobe"
} ]
}
Example response:
{
"id" : "9f596879a36f1d83f5cfd1f156acc20f",
"source" : "Customers Page",
"firstName" : "Lazar",
"lastName" : "",
"phone" : "19547896027",
"email" : "[email protected]",
"birthDate" : null,
"registrationDate" : "2018-11-18T20:02:53.000Z",
"firstVisitDate" : "2018-11-26T20:01:29.000Z",
"lastVisitDate" : "2018-12-24T11:20:18.000Z",
"visitsCount" : 3,
"loyaltyPointsCount" : 6,
"type" : "ACTIVE",
"description" : null,
"refererId" : null,
"referrerFirstName" : null,
"referrerLastName" : null,
"referralDate" : null,
"labels" : [ ],
"customFields" : [ {
"id" : "bb8618f05f695691fbac639f63d85c99",
"type" : "text",
"value" : "Kobe"
} ]
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 692
{
"id" : "9f596879a36f1d83f5cfd1f156acc20f",
"source" : "Customers Page",
"firstName" : "Lazar",
"lastName" : "",
"phone" : "19547896027",
"email" : "[email protected]",
"birthDate" : null,
"registrationDate" : "2018-11-18T20:02:53.000Z",
"firstVisitDate" : "2018-11-26T20:01:29.000Z",
"lastVisitDate" : "2018-12-24T11:20:18.000Z",
"visitsCount" : 3,
"loyaltyPointsCount" : 6,
"type" : "ACTIVE",
"description" : null,
"refererId" : null,
"referrerFirstName" : null,
"referrerLastName" : null,
"referralDate" : null,
"labels" : [ ],
"customFields" : [ {
"id" : "bb8618f05f695691fbac639f63d85c99",
"type" : "text",
"value" : "Kobe"
} ]
}
Updates the specified contact by setting the values of the parameters passed. Any parameters not provided will be set to null
, except for custom fields. Only the provided custom field will be updated, while the rest remain unchanged.
This request accepts mostly the same arguments as the contact creation call. Note that you can pass the whole object returned from the GET request, non-updatable arguments will be ignored.
Path parameters
Parameter | Description |
---|---|
id | Unique identifier for the contact. |
Request arguments
Argument | Description |
---|---|
firstName String optional |
Contact's first name. |
lastName String optional |
Contact's last name. |
phone String required |
Phone number. This field is required if there is no email address provided. |
email String required |
Email address. This field is required if there is no phone number provided. |
birthDate String optional |
Birth date in timestamp. |
type String optional |
Contact's type. Can be ACTIVE (Current customer), PASSIVE (Past customer) or POTENTIAL (Lead). Default value is ACTIVE. |
description String optional |
An arbitrary string that you can attach to a contact. It is displayed in the Contact details page. |
labels Array optional |
Array of contact's labels. |
customFields Array optional |
Array of contact's custom created fields. |
customFields[0].id String optional |
Unique identifier for the custom field. |
customFields[0].value String optional |
Custom field value.For single and multi select provide option id and that field will be selected. For multi u can pass id like "value" : "2e1e950d25acc56fe7ceb238c46122b0, 610d609808610824ddd7685ff83827e7" . |
Returns
Returns the contact object if the update succeeded. Returns an error if update parameters are invalid (e.g. specifying an invalid type).
Delete a contact
Permanently deletes a contact. It cannot be undone.
DELETE /v1/contacts/{id}
Example request:
$ curl 'https://api.referrizer.com/v1/contacts/9d4f787d2a9145c06fd68470ae128688' -i -X DELETE \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json'
DELETE /v1/contacts/9d4f787d2a9145c06fd68470ae128688 HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Host: api.referrizer.com
Example response:
{
"id" : "9d4f787d2a9145c06fd68470ae128688",
"source" : "Customers Page",
"firstName" : "Lazar444",
"lastName" : "",
"phone" : "19546806028",
"email" : "[email protected]",
"birthDate" : null,
"registrationDate" : "2018-11-17T18:23:35.000Z",
"firstVisitDate" : "2021-05-31T20:30:00.000Z",
"lastVisitDate" : "2021-05-31T20:30:00.000Z",
"visitsCount" : 1,
"loyaltyPointsCount" : 0,
"type" : "ACTIVE",
"description" : null,
"refererId" : null,
"referrerFirstName" : null,
"referrerLastName" : null,
"referralDate" : null,
"labels" : [ ],
"customFields" : [ {
"id" : "6a9392c3af7877aea86f7ecb67c782c9",
"type" : "text",
"value" : "James"
} ]
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 703
{
"id" : "9d4f787d2a9145c06fd68470ae128688",
"source" : "Customers Page",
"firstName" : "Lazar444",
"lastName" : "",
"phone" : "19546806028",
"email" : "[email protected]",
"birthDate" : null,
"registrationDate" : "2018-11-17T18:23:35.000Z",
"firstVisitDate" : "2021-05-31T20:30:00.000Z",
"lastVisitDate" : "2021-05-31T20:30:00.000Z",
"visitsCount" : 1,
"loyaltyPointsCount" : 0,
"type" : "ACTIVE",
"description" : null,
"refererId" : null,
"referrerFirstName" : null,
"referrerLastName" : null,
"referralDate" : null,
"labels" : [ ],
"customFields" : [ {
"id" : "6a9392c3af7877aea86f7ecb67c782c9",
"type" : "text",
"value" : "James"
} ]
}
Path parameters
Parameter | Description |
---|---|
id | Unique identifier for the contact. |
Returns
Returns a deleted object. If the contact ID does not exist, this call returns an error.
List all contacts
Returns a list of your contacts. The contacts are returned sorted by registration date, with the most recent contacts appearing first.
GET /v1/contacts
Example request:
$ curl 'https://api.referrizer.com/v1/contacts?perPage=2' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json'
GET /v1/contacts?perPage=2 HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Host: api.referrizer.com
Example response:
[ {
"id" : "f45773f9ce03c6b024757ce73c085dd0",
"source" : "API",
"firstName" : "Joe",
"lastName" : "Doe",
"phone" : "19547806028",
"email" : null,
"birthDate" : null,
"registrationDate" : "2024-10-07T11:15:40.000Z",
"firstVisitDate" : null,
"lastVisitDate" : null,
"visitsCount" : 0,
"loyaltyPointsCount" : 0,
"type" : "POTENTIAL",
"description" : null,
"refererId" : null,
"referrerFirstName" : null,
"referrerLastName" : null,
"referralDate" : null,
"labels" : [ ],
"customFields" : [ {
"id" : "6a9392c3af7877aea86f7ecb67c782c9",
"type" : "text",
"value" : "Kobe"
} ]
}, {
"id" : "9f596879a36f1d83f5cfd1f156acc20f",
"source" : "Customers Page",
"firstName" : "Lazar",
"lastName" : "",
"phone" : "19547896027",
"email" : "[email protected]",
"birthDate" : null,
"registrationDate" : "2018-11-18T20:02:53.000Z",
"firstVisitDate" : "2018-11-26T20:01:29.000Z",
"lastVisitDate" : "2018-12-24T11:20:18.000Z",
"visitsCount" : 3,
"loyaltyPointsCount" : 6,
"type" : "ACTIVE",
"description" : null,
"refererId" : null,
"referrerFirstName" : null,
"referrerLastName" : null,
"referralDate" : null,
"labels" : [ ],
"customFields" : [ {
"id" : "fa5c9b05922cabca82e1ee339591b229",
"type" : "text",
"value" : "James"
} ]
} ]
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Total-Count: 2
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 1322
[ {
"id" : "f45773f9ce03c6b024757ce73c085dd0",
"source" : "API",
"firstName" : "Joe",
"lastName" : "Doe",
"phone" : "19547806028",
"email" : null,
"birthDate" : null,
"registrationDate" : "2024-10-07T11:15:40.000Z",
"firstVisitDate" : null,
"lastVisitDate" : null,
"visitsCount" : 0,
"loyaltyPointsCount" : 0,
"type" : "POTENTIAL",
"description" : null,
"refererId" : null,
"referrerFirstName" : null,
"referrerLastName" : null,
"referralDate" : null,
"labels" : [ ],
"customFields" : [ {
"id" : "6a9392c3af7877aea86f7ecb67c782c9",
"type" : "text",
"value" : "Kobe"
} ]
}, {
"id" : "9f596879a36f1d83f5cfd1f156acc20f",
"source" : "Customers Page",
"firstName" : "Lazar",
"lastName" : "",
"phone" : "19547896027",
"email" : "[email protected]",
"birthDate" : null,
"registrationDate" : "2018-11-18T20:02:53.000Z",
"firstVisitDate" : "2018-11-26T20:01:29.000Z",
"lastVisitDate" : "2018-12-24T11:20:18.000Z",
"visitsCount" : 3,
"loyaltyPointsCount" : 6,
"type" : "ACTIVE",
"description" : null,
"refererId" : null,
"referrerFirstName" : null,
"referrerLastName" : null,
"referralDate" : null,
"labels" : [ ],
"customFields" : [ {
"id" : "fa5c9b05922cabca82e1ee339591b229",
"type" : "text",
"value" : "James"
} ]
} ]
Request parameters
Parameter | Description |
---|---|
email optional |
A filter on the list based on the contact’s email field. |
phone optional |
A filter on the list based on the contact’s phone field. You should not provide more than one filter argument. |
page optional |
Current page of the collection. Default is 1. |
perPage optional |
Maximum number of items to be returned in result set. Default is 30. |
Returns
An array of up to perPage
contacts. Passing an optional phone
or email
will result in filtering to contacts with only that exact phone/email. Each entry in the array is a separate contact object. If no more contacts are available, the resulting array will be empty. This request should never return an error.
Create a custom field
Creates a new custom field object.
POST /v1/custom-fields
Example request:
$ curl 'https://api.referrizer.com/v1/contacts/custom-fields' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json' \
-d '{
"name" : "CustomFieldName",
"type" : "single_select",
"options" : [ {
"value" : "Option1"
}, {
"value" : "Option2"
}, {
"value" : "Option3"
} ]
}'
POST /v1/contacts/custom-fields HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Content-Length: 171
Host: api.referrizer.com
{
"name" : "CustomFieldName",
"type" : "single_select",
"options" : [ {
"value" : "Option1"
}, {
"value" : "Option2"
}, {
"value" : "Option3"
} ]
}
Example response:
{
"id" : "811a6c041f4acd41ff69c34430c0d9db",
"name" : "CustomFieldName",
"type" : "single_select",
"options" : [ {
"id" : "2069c355d8f7ab878583fa7483719ad7",
"value" : "Option1"
}, {
"id" : "2231b1f398c249780931239cd707ec80",
"value" : "Option2"
}, {
"id" : "007162f1e26ef2ccbbd99fc71223f715",
"value" : "Option3"
} ]
}
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 357
{
"id" : "811a6c041f4acd41ff69c34430c0d9db",
"name" : "CustomFieldName",
"type" : "single_select",
"options" : [ {
"id" : "2069c355d8f7ab878583fa7483719ad7",
"value" : "Option1"
}, {
"id" : "2231b1f398c249780931239cd707ec80",
"value" : "Option2"
}, {
"id" : "007162f1e26ef2ccbbd99fc71223f715",
"value" : "Option3"
} ]
}
Request arguments
Argument | Description |
---|---|
name String required |
Name of the custom field. Must be unique. |
type String required |
Type of custom field. Can be 'text', 'number', 'date', 'single_select' or 'multi_select'. |
options[0].value String optional |
Option value as list of option Object. options : [{"value":"Option 1"},{"value":"Option 2"}, ...] it is used for 'single_select' and 'multi_select' in other types option will be ignored. |
Returns
The created custom field object if the call succeeded. If the name or type has not been provided, the call will return an error. If a custom field with the provided name already exists, the call will return an error.
List all custom fields
Custom fields can be described as specific contact field. Custom fields let you store arbitrary data on contacts. This endpoint returns a list of your custom fields.
GET /v1/custom-fields
Example request:
$ curl 'https://api.referrizer.com/v1/contacts/custom-fields' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json'
GET /v1/contacts/custom-fields HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Host: api.referrizer.com
Example response:
[ {
"id" : "920edb5bc8b4161b93e76b6773e5a887",
"name" : "Active Intro Offer End Date",
"type" : "multi_select",
"options" : [ {
"id" : "20930395b691efae7682d6c9b8ae585c",
"value" : "Black"
} ]
}, {
"id" : "477922a5bf66e70a4eee45436c8a1795",
"name" : "Single Select",
"type" : "single_select",
"options" : [ {
"id" : "20930395b691efae7682d6c9b8ae585c",
"value" : "Option 1"
}, {
"id" : "6cf6d4a80f1b0e0e81105b19ed0d5e1c",
"value" : "Option 2"
}, {
"id" : "5f9f27a393beb77453bbc56bc98b11a4",
"value" : "Option 3"
} ]
}, {
"id" : "811a6c041f4acd41ff69c34430c0d9db",
"name" : "CustomFieldName",
"type" : "single_select",
"options" : [ {
"id" : "2069c355d8f7ab878583fa7483719ad7",
"value" : "Option1"
}, {
"id" : "2231b1f398c249780931239cd707ec80",
"value" : "Option2"
}, {
"id" : "007162f1e26ef2ccbbd99fc71223f715",
"value" : "Option3"
} ]
}, {
"id" : "f3bab02b830166c1d10672ad7246ae99",
"name" : "Single Select",
"type" : "single_select",
"options" : [ {
"id" : "711d7beb473096fab147a75762409a86",
"value" : "Option 2"
}, {
"id" : "bef14153c952c214173ed98636634d37",
"value" : "Option 3"
}, {
"id" : "1a0de28de9f6adabcb7f781233998693",
"value" : "Create New Option"
}, {
"id" : "00e4d991e8dfb3b25d68860f4ffcc40a",
"value" : "Update New Option"
} ]
}, {
"id" : "cb6241080322f49195b21017daf45a70",
"name" : "Single Select",
"type" : "single_select",
"options" : [ {
"id" : "c1384f5cda4987de13adc7c01d821443",
"value" : "Option 1"
}, {
"id" : "d50c185294ad5218c036375419c78dbc",
"value" : "Option 2"
}, {
"id" : "d5c3d6d6dc0e2f4fb00b94cd097a4621",
"value" : "Option 3"
} ]
}, {
"id" : "e1dcb19ba8bda889de0c93e9de76327e",
"name" : "Single Select",
"type" : "single_select",
"options" : [ {
"id" : "53c46210ad0cfa2cc53e8a19102816e0",
"value" : "Option 1"
}, {
"id" : "4103ca8c3b618eeee78691a1ecf77a51",
"value" : "Option 2"
}, {
"id" : "db9825d0e018f96a66b1700c8a11e93a",
"value" : "Option 3"
} ]
}, {
"id" : "db2628d4b03f9830d0542a5970e63e47",
"name" : "Single Select",
"type" : "single_select",
"options" : [ {
"id" : "ef497664d56682283084c84355ee1ca8",
"value" : "Option 1"
}, {
"id" : "ac90eae46b54fe6f4cb8fee035241ccc",
"value" : "Option 2"
}, {
"id" : "59683e14785e0b55870768871a979088",
"value" : "Option 3"
} ]
}, {
"id" : "488f606559614c90447dd472af9c876f",
"name" : "Parent Name",
"type" : "text"
}, {
"id" : "468eee25f3b4a48fa90bc3a621e49a97",
"name" : "Parent Name",
"type" : "text"
}, {
"id" : "cb86b0f9c6589d964839c5372756b2c5",
"name" : "Parent's Name",
"type" : "text"
}, {
"id" : "f8f2c579409cba0c176ce4f7a95156a0",
"name" : "New Name",
"type" : "text"
}, {
"id" : "f1bebbbfc28b26fb87ea0111086c2dcc",
"name" : "Favorite Food",
"type" : "text"
}, {
"id" : "9cde93a8c5569faef3d3aaaf2a7af1d7",
"name" : "Parent Name",
"type" : "text"
}, {
"id" : "fa5c9b05922cabca82e1ee339591b229",
"name" : "Parent's Name",
"type" : "text"
}, {
"id" : "71b73e5d6148e75e6ca781d7ca3a1290",
"name" : "Favorite Food",
"type" : "text"
}, {
"id" : "31659c2abb583d9b35d07a909fbef864",
"name" : "Parent Name",
"type" : "text"
}, {
"id" : "3690a40e2ff92b87c15b099c11a54f3f",
"name" : "Parent's Name",
"type" : "text"
}, {
"id" : "802ac30bd665c3cc22e8a61005f78513",
"name" : "Favorite Food",
"type" : "text"
}, {
"id" : "e946d5b4c30102878994ee6b1f6be2aa",
"name" : "Parent's Name",
"type" : "text"
}, {
"id" : "6a9392c3af7877aea86f7ecb67c782c9",
"name" : "Parent's Name",
"type" : "text"
}, {
"id" : "e9d74221f8df3047885e1862b18ee9cb",
"name" : "Favorite Food",
"type" : "text"
}, {
"id" : "bb8618f05f695691fbac639f63d85c99",
"name" : "Parent's Name",
"type" : "text"
}, {
"id" : "f512312735ebab838c4bdc2ffa3b53f4",
"name" : "Favorite Food",
"type" : "text"
}, {
"id" : "e1852b933a0122481ff5e7bcfd4e66ef",
"name" : "Parent's Name",
"type" : "text"
} ]
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 4089
[ {
"id" : "920edb5bc8b4161b93e76b6773e5a887",
"name" : "Active Intro Offer End Date",
"type" : "multi_select",
"options" : [ {
"id" : "20930395b691efae7682d6c9b8ae585c",
"value" : "Black"
} ]
}, {
"id" : "477922a5bf66e70a4eee45436c8a1795",
"name" : "Single Select",
"type" : "single_select",
"options" : [ {
"id" : "20930395b691efae7682d6c9b8ae585c",
"value" : "Option 1"
}, {
"id" : "6cf6d4a80f1b0e0e81105b19ed0d5e1c",
"value" : "Option 2"
}, {
"id" : "5f9f27a393beb77453bbc56bc98b11a4",
"value" : "Option 3"
} ]
}, {
"id" : "811a6c041f4acd41ff69c34430c0d9db",
"name" : "CustomFieldName",
"type" : "single_select",
"options" : [ {
"id" : "2069c355d8f7ab878583fa7483719ad7",
"value" : "Option1"
}, {
"id" : "2231b1f398c249780931239cd707ec80",
"value" : "Option2"
}, {
"id" : "007162f1e26ef2ccbbd99fc71223f715",
"value" : "Option3"
} ]
}, {
"id" : "f3bab02b830166c1d10672ad7246ae99",
"name" : "Single Select",
"type" : "single_select",
"options" : [ {
"id" : "711d7beb473096fab147a75762409a86",
"value" : "Option 2"
}, {
"id" : "bef14153c952c214173ed98636634d37",
"value" : "Option 3"
}, {
"id" : "1a0de28de9f6adabcb7f781233998693",
"value" : "Create New Option"
}, {
"id" : "00e4d991e8dfb3b25d68860f4ffcc40a",
"value" : "Update New Option"
} ]
}, {
"id" : "cb6241080322f49195b21017daf45a70",
"name" : "Single Select",
"type" : "single_select",
"options" : [ {
"id" : "c1384f5cda4987de13adc7c01d821443",
"value" : "Option 1"
}, {
"id" : "d50c185294ad5218c036375419c78dbc",
"value" : "Option 2"
}, {
"id" : "d5c3d6d6dc0e2f4fb00b94cd097a4621",
"value" : "Option 3"
} ]
}, {
"id" : "e1dcb19ba8bda889de0c93e9de76327e",
"name" : "Single Select",
"type" : "single_select",
"options" : [ {
"id" : "53c46210ad0cfa2cc53e8a19102816e0",
"value" : "Option 1"
}, {
"id" : "4103ca8c3b618eeee78691a1ecf77a51",
"value" : "Option 2"
}, {
"id" : "db9825d0e018f96a66b1700c8a11e93a",
"value" : "Option 3"
} ]
}, {
"id" : "db2628d4b03f9830d0542a5970e63e47",
"name" : "Single Select",
"type" : "single_select",
"options" : [ {
"id" : "ef497664d56682283084c84355ee1ca8",
"value" : "Option 1"
}, {
"id" : "ac90eae46b54fe6f4cb8fee035241ccc",
"value" : "Option 2"
}, {
"id" : "59683e14785e0b55870768871a979088",
"value" : "Option 3"
} ]
}, {
"id" : "488f606559614c90447dd472af9c876f",
"name" : "Parent Name",
"type" : "text"
}, {
"id" : "468eee25f3b4a48fa90bc3a621e49a97",
"name" : "Parent Name",
"type" : "text"
}, {
"id" : "cb86b0f9c6589d964839c5372756b2c5",
"name" : "Parent's Name",
"type" : "text"
}, {
"id" : "f8f2c579409cba0c176ce4f7a95156a0",
"name" : "New Name",
"type" : "text"
}, {
"id" : "f1bebbbfc28b26fb87ea0111086c2dcc",
"name" : "Favorite Food",
"type" : "text"
}, {
"id" : "9cde93a8c5569faef3d3aaaf2a7af1d7",
"name" : "Parent Name",
"type" : "text"
}, {
"id" : "fa5c9b05922cabca82e1ee339591b229",
"name" : "Parent's Name",
"type" : "text"
}, {
"id" : "71b73e5d6148e75e6ca781d7ca3a1290",
"name" : "Favorite Food",
"type" : "text"
}, {
"id" : "31659c2abb583d9b35d07a909fbef864",
"name" : "Parent Name",
"type" : "text"
}, {
"id" : "3690a40e2ff92b87c15b099c11a54f3f",
"name" : "Parent's Name",
"type" : "text"
}, {
"id" : "802ac30bd665c3cc22e8a61005f78513",
"name" : "Favorite Food",
"type" : "text"
}, {
"id" : "e946d5b4c30102878994ee6b1f6be2aa",
"name" : "Parent's Name",
"type" : "text"
}, {
"id" : "6a9392c3af7877aea86f7ecb67c782c9",
"name" : "Parent's Name",
"type" : "text"
}, {
"id" : "e9d74221f8df3047885e1862b18ee9cb",
"name" : "Favorite Food",
"type" : "text"
}, {
"id" : "bb8618f05f695691fbac639f63d85c99",
"name" : "Parent's Name",
"type" : "text"
}, {
"id" : "f512312735ebab838c4bdc2ffa3b53f4",
"name" : "Favorite Food",
"type" : "text"
}, {
"id" : "e1852b933a0122481ff5e7bcfd4e66ef",
"name" : "Parent's Name",
"type" : "text"
} ]
Returns
An array of custom fields. Each entry in the array is a separate custom field object. This request should never return an error.
Update custom field name
Custom fields name can be changed and must be uniq.
PUT /v1/custom-fields/{id}/name
Example request:
$ curl 'https://api.referrizer.com/v1/contacts/custom-fields/f8f2c579409cba0c176ce4f7a95156a0/name' -i -X PUT \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json' \
-d '"New Name"'
PUT /v1/contacts/custom-fields/f8f2c579409cba0c176ce4f7a95156a0/name HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Content-Length: 10
Host: api.referrizer.com
"New Name"
Example response:
"Name successfully updated to New Name."
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 40
"Name successfully updated to New Name."
Path parameters
Parameter | Description |
---|---|
id | Unique identifier for the custom field. |
Returns
Name successfully updated to "New Name".If a custom field with the provided name already exists, the call will return an error.
Update custom field options
Options for custom field single or multi select can be added or update. If user pass object with ID that option if exist will be updated, otherwise options will be created. Option value must be unique and can't be null.
PUT /v1/custom-fields/{id}/option
Example request:
$ curl 'https://api.referrizer.com/v1/contacts/custom-fields/f3bab02b830166c1d10672ad7246ae99/options' -i -X PUT \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json' \
-d '{
"options" : [ {
"value" : "Create New Option"
}, {
"value" : "Update New Option",
"id" : "00e4d991e8dfb3b25d68860f4ffcc40a"
} ]
}'
PUT /v1/contacts/custom-fields/f3bab02b830166c1d10672ad7246ae99/options HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Content-Length: 149
Host: api.referrizer.com
{
"options" : [ {
"value" : "Create New Option"
}, {
"value" : "Update New Option",
"id" : "00e4d991e8dfb3b25d68860f4ffcc40a"
} ]
}
Example response:
{
"id" : "f3bab02b830166c1d10672ad7246ae99",
"name" : "Single Select",
"type" : "single_select",
"options" : [ {
"id" : "711d7beb473096fab147a75762409a86",
"value" : "Option 2"
}, {
"id" : "bef14153c952c214173ed98636634d37",
"value" : "Option 3"
}, {
"id" : "1a0de28de9f6adabcb7f781233998693",
"value" : "Create New Option"
}, {
"id" : "00e4d991e8dfb3b25d68860f4ffcc40a",
"value" : "Update New Option"
} ]
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 455
{
"id" : "f3bab02b830166c1d10672ad7246ae99",
"name" : "Single Select",
"type" : "single_select",
"options" : [ {
"id" : "711d7beb473096fab147a75762409a86",
"value" : "Option 2"
}, {
"id" : "bef14153c952c214173ed98636634d37",
"value" : "Option 3"
}, {
"id" : "1a0de28de9f6adabcb7f781233998693",
"value" : "Create New Option"
}, {
"id" : "00e4d991e8dfb3b25d68860f4ffcc40a",
"value" : "Update New Option"
} ]
}
Path parameters
Parameter | Description |
---|---|
id | Unique identifier for the custom field. |
Request arguments
Argument | Description |
---|---|
value String required |
Value of the custom option field. Can't be null and must be uniq. If passed without ID it will be created new options. |
id String optional |
Unique identifier for option field. If provided option will be updated. |
Returns
An array of custom fields. Each entry in the array is a separate custom field object.If a custom field option with the provided value already exists, the call will return an error.
Update loyalty points
PUT /v1/contacts/{id}/loyalty-points
Example request:
$ curl 'https://api.referrizer.com/v1/contacts/9f596879a36f1d83f5cfd1f156acc20f/loyalty-points' -i -X PUT \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json' \
-d '{
"pointsValue" : 3
}'
PUT /v1/contacts/9f596879a36f1d83f5cfd1f156acc20f/loyalty-points HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Content-Length: 23
Host: api.referrizer.com
{
"pointsValue" : 3
}
Example response:
{
"message" : "Loyalty points successfully updated.",
"code" : 201
}
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 72
{
"message" : "Loyalty points successfully updated.",
"code" : 201
}
Path parameters
Parameter | Description |
---|---|
id | Unique identifier for the contact. |
Request arguments
Argument | Description |
---|---|
pointsValue Number required |
Value which will be added to the total loyalty points value from contact. Can be positive or negative number. Points after transaction can not be less than 0. |
employeePin String optional |
Employee's PIN. It's required if you want to assign someone (employee) to the action. |
note String optional |
An arbitrary string that you can attach to a transaction. |
Returns
Returns status code 201
if the update succeeded.
Visits
Visits can be described as Appointments, Classes or Sessions attended. This will allow the push or pull of information based on attendance or action.
The visit object
Example response:
{
"id" : "95d265b5be92247f9bf58030f18efca6",
"date" : "2021-05-31T20:30:00.000Z",
"points" : 0,
"contactId" : "9d4f787d2a9145c06fd68470ae128688",
"checkinSource" : "Checkin from MBO"
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 194
{
"id" : "95d265b5be92247f9bf58030f18efca6",
"date" : "2021-05-31T20:30:00.000Z",
"points" : 0,
"contactId" : "9d4f787d2a9145c06fd68470ae128688",
"checkinSource" : "Checkin from MBO"
}
Attribute | Description |
---|---|
id String |
Unique identifier for the object. |
date String |
Date of the visit. |
points Number |
Number of earned loyalty points. |
contactId String |
The ID of the contact. |
checkinSource String |
From where. |
Create a visit
POST /v1/visits
Example request:
$ curl 'https://api.referrizer.com/v1/visits' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json' \
-d '{
"contactId" : "1f819dece8628a620b2cfbd608106b37"
}'
POST /v1/visits HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Content-Length: 54
Host: api.referrizer.com
{
"contactId" : "1f819dece8628a620b2cfbd608106b37"
}
Example response:
{
"id" : "654eacc553c39e0cf4676b5070d51216",
"date" : "2024-10-07T11:16:51.000Z",
"points" : 2,
"contactId" : "1f819dece8628a620b2cfbd608106b37",
"checkinSource" : "Checkin from API"
}
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 194
{
"id" : "654eacc553c39e0cf4676b5070d51216",
"date" : "2024-10-07T11:16:51.000Z",
"points" : 2,
"contactId" : "1f819dece8628a620b2cfbd608106b37",
"checkinSource" : "Checkin from API"
}
Creates a new visit object.
Request arguments
Argument | Description |
---|---|
contactId String required |
The ID of an existing contact that will get visit in this request. |
points Number optional |
Loyalty points to be earned. If not provided, the number of earned points will depend on your Loyalty settings. |
amountSpent Number optional |
Dollar amount spent connected to Earning Points value. E.g. if $1 is 1pts and when contact spent $25 they will get 25pts. This is related to loyalty settings value 'pointsPerDollar'. |
date String optional |
Date and time of the visit in this request with the format 'YYYY-MM-DDTHH:MM:SS.SSSZ'. E.g. 2022-01-19T16:16:24.000Z. Date must be in the past. If the date is set a notification for the visit will not be sent. |
Returns
Returns a visit object if the call succeeded. If the contact's ID has not been provided, the call will return an error. If a contact with provided ID does not exist, the call will return an error. If the date is set but in the wrong format or in the future the call will return an error.
Create a visits bulk
POST /v1/visits/all
Example request:
$ curl 'https://api.referrizer.com/v1/visits/all' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json' \
-d '[ {
"contactId" : "0dcc07581c4192a546a8992c2969a8fb"
} ]'
POST /v1/visits/all HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Content-Length: 58
Host: api.referrizer.com
[ {
"contactId" : "0dcc07581c4192a546a8992c2969a8fb"
} ]
Example response:
[ {
"id" : "c57987b2eeda422b79ec7bc4e9f5478b",
"date" : "2024-10-07T11:16:55.000Z",
"points" : 2,
"contactId" : "0dcc07581c4192a546a8992c2969a8fb",
"checkinSource" : "Checkin from API"
} ]
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 198
[ {
"id" : "c57987b2eeda422b79ec7bc4e9f5478b",
"date" : "2024-10-07T11:16:55.000Z",
"points" : 2,
"contactId" : "0dcc07581c4192a546a8992c2969a8fb",
"checkinSource" : "Checkin from API"
} ]
Creates a new visits array objects.
Request arguments
Argument | Description |
---|---|
[0].contactId String required |
The ID of an existing contact that will get visit in this request. |
[0].points Number optional |
Loyalty points to be earned. If not provided, the number of earned points will depend on your Loyalty settings. |
[0].amountSpent Number optional |
Dollar amount spent connected to Earning Points value. E.g. if $1 is 1pts and when contact spent $25 they will get 25pts. This is related to loyalty settings value 'pointsPerDollar'. |
[0].date String optional |
Date and time of the visit in this request with the format 'YYYY-MM-DDTHH:MM:SS.SSSZ'. E.g. 2022-01-19T16:16:24.000Z. Date must be in the past. If the date is set a notification for the visit will not be sent. |
Returns
Returns a list of visits objects if the call succeeded. If the contact's ID has not been provided, the call will return empty array list. If a contact with provided ID does not exist, the call will return empty array list.
Retrieve a visit
Retrieves the details of a visit. You only need to supply the unique visit identifier that was returned upon visit creation.
GET /v1/visits/{id}
Example request:
$ curl 'https://api.referrizer.com/v1/visits/95d265b5be92247f9bf58030f18efca6' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json'
GET /v1/visits/95d265b5be92247f9bf58030f18efca6 HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Host: api.referrizer.com
Example response:
{
"id" : "95d265b5be92247f9bf58030f18efca6",
"date" : "2021-05-31T20:30:00.000Z",
"points" : 0,
"contactId" : "9d4f787d2a9145c06fd68470ae128688",
"checkinSource" : "Checkin from MBO"
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 194
{
"id" : "95d265b5be92247f9bf58030f18efca6",
"date" : "2021-05-31T20:30:00.000Z",
"points" : 0,
"contactId" : "9d4f787d2a9145c06fd68470ae128688",
"checkinSource" : "Checkin from MBO"
}
Path parameters
Parameter | Description |
---|---|
id | Unique identifier for the visit. |
Returns
Returns a visit object if a valid identifier was provided.
List all visits
Returns a list of your visits. The visits are returned sorted by visit date, with the most recent visits appearing first.
GET /v1/visits
Example request:
$ curl 'https://api.referrizer.com/v1/visits?contactId=b16ef693d51f1c964741b0da9116602e' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json'
GET /v1/visits?contactId=b16ef693d51f1c964741b0da9116602e HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Host: api.referrizer.com
Example response:
[ ]
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Total-Count: 2
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 3
[ ]
Request parameters
Parameter | Description |
---|---|
contactId optional |
A filter on the list based on the contact’s ID. |
page optional |
Current page of the collection. Default is 1. |
perPage optional |
Maximum number of items to be returned in result set. Default is 30. |
Returns
An array of up to perPage
visits. Passing an optional contactId
will result in filtering visits only from that contact. Each entry in the array is a separate visit object. If no more visits are available, the resulting array will be empty. This request should never return an error.
Labels
Labels can be described as specific groupings. This will allow Contacts to be filtered together based on titles or tags assigned to them.
The label object
Example response:
{
"id" : "b8012b28d7f692dd5ef74e40f421741e",
"name" : "Win back",
"color" : "RED"
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 89
{
"id" : "b8012b28d7f692dd5ef74e40f421741e",
"name" : "Win back",
"color" : "RED"
}
Attribute | Description |
---|---|
id String |
Unique identifier for the object. |
name String |
Name of the label. |
color String |
Label color. |
Create a label
POST /v1/labels
Example request:
$ curl 'https://api.referrizer.com/v1/labels' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json' \
-d '{
"name" : "Win back",
"color" : "RED"
}'
POST /v1/labels HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Content-Length: 44
Host: api.referrizer.com
{
"name" : "Win back",
"color" : "RED"
}
Example response:
{
"id" : "b8012b28d7f692dd5ef74e40f421741e",
"name" : "Win back",
"color" : "RED"
}
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 89
{
"id" : "b8012b28d7f692dd5ef74e40f421741e",
"name" : "Win back",
"color" : "RED"
}
Creates a new label object.
Request arguments
Argument | Description |
---|---|
name String required |
Name of the label. Must be unique. |
color String optional |
Label color. Possible values are RED, PINK, PURPLE, DEEP_PURPLE, INDIGO, LIGHT_BLUE, CYAN, TEAL, LIME, AMBER, ORANGE, DEEP_ORANGE, BROWN, GREY or BLUE_GREY. Default is GREY. |
Returns
Returns a label object if the call succeeded. If the name has not been provided or a label with the given name already exists, the call will return an error. If a color code does not exist, the call will return an error.
Retrieve a label
Retrieves the details of a label. You only need to supply the unique visit identifier that was returned upon label creation.
GET /v1/labels/{id}
Example request:
$ curl 'https://api.referrizer.com/v1/labels/b8012b28d7f692dd5ef74e40f421741e' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json'
GET /v1/labels/b8012b28d7f692dd5ef74e40f421741e HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Host: api.referrizer.com
Example response:
{
"id" : "b8012b28d7f692dd5ef74e40f421741e",
"name" : "Win back",
"color" : "RED"
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 89
{
"id" : "b8012b28d7f692dd5ef74e40f421741e",
"name" : "Win back",
"color" : "RED"
}
Path parameters
Parameter | Description |
---|---|
id | Unique identifier for the label. |
Returns
Returns a label object if a valid identifier was provided.
List all label
Returns a list of your labels.
GET /v1/labels
Example request:
$ curl 'https://api.referrizer.com/v1/labels?perPage=2' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json'
GET /v1/labels?perPage=2 HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Host: api.referrizer.com
Example response:
[ {
"id" : "b8012b28d7f692dd5ef74e40f421741e",
"name" : "Win back",
"color" : "RED"
} ]
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Total-Count: 1
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 93
[ {
"id" : "b8012b28d7f692dd5ef74e40f421741e",
"name" : "Win back",
"color" : "RED"
} ]
Request parameters
Parameter | Description |
---|---|
page optional |
Current page of the collection. Default is 1. |
perPage optional |
Maximum number of items to be returned in result set. Default is 30. |
Returns
An array of up to perPage
visits. Each entry in the array is a separate label object. If no more labels are available, the resulting array will be empty. This request should never return an error.
Loyalty rewards
A well-thought-out Loyalty Program helps drive repeat visits and purchase to the business. With the API you can create, retrieve, update and delete your loyalty rewards.
The loyalty reward object
Example response:
{
"id" : "e20f3f82b5f9fd43c458d55c74b2b4b3",
"title" : "test",
"points" : 1,
"quantity" : {
"total" : null,
"perContact" : null
},
"available" : {
"total" : null,
"perContact" : null
},
"startDate" : null,
"expiredDate" : null,
"expires" : false,
"type" : null,
"value" : null,
"itemId" : null,
"itemName" : null
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 358
{
"id" : "e20f3f82b5f9fd43c458d55c74b2b4b3",
"title" : "test",
"points" : 1,
"quantity" : {
"total" : null,
"perContact" : null
},
"available" : {
"total" : null,
"perContact" : null
},
"startDate" : null,
"expiredDate" : null,
"expires" : false,
"type" : null,
"value" : null,
"itemId" : null,
"itemName" : null
}
Attribute | Description |
---|---|
id String |
Unique identifier for the object. |
title String |
Title of the loyalty reward. |
points Number |
Reward's worth in loyalty points. |
quantity.total Number |
Total quantity of the reward. If NULL , there is no limit. |
quantity.perContact Number |
Quantity that represents how many times each contact (customer) can redeem the reward. If NULL , there is no limit. |
available.total Number |
Total available of the reward. If NULL , there is no limit. |
available.perContact Number |
Remaining availability for the contact. Returned only when contactId is provided. If NULL , there is no limit. |
contactId String |
The ID of the contact. |
startDate String |
Start date of loyalty reward. |
expiredDate String |
Expiration date of loyalty reward. |
expires Boolean |
Reward can expire or not |
type String |
Loyalty Reward’s type. Can be ITEM, CASH_DISCOUNT, PERCENT_DISCOUNT. Default is ITEM. |
value Number |
Value represent cash value (x dollars) or percent discount (0-100%). |
itemId String |
This field can be used for 3rd party integrations like POS terminal, online shop, etc. |
itemName String |
This field can be used for 3rd party integrations like POS terminal, online shop, etc. |
Create a loyalty reward
POST /v1/loyalty-rewards
Example request:
$ curl 'https://api.referrizer.com/v1/loyalty-rewards' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json' \
-d '{
"title" : "Burrito",
"points" : 10,
"quantity" : {
"total" : 500
}
}'
POST /v1/loyalty-rewards HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Content-Length: 82
Host: api.referrizer.com
{
"title" : "Burrito",
"points" : 10,
"quantity" : {
"total" : 500
}
}
Example response:
{
"id" : "d6af6fcf62006a9f17ce3066eec0a3b2",
"title" : "Burrito",
"points" : 10,
"quantity" : {
"total" : 500,
"perContact" : null
},
"available" : null,
"startDate" : null,
"expiredDate" : null,
"expires" : false,
"type" : "ITEM",
"value" : null,
"itemId" : null,
"itemName" : null
}
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 318
{
"id" : "d6af6fcf62006a9f17ce3066eec0a3b2",
"title" : "Burrito",
"points" : 10,
"quantity" : {
"total" : 500,
"perContact" : null
},
"available" : null,
"startDate" : null,
"expiredDate" : null,
"expires" : false,
"type" : "ITEM",
"value" : null,
"itemId" : null,
"itemName" : null
}
Creates a new loyalty reward object.
Request arguments
Argument | Description |
---|---|
title String required |
Title of the loyalty reward. |
points Number required |
Reward's worth in loyalty points. |
quantity.total Number optional |
Total quantity of the reward. By default, value will be NULL , i.e. unlimited. |
quantity.perContact Number optional |
Quantity that represents how many times each contact (customer) can redeem the reward. By default, value will be NULL , i.e. unlimited. |
startDate String optional |
Start date of loyalty reward. |
expiredDate String optional |
Expiration date of loyalty reward. |
expires Boolean optional |
Reward can expire or not |
type String optional |
Loyalty Reward’s type. Can be ITEM, CASH_DISCOUNT, PERCENT_DISCOUNT. Default is ITEM. |
value Number optional |
Value represent cash value (x dollars) or percent discount (0-100%). Should be provided if loyalty reward type is CASH_DISCOUNT or PERCENT_DISCOUNT. |
itemId String optional |
This field can be used for 3rd party integrations like POS terminal, online shop, etc. |
itemName String optional |
This field can be used for 3rd party integrations like POS terminal, online shop, etc. |
Returns
Returns a loyalty reward object if the call succeeded.
Retrieve a loyalty reward
Retrieves the details of a loyalty reward. You only need to supply the unique reward identifier that was returned upon reward creation.
GET /v1/loyalty-rewards/{id}
Example request:
$ curl 'https://api.referrizer.com/v1/loyalty-rewards/e20f3f82b5f9fd43c458d55c74b2b4b3' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json'
GET /v1/loyalty-rewards/e20f3f82b5f9fd43c458d55c74b2b4b3 HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Host: api.referrizer.com
Example response:
{
"id" : "e20f3f82b5f9fd43c458d55c74b2b4b3",
"title" : "test",
"points" : 1,
"quantity" : {
"total" : null,
"perContact" : null
},
"available" : {
"total" : null,
"perContact" : null
},
"startDate" : null,
"expiredDate" : null,
"expires" : false,
"type" : null,
"value" : null,
"itemId" : null,
"itemName" : null
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 358
{
"id" : "e20f3f82b5f9fd43c458d55c74b2b4b3",
"title" : "test",
"points" : 1,
"quantity" : {
"total" : null,
"perContact" : null
},
"available" : {
"total" : null,
"perContact" : null
},
"startDate" : null,
"expiredDate" : null,
"expires" : false,
"type" : null,
"value" : null,
"itemId" : null,
"itemName" : null
}
Path parameters
Parameter | Description |
---|---|
id | Unique identifier for the loyalty reward. |
Request parameters
Parameter | Description |
---|---|
contactId optional |
Loyalty reward availability per contact’s ID. |
Returns
Returns a loyalty reward object if a valid identifier was provided. Passing an optional contactId
will retrieve loyalty reward availability per contact - perContact
Update a loyalty reward
PUT /v1/loyalty-rewards/{id}
Example request:
$ curl 'https://api.referrizer.com/v1/loyalty-rewards/3fd6984c834d00f1a0235242d4446721' -i -X PUT \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json' \
-d '{
"id" : "3fd6984c834d00f1a0235242d4446721",
"title" : "test",
"points" : 16,
"quantity" : { },
"available" : { },
"expires" : false
}'
PUT /v1/loyalty-rewards/3fd6984c834d00f1a0235242d4446721 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Content-Length: 146
Host: api.referrizer.com
{
"id" : "3fd6984c834d00f1a0235242d4446721",
"title" : "test",
"points" : 16,
"quantity" : { },
"available" : { },
"expires" : false
}
Example response:
{
"id" : "3fd6984c834d00f1a0235242d4446721",
"title" : "test",
"points" : 16,
"quantity" : {
"total" : null,
"perContact" : null
},
"available" : null,
"startDate" : null,
"expiredDate" : null,
"expires" : false,
"type" : "ITEM",
"value" : null,
"itemId" : null,
"itemName" : null
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 316
{
"id" : "3fd6984c834d00f1a0235242d4446721",
"title" : "test",
"points" : 16,
"quantity" : {
"total" : null,
"perContact" : null
},
"available" : null,
"startDate" : null,
"expiredDate" : null,
"expires" : false,
"type" : "ITEM",
"value" : null,
"itemId" : null,
"itemName" : null
}
Updates the specified loyalty reward by setting the values of the parameters passed. Any parameters not provided will be set to null
. The reward's title is not updatable. Note that you can pass the whole object returned from the GET request, non-updatable arguments will be ignored.
Path parameters
Parameter | Description |
---|---|
id | Unique identifier for the loyalty reward. |
Request arguments
Argument | Description |
---|---|
points Number required |
Reward's worth in loyalty points. |
quantity.total Number optional |
Total quantity of the reward. By default, value will be NULL , i.e. unlimited. |
quantity.perContact Number optional |
Quantity that represents how many times each contact (customer) can redeem the reward. By default, value will be NULL , i.e. unlimited. |
startDate String optional |
Start date of loyalty reward. |
expiredDate String optional |
Expiration date of loyalty reward. |
expires Boolean optional |
Reward can expire or not |
type String optional |
Loyalty Reward’s type. Can be ITEM, CASH_DISCOUNT, PERCENT_DISCOUNT. Default is ITEM. |
value Number optional |
Value represent cash value (x dollars) or percent discount (0-100%). Should be provided if loyalty reward type is CASH_DISCOUNT or PERCENT_DISCOUNT. |
itemId String optional |
This field can be used for 3rd party integrations like POS terminal, online shop, etc. |
itemName String optional |
This field can be used for 3rd party integrations like POS terminal, online shop, etc. |
Returns
Returns the loyalty reward object if the update succeeded. Returns an error if update parameters are invalid (e.g. negative points
value).
Delete a loyalty reward
Permanently deletes a loyalty reward. It cannot be undone.
DELETE /v1/loyalty-rewards/{id}
Example request:
$ curl 'https://api.referrizer.com/v1/loyalty-rewards/03a33150f390a16d4287a5e4921d581e' -i -X DELETE \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json'
DELETE /v1/loyalty-rewards/03a33150f390a16d4287a5e4921d581e HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Host: api.referrizer.com
Example response:
{
"id" : "03a33150f390a16d4287a5e4921d581e",
"title" : "test",
"points" : 1,
"quantity" : {
"total" : null,
"perContact" : null
},
"available" : null,
"startDate" : null,
"expiredDate" : null,
"expires" : false,
"type" : null,
"value" : null,
"itemId" : null,
"itemName" : null
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 313
{
"id" : "03a33150f390a16d4287a5e4921d581e",
"title" : "test",
"points" : 1,
"quantity" : {
"total" : null,
"perContact" : null
},
"available" : null,
"startDate" : null,
"expiredDate" : null,
"expires" : false,
"type" : null,
"value" : null,
"itemId" : null,
"itemName" : null
}
Path parameters
Parameter | Description |
---|---|
id | Unique identifier for the loyalty reward. |
Returns
Returns a deleted object. If the loyalty reward ID does not exist, this call returns an error.
List all loyalty reward
Returns a list of your loyalty reward. The rewards are returned sorted by loyalty points, with the smaller rewards appearing first.
GET /v1/loyalty-rewards
Example request:
$ curl 'https://api.referrizer.com/v1/loyalty-rewards?perPage=2' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json'
GET /v1/loyalty-rewards?perPage=2 HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Host: api.referrizer.com
Example response:
[ {
"id" : "046b5408d380e0562e9d32cf1596573f",
"title" : "test",
"points" : 1,
"quantity" : {
"total" : null,
"perContact" : null
},
"available" : null,
"startDate" : null,
"expiredDate" : null,
"expires" : false,
"type" : null,
"value" : null,
"itemId" : null,
"itemName" : null
}, {
"id" : "574ccbc5b44be8adef5c83a5207a3df6",
"title" : "test",
"points" : 1,
"quantity" : {
"total" : null,
"perContact" : null
},
"available" : null,
"startDate" : null,
"expiredDate" : null,
"expires" : false,
"type" : null,
"value" : null,
"itemId" : null,
"itemName" : null
} ]
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Total-Count: 10
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 632
[ {
"id" : "046b5408d380e0562e9d32cf1596573f",
"title" : "test",
"points" : 1,
"quantity" : {
"total" : null,
"perContact" : null
},
"available" : null,
"startDate" : null,
"expiredDate" : null,
"expires" : false,
"type" : null,
"value" : null,
"itemId" : null,
"itemName" : null
}, {
"id" : "574ccbc5b44be8adef5c83a5207a3df6",
"title" : "test",
"points" : 1,
"quantity" : {
"total" : null,
"perContact" : null
},
"available" : null,
"startDate" : null,
"expiredDate" : null,
"expires" : false,
"type" : null,
"value" : null,
"itemId" : null,
"itemName" : null
} ]
Request parameters
Parameter | Description |
---|---|
page optional |
Current page of the collection. Default is 1. |
perPage optional |
Maximum number of items to be returned in result set. Default is 30. |
Returns
An array of up to perPage
rewards. Each entry in the array is a separate loyalty reward object. If no more rewards are available, the resulting array will be empty. This request should never return an error.
Redeem a loyalty reward
POST /v1/loyalty-rewards/{id}/redeem
Example request:
$ curl 'https://api.referrizer.com/v1/loyalty-rewards/257558bd775df708b8cc18e342db5a15/redeem' -i -X POST \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json' \
-d '{
"contactId" : "69d000c0f760f62955651de4d8ddf5e2",
"pin" : "0000"
}'
POST /v1/loyalty-rewards/257558bd775df708b8cc18e342db5a15/redeem HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Content-Length: 72
Host: api.referrizer.com
{
"contactId" : "69d000c0f760f62955651de4d8ddf5e2",
"pin" : "0000"
}
Example response:
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Path parameters
Parameter | Description |
---|---|
id | Unique identifier for the loyalty reward. |
Request arguments
Argument | Description |
---|---|
contactId String required |
The ID of an existing contact that will redeem reward. |
pin String optional |
Employee's PIN. It's required if you set it so in Loyalty Settings. |
note String optional |
An arbitrary string that you can attach to a transaction. |
Returns
Returns status code 204
if the redemption succeeded.
List all redeemed loyalty rewards
Returns a list of all redeemed loyalty rewards. If loyaltyRewardId
is provided then the result is a filtered list of redeems only for the specific loyalty reward.
GET /v1/loyalty-rewards/redeems
Example request:
$ curl 'https://api.referrizer.com/v1/loyalty-rewards/redeems?perPage=2' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json'
GET /v1/loyalty-rewards/redeems?perPage=2 HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Host: api.referrizer.com
Example response:
[ {
"loyaltyRewardId" : "257558bd775df708b8cc18e342db5a15",
"contactId" : "69d000c0f760f62955651de4d8ddf5e2",
"points" : 1,
"date" : "2024-10-07T11:16:48.921Z",
"employeeId" : "54827d7aefd33e3a10366d38219d73b6",
"note" : null
} ]
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Total-Count: 1
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 241
[ {
"loyaltyRewardId" : "257558bd775df708b8cc18e342db5a15",
"contactId" : "69d000c0f760f62955651de4d8ddf5e2",
"points" : 1,
"date" : "2024-10-07T11:16:48.921Z",
"employeeId" : "54827d7aefd33e3a10366d38219d73b6",
"note" : null
} ]
Request parameters
Parameter | Description |
---|---|
loyaltyRewardId optional |
If provided returns filtered list of redeems only for specific loyalty reward, if not provided returns all redeemed loyalty rewards for given account. |
contactId optional |
If provided returns filtered list of redeems only for specific contact, if not provided returns all redeemed loyalty rewards for given account. |
page optional |
Current page of the collection. Default is 1. |
perPage optional |
Maximum number of items to be returned in result set. Default is 30. |
Returns
An array of up to perPage
redeems. Each entry in the array is a separate loyalty transaction object - redeem.
Loyalty settings
With our advanced Loyalty Program, your customers are not just motivated to visit repeatedly, but they are also incentivized to share on social media and post reviews. With the API you can retrieve and update your loyalty settings.
The loyalty settings object
Example response:
{
"checkin" : 2,
"share" : 3,
"review" : 5,
"pointsPerDollar" : 100.0
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 79
{
"checkin" : 2,
"share" : 3,
"review" : 5,
"pointsPerDollar" : 100.0
}
Attribute | Description |
---|---|
checkin Number |
Points for check-in (every visit). |
share Number |
Points for sharing on social media. |
review Number |
Points for posting a review. |
pointsPerDollar Number |
Points per dollar spent in your business. This requires 3rd party integration. |
Retrieve loyalty settings
Returns a loyalty program setup object which represents award points for each customer action.
GET /v1/loyalty-rewards/loyalty-settings
Example request:
$ curl 'https://api.referrizer.com/v1/loyalty-rewards/loyalty-settings' -i -X GET \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json'
GET /v1/loyalty-rewards/loyalty-settings HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Host: api.referrizer.com
Example response:
{
"checkin" : 2,
"share" : 3,
"review" : 5,
"pointsPerDollar" : 100.0
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 79
{
"checkin" : 2,
"share" : 3,
"review" : 5,
"pointsPerDollar" : 100.0
}
Update loyalty settings
Updates the loyalty setup by setting the values of the parameters passed. Any parameters not provided will be ignored.
PUT /v1/loyalty-rewards/loyalty-settings
Example request:
$ curl 'https://api.referrizer.com/v1/loyalty-rewards/loyalty-settings' -i -X PUT \
-H 'Content-Type: application/json;charset=UTF-8' \
-H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ' \
-H 'Accept: application/json' \
-d '{
"checkin" : 2,
"share" : 3,
"review" : 5,
"pointsPerDollar" : 100.0
}'
PUT /v1/loyalty-rewards/loyalty-settings HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNTUxYmE3NzM0ZjdiMzkwOWZkZmY1ZmI4NjUwMGE3YiIsImV4cCI6NDg4MTg4NTMzOX0.kv788BU20GgOevIllAOQjigQm6pdA3qDoCx40jQdMCC7RsdXRDup98GpVpzsPJpX8-oTojrookY_vPzoPN7GwQ
Accept: application/json
Content-Length: 79
Host: api.referrizer.com
{
"checkin" : 2,
"share" : 3,
"review" : 5,
"pointsPerDollar" : 100.0
}
Example response:
{
"checkin" : 2,
"share" : 3,
"review" : 5,
"pointsPerDollar" : 100.0
}
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Length: 79
{
"checkin" : 2,
"share" : 3,
"review" : 5,
"pointsPerDollar" : 100.0
}
Request arguments
Argument | Description |
---|---|
checkin Number optional |
Points for check-in (every visit). |
share Number optional |
Points for sharing on social media. |
review Number optional |
Points for posting a review. |
pointsPerDollar Number optional |
Points per dollar spent in your business. This requires 3rd party integration. |
Returns
Returns the updated loyalty setup object.