Developer Hub

Welcome to the Synerise developer hub. Add extraordinary value to Your business with a Synerise integration, webhooks, API or customize Synerise for Your organization.

Get Started
Suggest Edits

authorization

 

The Synerise Platform uses JWT as an authorization method in order to simplify the API consumption process. The idea is very simple: you send your credentials to the login endpoint and it returns you a token. Then you have to pass it as an Authorization header to any subsequent request, just like here: Authorization: Bearer: [token]. It is valid for 1 hour only, but it does not mean, that you cannot use our API any longer - if you want to prolongate the session, you just request the refresh endpoint and a new token is given to you.

To verify your token signature, use the public key available here.

Synerise distinguishes three different types of API consumers:

  • Client is the end user of your site. The one who browses your pages, makes purchases and uses mobile applications. That person is able to register an account, update it's data and e.g. redeem a coupon, so some endpoints require a login process here, especially when using the mobile application. A client is only able to modify his own data.

  • User is the end user of Synerise. The one who logs in to https://app.synerise.com/ It might be you, or some of your coworkers. Because a large part of user activitites could be automated using our API, a separate login mechanism is required here.

  • Profile We call a Business Profile our relationship with a particular company or organisation. Some of the operations which could be done with Synerise don't fit very well to the previous categories, like e.g. sending batches of client information or transactions. In general you use the Profile authorization if the operation you're about to execute doesn't have a particular physical person (a User or Client) bound to it.

In order to log-in you have to use an API key. These keys could be created, managed and revoked on demand using the Synerise Application. They could not be used for different login methods, and could have even stricter limitations for specific purposes. More information about those keys could be found in our Knowledge Base.

Suggest Edits

Choose user profile

Retrieves a JWT which is bound to a specific business profile. In order to perform
most of the operations in user context it is required not only to be authenticated
as a user, but also to have a business profile selected.

In order to use this endpoint, you have to be logged in as user.

 
posthttps://api.synerise.com/v4/auth/login/user/profile/id
curl --request POST \
  --url https://api.synerise.com/v4/auth/login/user/profile/id \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/auth/login/user/profile/id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/auth/login/user/profile/id")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/auth/login/user/profile/id");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/auth/login/user/profile/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/auth/login/user/profile/id"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
uuid
required

Business profile UUID

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.1.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

tokenstring

JWT Token

Unauthorized

Forbidden

Suggest Edits

Client login

Log in a client in order to obtain the JWT token, which could be used in subsequent requests.
The token is valid for 1 hour. If you want to use our API longer, you have to request a new one
by requesting the Client token refresh endpoint before this time runs out.

 
posthttps://api.synerise.com/v4/auth/login/client
curl --request POST \
  --url https://api.synerise.com/v4/auth/login/client \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/auth/login/client",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/auth/login/client")
  .post(null)
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/auth/login/client");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/auth/login/client")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/auth/login/client"

headers = {
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

apiKey
uuid
required

Client API key

uuid
uuid

Unique identifier of a client

email
email
required

Email address

password
password
required

Password

deviceId
string

Device Id

Headers

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

tokenstring

JWT Token

Unauthorized

Suggest Edits

Profile login

Log in a profile in order to obtain the JWT token, which could be used in subsequent requests.
The token is valid for 1 hour. If you want to use our API longer, you have to request a new one
by requesting the Profile token refresh endpoint before this time runs out.

 
posthttps://api.synerise.com/v4/auth/login/profile
curl --request POST \
  --url https://api.synerise.com/v4/auth/login/profile \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/auth/login/profile",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/auth/login/profile")
  .post(null)
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/auth/login/profile");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/auth/login/profile")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/auth/login/profile"

headers = {
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

apiKey
uuid
required

Business profile API key

Headers

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

tokenstring

JWT Token

Unauthorized

Suggest Edits

User login

Log in a user in order to obtain the JWT token, which could be used in subsequent requests.
The token is valid for 1 hour. If you want to use our API longer, you have to request a new one
by requesting the User token refresh endpoint before this time runs out.

 
posthttps://api.synerise.com/v4/auth/login/user
curl --request POST \
  --url https://api.synerise.com/v4/auth/login/user \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/auth/login/user",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/auth/login/user")
  .post(null)
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/auth/login/user");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/auth/login/user")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/auth/login/user"

headers = {
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

username
email
required

Username

password
password
required

Password

Headers

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

tokenstring

JWT Token

Unauthorized

Suggest Edits

Client token refresh

Retrieves a refreshed JWT token in order to prolongate the client session.

In order to use this endpoint, you have to be logged in as client.

 
gethttps://api.synerise.com/v4/auth/refresh/client
curl --request GET \
  --url https://api.synerise.com/v4/auth/refresh/client \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/auth/refresh/client",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/auth/refresh/client")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/auth/refresh/client");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/auth/refresh/client")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/auth/refresh/client"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

tokenstring

JWT Token

Unauthorized

Forbidden

Suggest Edits

Profile token refresh

Retrieves a refreshed JWT token in order to prolongate the profile session.

In order to use this endpoint, you have to be logged in as business profile.

 
gethttps://api.synerise.com/v4/auth/refresh/profile
curl --request GET \
  --url https://api.synerise.com/v4/auth/refresh/profile \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/auth/refresh/profile",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/auth/refresh/profile")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/auth/refresh/profile");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/auth/refresh/profile")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/auth/refresh/profile"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

tokenstring

JWT Token

Unauthorized

Forbidden

Suggest Edits

User token refresh

Retrieves a refreshed JWT token in order to prolongate the user session.

In order to use this endpoint, you have to be logged in as user.

 
gethttps://api.synerise.com/v4/auth/refresh/user
curl --request GET \
  --url https://api.synerise.com/v4/auth/refresh/user \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/auth/refresh/user",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/auth/refresh/user")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/auth/refresh/user");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/auth/refresh/user")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/auth/refresh/user"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

tokenstring

JWT Token

Unauthorized

Forbidden

One of the most important areas of Synerise is Client management. We call a Client a human being, who does some actions on your website or mobile app. Because people tend to use many different devices and not always log in from the same location, some nifty data merging strategy is required. This merging process is one of our core domain areas - we try to connect many different profiles, which could have been created for a single person and we do it by performing sophisticated event analysis.

Because of this fact, the unique identification of the client in Synerise is not that simple, and isn't really a good foundation for a REST API.

We admit, though, that it is often very important to send us client data in a programmatical manner. In order to do so, we expect from you to send at least one of most important client determinants - email address, phone number, your internal identifier of the client, or our numeric identifier. We also accept uuids for information regarding anonymous clients, e.g. those who have used some of your website's features without identifying themselves.

Suggest Edits

Resend activation mail

Use this, to allow clients to register.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT_ACCOUNT scope assigned.

 
posthttps://api.synerise.com/v4/clients/activation/request
curl --request POST \
  --url https://api.synerise.com/v4/clients/activation/request \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/activation/request",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/activation/request")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/clients/activation/request");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/activation/request")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/activation/request"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

email
string
required

Email address

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.1.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Bad Request

Unauthorized

Forbidden

Conflict

Suggest Edits

Batch add/update

Enqueue a list of batch operations to execute. Every changeset has to be compatible with Update client.
If you don't have a value for a field - don't send it at all, because sending null may remove existing value.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_EDIT role assigned.

 
posthttps://api.synerise.com/v4/clients/batch
curl --request POST \
  --url https://api.synerise.com/v4/clients/batch \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/batch",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/batch")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/clients/batch");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/batch")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/batch"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.1.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Bad Request

Unauthorized

Forbidden

Suggest Edits

Get client browsers

Get client browsers.

Note that this endpoint is available from version 4.1.0

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_SHOW role assigned.

 
gethttps://api.synerise.com/v4/clients/id/browsers
curl --request GET \
  --url https://api.synerise.com/v4/clients/id/browsers \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/id/browsers",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/id/browsers")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/clients/id/browsers");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/id/browsers")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/id/browsers"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
int64
required

Client ID

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Not Found

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Find client by custom id

Find a client by custom ID. Because it has to be unique, only one client could be returned. If no client is
found, HTTP 404 is returned.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_SHOW role assigned.

 
gethttps://api.synerise.com/v4/clients/by-custom-id/id
curl --request GET \
  --url https://api.synerise.com/v4/clients/by-custom-id/id \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/by-custom-id/id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/by-custom-id/id")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/clients/by-custom-id/id");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/by-custom-id/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/by-custom-id/id"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Custom ID

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

anonymousboolean

True if the client has not been identified yet, false otherwise

clientIdinteger

Client ID

emailstring

Email address

phonestring

Phone number

customIdstring

Your custom identifier of this client (eg. from the external system)

firstNamestring

First name

lastNamestring

Last name

displayNamestring

Name used for display, eg. nickname

uuidstring

Unique identifier of an anonymous client

avatarUrlstring

URL of the avatar image

birthDatestring

Birth date, eg. 1986-04-26

companystring

Company name

citystring

City of residence

addressstring

Address of residence

zipCodestring

Zip code

provincestring

Province name

countryCodestring

Country code, eg. "pl" (ISO 3166-1 alpha-2)

sexstring

Sex

lastActivityDatestring

Last activity date, eg. 2016-11-08T02:52:55Z

agreementsobject

Set of marketing agreements

agreements.emailboolean

Email communication agreement

agreements.smsboolean

SMS communication agreement

agreements.pushboolean

Push communication agreement

agreements.bluetoothboolean

Bluetooth communication agreement (for mobile)

agreements.rfidboolean

RFID communication agreement (for mobile)

agreements.wifiboolean

WiFi scanning agreement (for mobile)

attributesobject

Custom attributes

tagsarray

List of assigned tags

Bad Request

Unauthorized

Forbidden

Not Found

Suggest Edits

Find client by email

Find a client by email address. Because it has to be unique, only one client could be returned. If no client is
found, HTTP 404 is returned.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_SHOW role assigned.

 
gethttps://api.synerise.com/v4/clients/by-email/email
curl --request GET \
  --url https://api.synerise.com/v4/clients/by-email/email \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/by-email/email",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/by-email/email")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/clients/by-email/email");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/by-email/email")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/by-email/email"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

email
email
required

Email address

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

anonymousboolean

True if the client has not been identified yet, false otherwise

clientIdinteger

Client ID

emailstring

Email address

phonestring

Phone number

customIdstring

Your custom identifier of this client (eg. from the external system)

firstNamestring

First name

lastNamestring

Last name

displayNamestring

Name used for display, eg. nickname

uuidstring

Unique identifier of an anonymous client

avatarUrlstring

URL of the avatar image

birthDatestring

Birth date, eg. 1986-04-26

companystring

Company name

citystring

City of residence

addressstring

Address of residence

zipCodestring

Zip code

provincestring

Province name

countryCodestring

Country code, eg. "pl" (ISO 3166-1 alpha-2)

sexstring

Sex

lastActivityDatestring

Last activity date, eg. 2016-11-08T02:52:55Z

agreementsobject

Set of marketing agreements

agreements.emailboolean

Email communication agreement

agreements.smsboolean

SMS communication agreement

agreements.pushboolean

Push communication agreement

agreements.bluetoothboolean

Bluetooth communication agreement (for mobile)

agreements.rfidboolean

RFID communication agreement (for mobile)

agreements.wifiboolean

WiFi scanning agreement (for mobile)

attributesobject

Custom attributes

tagsarray

List of assigned tags

Bad Request

Unauthorized

Forbidden

Not Found

Suggest Edits

Find clients by list

Find clients by a predefined list (created here - Create client list).
You have to pass the list ID and pagination parameters. If no clients are found, HTTP 404 is returned.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_SHOW role assigned.

 
gethttps://api.synerise.com/v4/clients/by-list/id
curl --request GET \
  --url 'https://api.synerise.com/v4/clients/by-list/id?pageIndex=pageIndex&pageSize=pageSize' \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/by-list/id?pageIndex=pageIndex&pageSize=pageSize",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/by-list/id?pageIndex=pageIndex&pageSize=pageSize")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/clients/by-list/id?pageIndex=pageIndex&pageSize=pageSize");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/by-list/id?pageIndex=pageIndex&pageSize=pageSize")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/by-list/id"

querystring = {"pageIndex":"pageIndex","pageSize":"pageSize"}

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
uuid
required

List ID

Query Params

pageIndex
int32
required

Page index (1 - based)

pageSize
int32
required

Page size (max. 250)

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

Bad Request

Unauthorized

Forbidden

Not Found

Suggest Edits

Find client by phone number

Find a client by phone number. Because it has to be unique, only one client could be returned. If no client is
found, HTTP 404 is returned.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_SHOW role assigned.

 
gethttps://api.synerise.com/v4/clients/by-phone/phone
curl --request GET \
  --url https://api.synerise.com/v4/clients/by-phone/phone \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/by-phone/phone",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/by-phone/phone")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/clients/by-phone/phone");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/by-phone/phone")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/by-phone/phone"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

phone
string
required

Phone number

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

anonymousboolean

True if the client has not been identified yet, false otherwise

clientIdinteger

Client ID

emailstring

Email address

phonestring

Phone number

customIdstring

Your custom identifier of this client (eg. from the external system)

firstNamestring

First name

lastNamestring

Last name

displayNamestring

Name used for display, eg. nickname

uuidstring

Unique identifier of an anonymous client

avatarUrlstring

URL of the avatar image

birthDatestring

Birth date, eg. 1986-04-26

companystring

Company name

citystring

City of residence

addressstring

Address of residence

zipCodestring

Zip code

provincestring

Province name

countryCodestring

Country code, eg. "pl" (ISO 3166-1 alpha-2)

sexstring

Sex

lastActivityDatestring

Last activity date, eg. 2016-11-08T02:52:55Z

agreementsobject

Set of marketing agreements

agreements.emailboolean

Email communication agreement

agreements.smsboolean

SMS communication agreement

agreements.pushboolean

Push communication agreement

agreements.bluetoothboolean

Bluetooth communication agreement (for mobile)

agreements.rfidboolean

RFID communication agreement (for mobile)

agreements.wifiboolean

WiFi scanning agreement (for mobile)

attributesobject

Custom attributes

tagsarray

List of assigned tags

Bad Request

Unauthorized

Forbidden

Not Found

Suggest Edits

Find client by uuid

Find a client by uuid. Because it has to be unique, only one client could be returned. If no client is
found, HTTP 404 is returned.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_SHOW role assigned.

 
gethttps://api.synerise.com/v4/clients/by-uuid/uuid
curl --request GET \
  --url https://api.synerise.com/v4/clients/by-uuid/uuid \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/by-uuid/uuid",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/by-uuid/uuid")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/clients/by-uuid/uuid");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/by-uuid/uuid")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/by-uuid/uuid"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

uuid
uuid
required

Client's uuid

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

anonymousboolean

True if the client has not been identified yet, false otherwise

clientIdinteger

Client ID

emailstring

Email address

phonestring

Phone number

customIdstring

Your custom identifier of this client (eg. from the external system)

firstNamestring

First name

lastNamestring

Last name

displayNamestring

Name used for display, eg. nickname

uuidstring

Unique identifier of an anonymous client

avatarUrlstring

URL of the avatar image

birthDatestring

Birth date, eg. 1986-04-26

companystring

Company name

citystring

City of residence

addressstring

Address of residence

zipCodestring

Zip code

provincestring

Province name

countryCodestring

Country code, eg. "pl" (ISO 3166-1 alpha-2)

sexstring

Sex

lastActivityDatestring

Last activity date, eg. 2016-11-08T02:52:55Z

agreementsobject

Set of marketing agreements

agreements.emailboolean

Email communication agreement

agreements.smsboolean

SMS communication agreement

agreements.pushboolean

Push communication agreement

agreements.bluetoothboolean

Bluetooth communication agreement (for mobile)

agreements.rfidboolean

RFID communication agreement (for mobile)

agreements.wifiboolean

WiFi scanning agreement (for mobile)

attributesobject

Custom attributes

tagsarray

List of assigned tags

Bad Request

Unauthorized

Forbidden

Not Found

Suggest Edits

Link client device by client id

Add client device by his id. Every client is allowed to have many different devices.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_SHOW role assigned.

 
posthttps://api.synerise.com/v4/clients/id/linked-devices
curl --request POST \
  --url https://api.synerise.com/v4/clients/id/linked-devices \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/id/linked-devices",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/id/linked-devices")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/clients/id/linked-devices");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/id/linked-devices")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/id/linked-devices"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
string
required

Client's id

Body Params

deviceId
string
required

Unique device ID How to get it on Android and on iOS

registrationId
string
type
string
required
bluetoothAddress
string

Bluetooth interface address (eg. 00:11:22:33:FF:EE)

macAddress
string

WiFi card MAC address (eg. 00:11:22:33:FF:EE)

manufacturer
string

Manufacturer name

model
string

Model name

osVersion
string

OS version

product
string

Product name

screenHeight
int16

Screen height

screenWidth
int16

Screen width

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.1.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Bad Request

Unauthorized

Forbidden

Not Found

Suggest Edits

Link client device by client uuid

Add client device by his uuid. Every client is allowed to have many different devices.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_SHOW role assigned.

 
posthttps://api.synerise.com/v4/clients/by-uuid/uuid/linked-devices
curl --request POST \
  --url https://api.synerise.com/v4/clients/by-uuid/uuid/linked-devices \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/by-uuid/uuid/linked-devices",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/by-uuid/uuid/linked-devices")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/clients/by-uuid/uuid/linked-devices");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/by-uuid/uuid/linked-devices")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/by-uuid/uuid/linked-devices"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

uuid
uuid
required

Client's uuid

Body Params

deviceId
string
required

Unique device ID How to get it on Android and on iOS

registrationId
string
type
string
required
bluetoothAddress
string

Bluetooth interface address (eg. 00:11:22:33:FF:EE)

macAddress
string

WiFi card MAC address (eg. 00:11:22:33:FF:EE)

manufacturer
string

Manufacturer name

model
string

Model name

osVersion
string

OS version

product
string

Product name

screenHeight
int16

Screen height

screenWidth
int16

Screen width

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.1.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Bad Request

Unauthorized

Forbidden

Not Found

Suggest Edits

Get client geographical data

Get client geographical data.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_SHOW role assigned.

 
gethttps://api.synerise.com/v4/clients/id/geographical-data
curl --request GET \
  --url https://api.synerise.com/v4/clients/id/geographical-data \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/id/geographical-data",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/id/geographical-data")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/clients/id/geographical-data");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/id/geographical-data")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/id/geographical-data"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
int64
required

Client ID

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

ipstring

IP address

ispstring

Internet service provider

asstring

Descriptive name

citystring

City name

provincestring

Province name

countryCodestring

Country code, eg. "PL" (ISO 3166-1 alpha-2)

latnumber

Latitude

lonnumber

Longitude

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Not Found

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Get client

Get client data by client ID.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_SHOW role assigned.

 
gethttps://api.synerise.com/v4/clients/id
curl --request GET \
  --url https://api.synerise.com/v4/clients/id \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/id")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/clients/id");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/id"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
int64
required

Client ID

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

anonymousboolean

True if the client has not been identified yet, false otherwise

clientIdinteger

Client ID

emailstring

Email address

phonestring

Phone number

customIdstring

Your custom identifier of this client (eg. from the external system)

firstNamestring

First name

lastNamestring

Last name

displayNamestring

Name used for display, eg. nickname

uuidstring

Unique identifier of an anonymous client

avatarUrlstring

URL of the avatar image

birthDatestring

Birth date, eg. 1986-04-26

companystring

Company name

citystring

City of residence

addressstring

Address of residence

zipCodestring

Zip code

provincestring

Province name

countryCodestring

Country code, eg. "pl" (ISO 3166-1 alpha-2)

sexstring

Sex

lastActivityDatestring

Last activity date, eg. 2016-11-08T02:52:55Z

agreementsobject

Set of marketing agreements

agreements.emailboolean

Email communication agreement

agreements.smsboolean

SMS communication agreement

agreements.pushboolean

Push communication agreement

agreements.bluetoothboolean

Bluetooth communication agreement (for mobile)

agreements.rfidboolean

RFID communication agreement (for mobile)

agreements.wifiboolean

WiFi scanning agreement (for mobile)

attributesobject

Custom attributes

tagsarray

List of assigned tags

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Not Found

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Update client

Update client data by ID.
If you don't have a value for a field - don't send it at all, because sending null may remove existing value.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_EDIT role assigned.

 
posthttps://api.synerise.com/v4/clients/id
curl --request POST \
  --url https://api.synerise.com/v4/clients/id \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/id")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/clients/id");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/id"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
int64
required

Client ID

Body Params

clientId
int64

Client ID

email
email

Email address

phone
string

Phone number

customId
string

Your custom identifier of this client (e.g. from the external system)

firstName
string

First name

lastName
string

Last name

displayName
string

Name used for display, e.g. nickname

uuid
uuid

Unique identifier of an anonymous client

avatarUrl
string

URL of the avatar image

birthDate
date

Birth date, e.g. 1986-04-26

company
string

Company name

city
string

City of residence

address
string

Address of residence

zipCode
string

Zip code

province
string

Province name

countryCode
string

Country code, e.g. "pl" (ISO 3166-1 alpha-2)

sex
string

Sex

agreements
object
 
agreements.email
boolean

Email communication agreement

agreements.sms
boolean

SMS communication agreement

agreements.push
boolean

Push communication agreement

agreements.bluetooth
boolean

Bluetooth communication agreement (for mobile)

agreements.rfid
boolean

RFID communication agreement (for mobile)

agreements.wifi
boolean

WiFi scanning agreement (for mobile)

attributes
object

Custom attributes (you can send us whatever you want)

 
tags
array of strings

List of tags to assign

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Bad Request

Unauthorized

Forbidden

Not Found

Suggest Edits

Delete client

Delete client by ID.
We use it internally as an update, and enqueue in the same way as any other modification.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_DELETE role assigned.

 
deletehttps://api.synerise.com/v4/clients/id
curl --request DELETE \
  --url https://api.synerise.com/v4/clients/id \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/id")
  .delete(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://api.synerise.com/v4/clients/id");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/id"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("DELETE", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
int64
required

Client ID

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Not Found

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Clients listing

This endpoint allows you to list clients with live filtering, sorting and pagination.
If you want to materialize set of clients you can use Create client list endpoint.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_SHOW role assigned.

 
gethttps://api.synerise.com/v4/clients
curl --request GET \
  --url https://api.synerise.com/v4/clients \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/clients");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

sortBy
string

Client attribute by which listing will be sorted

sortOrder
string
pageIndex
integer

One based page index

pageSize
integer

Page size

filters[anonymous]
boolean

Filter by clients anonymity. Not sending this value will return listing with all clients. True - only anonymous, false - only identified

filters[firstName]
string

Filter by clients first name

filters[lastName]
string

Filter by clients last name

filters[email]
string

Filter by clients last email

filters[city]
string

Filter by clients city

filters[phone]
string

Filter by clients phone

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.1.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Created

Bad Request

Unauthorized

Forbidden

Suggest Edits

Create client

Create a new client record, if no identifier has been assigned for him before in Synerise.
If you don't have a value for a field - don't send it at all.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_CREATE role assigned.

 
posthttps://api.synerise.com/v4/clients
curl --request POST \
  --url https://api.synerise.com/v4/clients \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/clients");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

email
email

Email address

phone
string

Phone number

customId
string

Your custom identifier of this client (e.g. from the external system)

firstName
string

First name

lastName
string

Last name

displayName
string

Name used for display, e.g. nickname

uuid
uuid

Unique identifier of an anonymous client

avatarUrl
string

URL of the avatar image

birthDate
date

Birth date, e.g. 1986-04-26

company
string

Company name

city
string

City of residence

address
string

Address of residence

zipCode
string

Zip code

province
string

Province name

countryCode
string

Country code, e.g. "pl" (ISO 3166-1 alpha-2)

sex
string

Sex

agreements
object

Set of marketing agreements

 
agreements.email
boolean

Email communication agreement

agreements.sms
boolean

SMS communication agreement

agreements.push
boolean

Push communication agreement

agreements.bluetooth
boolean

Bluetooth communication agreement (for mobile)

agreements.rfid
boolean

RFID communication agreement (for mobile)

agreements.wifi
boolean

WiFi scanning agreement (for mobile)

attributes
object

Custom attributes (you can send us whatever you want)

 
tags
array of strings

List of tags to assign

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Bad Request

Unauthorized

Forbidden

Suggest Edits

Get client list

Get a definition of a client list by its ID. Useful e.g. to check it's expiration time.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_SHOW role assigned.

 
gethttps://api.synerise.com/v4/clients/list/id
curl --request GET \
  --url https://api.synerise.com/v4/clients/list/id \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/list/id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/list/id")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/clients/list/id");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/list/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/list/id"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
uuid
required

Client list ID

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

countinteger

Count of clients in this list

expirationstring

When this list expires (it would be inaccessible after that point in time)

idstring

The ID of the list

Unauthorized

Forbidden

Not Found

Suggest Edits

Create client list

Synerise is able to process millions of clients. Every segment, tag, or other aggregates could be bound to
thousands of clients. These assignments may change in time, though. Casual implementation of pagination would make
you effectively unable to capture the state of a list in a given moment in time. Therefore we decided, that every
time you want to make a list from query, we materialize the set of client IDs which would have been returned at that
moment and make you able to fetch whole clients from that list by using
Find clients by list endpoint.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_SHOW role assigned.

 
posthttps://api.synerise.com/v4/clients/list
curl --request POST \
  --url https://api.synerise.com/v4/clients/list \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/list",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/list")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/clients/list");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/list")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/list"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

segment
int32
required

The ID of the segment (for now it is the only supported parameter, but there will be more)

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Created

countinteger

Count of clients in this list

expirationstring

When this list expires (it would be inaccessible after that point in time)

idstring

The ID of the list

Bad Request

Unauthorized

Forbidden

Not Found

Suggest Edits

Register client

Use this, to allow clients to register.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT_ACCOUNT scope assigned.
Please note, that after registration we will send confirmation email to activate account. Without that, it won't be possible to log in.

 
posthttps://api.synerise.com/v4/clients/registered
curl --request POST \
  --url https://api.synerise.com/v4/clients/registered \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/registered",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/registered")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/clients/registered");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/registered")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/registered"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

address
string

Address of residence

agreements
object
 
agreements.email
boolean

Email communication agreement

agreements.sms
boolean

SMS communication agreement

agreements.push
boolean

Push communication agreement

agreements.bluetooth
boolean

Bluetooth communication agreement (for mobile)

agreements.rfid
boolean

RFID communication agreement (for mobile)

agreements.wifi
boolean

WiFi scanning agreement (for mobile)

attributes
object
 
city
string

City of residence

company
string

Company name

countryCode
string

Country code, e.g. "pl" (ISO 3166-1 alpha-2)

customId
string

Your custom identifier of this client (e.g. from the external system)

uuid
uuid

Unique identifier of an anonymous client

email
string
required

Email address

firstName
string

First name

lastName
string

Last name

password
string
required

Password

phone
string

Phone number

province
string

Province name

sex
string

Sex

tags
array of strings

List of tags to assign

zipCode
string

Zip code

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Bad Request

Unauthorized

Forbidden

Conflict

Suggest Edits

Register client without activation

Use this, to allow clients to register without activation.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT_ACCOUNT scope assigned.

 
posthttps://api.synerise.com/v4/clients/registered/without-activation
curl --request POST \
  --url https://api.synerise.com/v4/clients/registered/without-activation \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/registered/without-activation",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/registered/without-activation")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/clients/registered/without-activation");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/registered/without-activation")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/registered/without-activation"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

address
string

Address of residence

agreements
object
 
agreements.email
boolean

Email communication agreement

agreements.sms
boolean

SMS communication agreement

agreements.push
boolean

Push communication agreement

agreements.bluetooth
boolean

Bluetooth communication agreement (for mobile)

agreements.rfid
boolean

RFID communication agreement (for mobile)

agreements.wifi
boolean

WiFi scanning agreement (for mobile)

attributes
object
 
city
string

City of residence

company
string

Company name

countryCode
string

Country code, e.g. "pl" (ISO 3166-1 alpha-2)

customId
string

Your custom identifier of this client (e.g. from the external system)

uuid
uuid

Unique identifier of an anonymous client

email
string
required

Email address

firstName
string

First name

lastName
string

Last name

password
string
required

Password

phone
string

Phone number

province
string

Province name

sex
string

Sex

tags
array of strings

List of tags to assign

zipCode
string

Zip code

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.2.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Bad Request

Unauthorized

Forbidden

Conflict

Suggest Edits

Password reset confirmation

Use this, to allow clients to confirm password reset requests. They should send received token and new password.
For requesting password reset, check Password reset confirmation.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT_ACCOUNT scope assigned.

 
posthttps://api.synerise.com/v4/clients/password-reset/confirmation
curl --request POST \
  --url https://api.synerise.com/v4/clients/password-reset/confirmation \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/password-reset/confirmation",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/password-reset/confirmation")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/clients/password-reset/confirmation");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/password-reset/confirmation")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/password-reset/confirmation"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

password
string
required

Password

token
string
required

Token from reset request

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

Unauthorized

Forbidden

Suggest Edits

Request password reset

Use this, to allow clients to send requests for resetting their passwords. They will receive a token on the specified email address.
For confirming request, check Password reset confirmation.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT_ACCOUNT scope assigned.

 
posthttps://api.synerise.com/v4/clients/password-reset/request
curl --request POST \
  --url https://api.synerise.com/v4/clients/password-reset/request \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/password-reset/request",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/password-reset/request")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/clients/password-reset/request");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/password-reset/request")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/password-reset/request"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

email
email
required

Email address

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

Unauthorized

Forbidden

Suggest Edits

Get client scoring data

Get client scroring data.

Note that this endpoint is available from version 4.1.0

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_SHOW role assigned.

 
gethttps://api.synerise.com/v4/clients/id/scoring
curl --request GET \
  --url https://api.synerise.com/v4/clients/id/scoring \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/id/scoring",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/id/scoring")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/clients/id/scoring");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/id/scoring")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/id/scoring"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
int64
required

Client ID

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

pointsinteger

Client points

revenueobject

Client revenue

revenue.lifetimeobject

Lifetime revenue

revenue.lifetime.orderValuenumber

Lifetime orders value

revenue.lastobject

Last revenue

revenue.last.orderDatestring

Last order date

revenue.last.orderValuenumber

Last order value

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Not Found

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Get all tags

Get all possible client tags that can be associated.

Note that this endpoint is available from version 4.1.0

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_CLIENT scope assigned
or you have to be logged in as user and have ROLE_CLIENT_SHOW role assigned.

 
gethttps://api.synerise.com/v4/clients/tags
curl --request GET \
  --url https://api.synerise.com/v4/clients/tags \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/clients/tags",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/clients/tags")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/clients/tags");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/clients/tags")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/clients/tags"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

Bad Request

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Get account information

Use this, to allow clients to check account information.

Note that this endpoint is available from version 4.0.2.

In order to use this endpoint, you have to be logged in as client.

 
gethttps://api.synerise.com/v4/my-account/personal-information
curl --request GET \
  --url https://api.synerise.com/v4/my-account/personal-information \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/my-account/personal-information",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/my-account/personal-information")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/my-account/personal-information");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/my-account/personal-information")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/my-account/personal-information"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

addressstring

Address of residence

birthDatestring

Birth date, e.g. 1986-04-26

citystring

City of residence

companystring

Company name

countryCodestring

Country code, e.g. "pl" (ISO 3166-1 alpha-2)

displayNamestring

Name used for display, e.g. nickname

firstNamestring

First name

lastNamestring

Last name

phoneNumberstring

Phone number

provincestring

Province name

sexstring

Sex

zipCodestring

Zip code

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Not Found

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Update account information

Use this, to allow clients to update account information.

Note that this endpoint is available from version 4.0.2.

In order to use this endpoint, you have to be logged in as client.

 
posthttps://api.synerise.com/v4/my-account/personal-information
curl --request POST \
  --url https://api.synerise.com/v4/my-account/personal-information \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/my-account/personal-information",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/my-account/personal-information")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/my-account/personal-information");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/my-account/personal-information")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/my-account/personal-information"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

address
string

Address of residence

birthDate
date

Birth date, e.g. 1986-04-26

city
string

City of residence

company
string

Company name

countryCode
string

Country code, e.g. "pl" (ISO 3166-1 alpha-2)

displayName
string

Name used for display, e.g. nickname

firstName
string

First name

lastName
string

Last name

phoneNumber
string

Phone number

province
string

Province name

sex
string

Sex

zipCode
string

Zip code

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Not Found

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Get transactions list

Use this, to allow clients to check their transactions.

In order to use this endpoint, you have to be logged in as client.

 
gethttps://api.synerise.com/v4/my-account/transactions
curl --request GET \
  --url https://api.synerise.com/v4/my-account/transactions \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/my-account/transactions",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/my-account/transactions")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/my-account/transactions");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/my-account/transactions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/my-account/transactions"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

time[from]
date-time

time[from]

time[to]
date-time

time[to]

limit
int32

limit

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Not Found

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Events allow you to track your clients' activities and are extremely helpful in the management process. Each event contains name, precise date when the event took place, and sometimes additional data. By using and checking events, you can get various useful information about your customers.

For instance, you can check if the client opened your mail, made a purchase or left a cart. Events can be also used in automation process, e.g. you can automatically send an SMS to the customer that entered your shop. Use this powerful component to improve your knowledge about customers and provide them better services.

Live Stream shows you events of all your clients in real time. You can also check specified client's events, by visiting CRM and clicking on the chosen customer.

Suggest Edits

Record 'client added product to cart' event

Record a 'client added product to cart' event. If you don't have a value for a field - don't send it at all.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_EVENT scope assigned.

 
posthttps://api.synerise.com/v4/events/added-to-cart
curl --request POST \
  --url https://api.synerise.com/v4/events/added-to-cart \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/events/added-to-cart",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/events/added-to-cart")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/events/added-to-cart");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/events/added-to-cart")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/events/added-to-cart"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

time
date-time

Exact event occurrence time. Time must be located in past. If omitted, current time will be used.

label
string
required

Label which helps in event identification, e.g. http://example.com/store/item,34.

client
object
required

Client identification parameters. You can pass either id or uuid or both

 
client.id
int64

Client ID.

client.uuid
uuid

Client UUID.

params
object

Product and operation describing params (extendable with custom data provided as key -> value map)

 
params.sku
string
required

Product SKU

params.name
string

Product name

params.source
string
required

Where action has been commited

params.category
string

Product category

params.categories
array of strings

List of product categories

params.offline
boolean

Has action been commited online?

params.regularUnitPrice
object

Amount and currency of the money

 
params.regularUnitPrice.amount
float
required

Amount, e.g. 12.50

params.regularUnitPrice.currency
string
required

Currency of the money (ISO 4217)

params.discountedUnitPrice
object

Amount and currency of the money

 
params.discountedUnitPrice.amount
float
required

Amount, e.g. 12.50

params.discountedUnitPrice.currency
string
required

Currency of the money (ISO 4217)

params.finalUnitPrice
object

Amount and currency of the money

 
params.finalUnitPrice.amount
float
required

Amount, e.g. 12.50

params.finalUnitPrice.currency
string
required

Currency of the money (ISO 4217)

params.url
string

Product URL

params.producer
string

Producer

params.quantity
int32
required

Quantity

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Bad Request

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Record 'client added product to favorites' event

Record a 'client added product to favorites' event. If you don't have a value for a field - don't send it at all.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_EVENT scope assigned.

 
posthttps://api.synerise.com/v4/events/added-to-favorites
curl --request POST \
  --url https://api.synerise.com/v4/events/added-to-favorites \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/events/added-to-favorites",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/events/added-to-favorites")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/events/added-to-favorites");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/events/added-to-favorites")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/events/added-to-favorites"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

time
date-time

Exact event occurrence time. Time must be located in past. If omitted, current time will be used.

label
string
required

Label which helps in event identification, e.g. http://example.com/store/item,34.

client
object
required

Client identification parameters. You can pass either id or uuid or both

 
client.id
int64

Client ID.

client.uuid
uuid

Client UUID.

params
object

Additional parameters correlated with event in key -> value manner.

 

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Bad Request

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Get events

If time[from] and time[to] have been provided, difference between them should be less than 7 days.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_EVENT scope assigned.

 
gethttps://api.synerise.com/v4/events/all
curl --request GET \
  --url https://api.synerise.com/v4/events/all \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/events/all",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/events/all")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/events/all");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/events/all")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/events/all"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Query Params

time[from]
date-time

Return only events that occurred later than given time. If provided, should be earlier than time[to].

time[to]
date-time

Return only events that occurred earlier than given time. If provided, should be later than time[from].

limit
integer

How many events should be returned.

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

Bad Request

Unauthorized

Forbidden

Suggest Edits

Record 'client appeared in location' event

Record a 'client appeared in location' event. If you don't have a value for a field - don't send it at all.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_EVENT scope assigned.

 
posthttps://api.synerise.com/v4/events/appeared-in-location
curl --request POST \
  --url https://api.synerise.com/v4/events/appeared-in-location \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/events/appeared-in-location",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/events/appeared-in-location")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/events/appeared-in-location");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/events/appeared-in-location")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/events/appeared-in-location"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

time
date-time

Exact event occurrence time. Time must be located in past. If omitted, current time will be used.

label
string
required

Label which helps in event identification, e.g. http://example.com/store/item,34.

client
object
required

Client identification parameters. You can pass either id or uuid or both

 
client.id
int64

Client ID.

client.uuid
uuid

Client UUID.

params
object

Location describing params (extendable with custom data provided as key -> value map)

 
params.lat
double
required
params.lon
double
required

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Bad Request

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Record 'client application started' event

Record a 'client application started' event.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_EVENT scope assigned. This method is available from 4.1.2 version.

 
posthttps://api.synerise.com/v4/events/application-started
curl --request POST \
  --url https://api.synerise.com/v4/events/application-started \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/events/application-started",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/events/application-started")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/events/application-started");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/events/application-started")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/events/application-started"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

time
date-time

Exact event occurrence time. Time must be located in past. If omitted, current time will be used.

label
string
required

Label which helps in event identification, e.g. http://example.com/store/item,34.

client
object
required

Client identification parameters. You can pass either id or uuid or both

 
client.id
int64

Client ID.

client.uuid
uuid

Client UUID.

params
object

aplication started params

 
params.applicationName
string
required

Application Name (mandatory)

params.version
string
required

1.0.0 (mandatory)

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.1.2.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Bad Request

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Record many events in a batch

Records a batch of events.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_EVENT scope assigned.

 
posthttps://api.synerise.com/v4/events/batch
curl --request POST \
  --url https://api.synerise.com/v4/events/batch \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/events/batch",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/events/batch")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/events/batch");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/events/batch")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/events/batch"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.1.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Bad Request

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Get client events

If time[from] and time[to] have been provided, difference between them should be less than 7 days.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_EVENT scope assigned.

 
gethttps://api.synerise.com/v4/events/by-client/id
curl --request GET \
  --url https://api.synerise.com/v4/events/by-client/id \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/events/by-client/id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/events/by-client/id")
  .get()
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://api.synerise.com/v4/events/by-client/id");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/events/by-client/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/events/by-client/id"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

id
int64
required

Client ID

Query Params

time[from]
date-time

Return only events that occurred later than given time. If provided, should be earlier than time[to].

time[to]
date-time

Return only events that occurred earlier than given time. If provided, should be later than time[from].

limit
integer

How many events should be returned.

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

OK

Bad Request

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Record 'client cancelled push' event

Record a 'client cancelled push' event. It is used for push message interaction tracking.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_EVENT scope assigned.

 
posthttps://api.synerise.com/v4/events/push/cancelled
curl --request POST \
  --url https://api.synerise.com/v4/events/push/cancelled \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/events/push/cancelled",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/events/push/cancelled")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/events/push/cancelled");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/events/push/cancelled")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/events/push/cancelled"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

time
date-time

Exact event occurrence time. Time must be located in past. If omitted, current time will be used.

label
string
required

Label which helps in event identification, e.g. http://example.com/store/item,34.

client
object
required

Client identification parameters. You can pass either id or uuid or both

 
client.id
int64

Client ID.

client.uuid
uuid

Client UUID.

params
object

Additional parameters correlated with event in key -> value manner.

 

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.1.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Bad Request

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Record 'client cancelled transaction' event

Record a 'client cancelled transaction' event. If you don't have a value for a field - don't send it at all.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_EVENT scope assigned.

 
posthttps://api.synerise.com/v4/events/cancelled-transaction
curl --request POST \
  --url https://api.synerise.com/v4/events/cancelled-transaction \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/events/cancelled-transaction",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/events/cancelled-transaction")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/events/cancelled-transaction");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/events/cancelled-transaction")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body
import requests

url = "https://api.synerise.com/v4/events/cancelled-transaction"

headers = {
    'authorization': "Authorization",
    'api-version': "Api-Version",
    'accept': "Accept",
    'content-type': "Content-Type"
    }

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

time
date-time

Exact event occurrence time. Time must be located in past. If omitted, current time will be used.

label
string
required

Label which helps in event identification, e.g. http://example.com/store/item,34.

client
object
required

Client identification parameters. You can pass either id or uuid or both

 
client.id
int64

Client ID.

client.uuid
uuid

Client UUID.

params
object
required

Transaction describing params (extendable with custom data provided as key -> value map)

 
params.discountAmount
object

Amount and currency of the money

 
params.discountAmount.amount
float
required

Amount, e.g. 12.50

params.discountAmount.currency
string
required

Currency of the money (ISO 4217)

params.discountCode
string

Discount code

params.discountPercent
float

Discount percent (100 = 100%, 15.4 = 15.4% etc.)

params.orderId
string

Order ID

params.orderStatus
string

Order status

params.paymentInfo
object

Machine-readable payment details (you can send us whatever you want, keeping the format dependable on the way you process payments in your e-commerce system)

 
params.products
array of objects
categories
discountPercent
discountPrice 
finalUnitPrice 
image
name
netUnitPrice 
quantity
regularPrice 
sku
tax
url
params.recordedAt
date-time

Date when the transaction has been recorded

params.revenue
object

Amount and currency of the money

 
params.revenue.amount
float
required

Amount, e.g. 12.50

params.revenue.currency
string
required

Currency of the money (ISO 4217)

params.source
string
params.value
object

Amount and currency of the money

 
params.value.amount
float
required

Amount, e.g. 12.50

params.value.currency
string
required

Currency of the money (ISO 4217)

Headers

Authorization
string
required

JWT token (prepended by the Bearer: string)

Api-Version
string
required

Requested api version, e.g. 4.0.

Accept
string
required

application/json

Content-Type
string
required

application/json

Response

Accepted

Bad Request

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Unauthorized

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Forbidden

timestampstring

Error time

statusinteger

HTTP status code

errorstring

HTTP error description

messagestring

More friendly message

pathstring

Request URI

Suggest Edits

Record 'client clicked push' event

Record a 'client clicked push' event. It is used for push message interaction tracking.

In order to use this endpoint, you have to be logged in as business profile and use Api Key, which has REALM_EVENT scope assigned.

 
posthttps://api.synerise.com/v4/events/push/clicked
curl --request POST \
  --url https://api.synerise.com/v4/events/push/clicked \
  --header 'accept: Accept' \
  --header 'api-version: Api-Version' \
  --header 'authorization: Authorization' \
  --header 'content-type: Content-Type'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.synerise.com/v4/events/push/clicked",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => array(
    "accept: Accept",
    "api-version: Api-Version",
    "authorization: Authorization",
    "content-type: Content-Type"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("https://api.synerise.com/v4/events/push/clicked")
  .post(null)
  .addHeader("authorization", "Authorization")
  .addHeader("api-version", "Api-Version")
  .addHeader("accept", "Accept")
  .addHeader("content-type", "Content-Type")
  .build();

Response response = client.newCall(request).execute();
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://api.synerise.com/v4/events/push/clicked");
xhr.setRequestHeader("authorization", "Authorization");
xhr.setRequestHeader("api-version", "Api-Version");
xhr.setRequestHeader("accept", "Accept");
xhr.setRequestHeader("content-type", "Content-Type");

xhr.send(data);
require 'uri'
require 'net/http'

url = URI("https://api.synerise.com/v4/events/push/clicked")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'
request["api-version"] = 'Api-Version'
request["accept"] = 'Accept'
request["content-type"] = 'Content-Type'

response = http.request(request)
puts response.read_body