Reviews
Get a list of reviews
This endpoint retrieves reviews for a specific channel, a set of channels or for your entire account.
The result set can be modified using a set of filters.
Query parameters can be added to the request, separated by &
.
Conceptually, there are two types of categories for the query parameters: actual filter parameters on the one hand, channels
, rating
, submittedAfter
and submittedBefore
, and pagination parameters on the other, count
, after
and before
.
See our article on paginating response data for more information.
Parameters
HTTP Headers
Name | Description |
---|---|
Authorization | An OAuth2 authorization header with an access token, see OAuth2 |
Query Parameters
Name | Description |
---|---|
channels | The list of channels for which the list of reviews will be returned. Example: |
after |
Example: |
before |
Example: |
submittedAfter |
Example: |
submittedBefore |
Example: |
count | The desired number of customer reviews to be retrieved per page. NB: This can be set to any number from 1 to 1000 with 1000 being the maximum number of records you can get per a page |
rating | A comma-separated list of star ratings to be retrieved. If not set, all reviews are listed. Example: |
status | A comma-separated list of statuses to be retrieved. If not set, all reviews are listed. The statuses you can filter for are:
Example: See our glossary entry for more information on review statuses. |
type | A comma-separated list of review types to be retrieved. If not set, all reviews are listed. The review types are:
Example: See our glossary entry for more information on review states. |
hasReply | Reduces the list of reviews to only match reviews that either have been replied to or not. If not set, all reviews are listed. Example: |
additionalInformation | A comma-separated list of additional pieces of information to be retrieved with the review. If this property is not set, none of the of additional information are included in the review. Currently there are the following valid additional information types:
Example: |
ignoreStatements | Filters the list to ignore statements. Default is true. |
query | A full-text search query that is matched against the order reference and email properties. |
orderBy | Specify the date to sort the returned list of reviews by. Possible options:
|
Responses
200 - The list of reviews for the given channels or all channels.
Name | Description |
---|---|
application/json | CustomerReviewListResponseDto |
|
401 - Unauthorized
403 - Forbidden
404 - Not found
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.etrusted.com/reviews?count=95&rating=2,3,4,5",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer {access_token}",
"Content-Type: application/json",
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.etrusted.com/reviews?count=95&rating=2,3,4,5",
"method": "GET",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer {access_token}",
"cache-control": "no-cache",
},
"processData": false,
"data": ""
}
$.ajax(settings).done(function (response) {
console.log(response);
});
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.etrusted.com/reviews?count=95&rating=2,3,4,5")
.get()
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {access_token}")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
Get a review by ID
This endpoint retrieves a review by its ID.
Parameters
Route Parameters
Name | Description |
---|---|
reviewId | The review ID. Example: |
HTTP Headers
Name | Description |
---|---|
Authorization | An OAuth2 authorization header with an access token, see OAuth2 |
Responses
200 - The review with the specified ID.
Name | Description |
---|---|
application/json | CustomerReviewResponseDto |
|
401 - Unauthorized
403 - Forbidden
404 - Not found
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.etrusted.com/reviews/{reviewId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer {access_token}",
"Content-Type: application/json",
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.etrusted.com/channels/reviews/{reviewId}",
"method": "GET",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer {access_token}",
"cache-control": "no-cache",
},
"processData": false,
"data": ""
}
$.ajax(settings).done(function (response) {
console.log(response);
});
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.etrusted.com/reviews/{reviewId}")
.get()
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {access_token}")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
Create a veto for a review
This endpoint creates a veto for the specified review. A veto flags a review as inappropriate and suggests that the review should be removed or investigated. Veto objects consist of a comment, a reason and the associated channel name.
Note that whenever this method is called, eTrusted will create a ticket in Trusted Shops' Review Team board containing the veto data for further investigation.
Parameters
Route Parameters
Name | Description |
---|---|
reviewId | The review ID. |
HTTP Headers
Name | Description |
---|---|
Authorization | A token header containing information such as the account ID. |
Body
Content-Type | Type |
---|---|
application/json | ReviewVetoRequestDto |
|
Responses
200 - The veto has been saved succesfully.
Name | Description |
---|---|
application/json | ReviewVetoResponseDto |
|
400 - Bad Request
401 - Unauthorized
403 - Forbidden
404 - Not Found
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.etrusted.com/reviews/{reviewId}/vetos",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS =>
'{
"comment": "My veto comment.",
"reason": "UNTRUTHFUL",
"channelName": "My channel name."
}',
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer {access_token}",
"Content-Type: application/json",
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.etrusted.com/reviews/{reviewId}/vetos",
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer {access_token}",
"cache-control": "no-cache",
},
"processData": false,
"data": {
"comment": "My veto comment.",
"reason": "UNTRUTHFUL",
"channelName": "My channel name."
}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType,
"{" +
"\"comment\": \"My veto comment.\"," +
"\"reason\": \"UNTRUTHFUL\"," +
"\"channelName\": \"My channel name.\"" +
"}"
);
Request request = new Request.Builder()
.url("https://api.etrusted.com/reviews/{reviewId}/vetos")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {access_token}")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
Get a review Veto by reviewID
This endpoint retrieves the veto for a specific review.
Parameters
Route Parameters
Name | Description |
---|---|
reviewId | The review ID. |
HTTP Headers
Name | Description |
---|---|
Authorization | An OAuth2 authorization header with an access token, see OAuth2 |
Responses
200 - The vetos for the given reviews.
Name | Description |
---|---|
application/json | ReviewVetoResponseDto |
|
401 - Unauthorized
403 - Forbidden
404 - Not found
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.etrusted.com/reviews/rev-xxxxxx1/vetos",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer {access_token}",
"Content-Type: application/json",
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.etrusted.com/reviews/rev-xxxxxx1/vetos",
"method": "GET",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer {access_token}",
"cache-control": "no-cache",
},
"processData": false,
"data": ""
}
$.ajax(settings).done(function (response) {
console.log(response);
});
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.etrusted.com/reviews/rev-xxxxxx1/vetos")
.get()
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {access_token}")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
Get the total number of reviews based on a filter.
This endpoint retrieves count of reviews for a specific channel
The result set can be modified using a set of filters.
Query parameters can be added to the request, separated by &
.
Parameters
HTTP Headers
Name | Description |
---|---|
Authorization | An OAuth2 authorization header with an access token, see OAuth2 |
Query Parameters
Name | Description |
---|---|
channels | The list of channels for which the list of reviews will be returned. Example: |
submittedAfter |
Example: |
submittedBefore |
Example: |
rating | A comma-separated list of star ratings to be retrieved. If not set, all reviews are listed. Example: |
status | A comma-separated list of statuses to be retrieved. If not set, all reviews are listed. The statuses you can filter for are:
Example: See our glossary entry for more information on review statuses. |
type | A comma-separated list of review types to be retrieved. If not set, all reviews are listed. The review types are:
Example: See our glossary entry for more information on review states. |
hasReply | Reduces the list of reviews to only match reviews that either have been replied to or not. If not set, all reviews are listed. Example: |
additionalInformation | A comma-separated list of additional pieces of information to be retrieved with the review. If this property is not set, none of the of additional information are included in the review. Currently there are the following valid additional information types:
Example: |
ignoreStatements | Filters the list to ignore statements. Default is true. |
query | A full-text search query that is matched against the order reference and email properties. |
Responses
200 - The count of reviews for the given channel.
Name | Description |
---|---|
application/json | ChannelReviewCountResponseDto |
|
401 - Unauthorized
403 - Forbidden
404 - Not found
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://api.etrusted.com/reviews?count=95&rating=2,3,4,5",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer {access_token}",
"Content-Type: application/json",
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.etrusted.com/reviews?count=95&rating=2,3,4,5",
"method": "GET",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer {access_token}",
"cache-control": "no-cache",
},
"processData": false,
"data": ""
}
$.ajax(settings).done(function (response) {
console.log(response);
});
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.etrusted.com/reviews?count=95&rating=2,3,4,5")
.get()
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {access_token}")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
Get a list of reviews with fewer properties per each item.
This endpoint retrieves reviews for a specific channel, a set of channels or for your entire account.
The response items have fewer properties compared to that of the /reviews endpoint which returns review items containing all properties.
The results can be filtered by appending any of the provided query parameters to the endpoint URL. Remember to use &
as a separator for multiple parameters eg: /reviews-minimal?channels=chl-xxx-yyyy&submittedAfter=2018-02-01T17:10:42.733Z
Also, for pagination, you have the following query parameters count
, after
and before
.
See our article on paginating response data to learn how to use them.
Parameters
HTTP Headers
Name | Description |
---|---|
Authorization | An OAuth2 authorization header with an access token, see OAuth2 |
Query Parameters
Name | Description |
---|---|
channels | The list of channels for which the list of reviews will be returned. Example: |
after |
Example: |
before |
Example: |
submittedAfter |
Example: |
submittedBefore |
Example: |
count | The desired number of reviews to be retrieved per page. NB: This can be set to any number from 1 to 5000 with 5000 being the maximum number of records you can get per a page. |
rating | A comma-separated list of star ratings to be retrieved. If not set, all reviews are listed. Example: |
status | A comma-separated list of statuses to be retrieved. If not set, all reviews are listed. The statuses you can filter for are:
Example: See our glossary entry for more information on review statuses. |
type | A comma-separated list of review types to be retrieved. If not set, all reviews are listed. The review types are:
Example: See our glossary entry for more information on review states. |
hasReply | Reduces the list of reviews to only match reviews that either have been replied to or not. If not set, all reviews are listed. Example: |
ignoreStatements | Filters the list to ignore statements. Default is true. |
query | A full-text search query that is matched against the order reference and email properties. |
orderBy | Specify the date to sort the returned list of reviews by. Possible options:
|
Responses
200 - The list of reviews for the given channels or all channels.
Name | Description |
---|---|
application/json | MinimalCustomerReviewListResponseDto |
|
401 - Unauthorized
403 - Forbidden
404 - Not found
Get service review rating by channel ID
This endpoint retrieves aggregate ratings for service reviews by channel ID.
The response will contain aggregates for five periods of time: the last seven, 30, 90 days, the last year, and overall. If the overall period of collecting reviews is shorter than one or several of the fix periods, the aggregates will still be calculated and returned.
For example, if a channel only collects service reviews for 14 days, the result will still contain the aggregates for 30, 90 and 365 days, but they will be the same, except for the start
property.
NB: For the aggregate, only verified reviews are considered, meaning unverified reviews such as imported ones are excluded.
Parameters
Route Parameters
Name | Description |
---|---|
channelId | The channel ID for which to retrieve the aggregate ratings. Example: |
Responses
200 - The retrieved aggregate ratings.
Name | Description |
---|---|
application/json | AggregateRatingResponse |
|
401 - Unauthorized
403 - Forbidden
404 - Not found
<?php
$request = new HttpRequest();
$request->setUrl('https://api.etrusted.com/channels/{channelId}/service-reviews/aggregate-rating');
$request->setMethod(HTTP_METH_GET);
$request->setHeaders(array(
'cache-control' => 'no-cache',
'Authorization' => 'Bearer {access_token}',
'Content-Type' => 'application/json'
));
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
var settings = {
"async": true,
"crossDomain": true,
"url": "https://api.etrusted.com/channels/{channelId}/service-reviews/aggregate-rating",
"method": "GET",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer {access_token}",
"cache-control": "no-cache"
},
"processData": false,
"data": ""
}
$.ajax(settings).done(function (response) {
console.log(response);
});
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.etrusted.com/channels/{channelId}/service-reviews/aggregate-rating")
.get()
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer {access_token}")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
Get review stats over different time frames
NB: This endpoint is currently not publicly accessible. Please reach out to your respective CSMs our account executive if you will like to use this API.
You can combine a number of filters known as tags to select specific reviews you will like to collect stats on.
Here is the list of supported tags:
Channel: You can include reviews belonging to a single or group of channels to be aggregated for the stats.
Event type (touchpoint): You can also filter out reviews based on the event type (touchpoint),
Metadata properties: You can get the stats based on specific metadata properties that you added when creating an event.
NB: Besides metadata properties, all other keywords must be prefixed with the $ sign to denote that they are reserved keywords within the system eg: channel should be $channel
and touchpoint $touchpoint
.
Also, stats are collected for only approved reviews.
To fetch the stats for reviews belonging to the channel chl-abc
and chl-xyz
at touchpoint checkout
and a productCategory of shoes
from the metadata your request payload will look something like the one below:
{
"tags": [
{"category":"$channel","value":"chl-abc"},
{"category":"$channel","value":"chl-xyz"},
{"category":"$touchpoint","value":"checkout"},
{"category":"productCategory","value":"shoes"}
]
}
Parameters
HTTP Headers
Name | Description |
---|---|
Authorization | An OAuth token in the form "Bearer {accessToken}" |
Body
Content-Type | Type |
---|---|
application/json | ReviewRequestDto |
|
Responses
200 - The stats was fetched successfully.
Name | Description |
---|---|
application/json | ReviewResponseDto |
|
400 - Bad Request
401 - Unauthorized
403 - Forbidden
404 - Not Found
Save a review reply
Reply to a review
Parameters
Route Parameters
Name | Description |
---|---|
reviewId | The review ID. |
HTTP Headers
Name | Description |
---|---|
Authorization | A token header containing meta information such as the account ID. |
Body
Content-Type | Type |
---|---|
application/json | ReviewReply |
|
Responses
200 - The review reply was saved.
400 - Bad Request
401 - Unauthorized
403 - Forbidden
404 - Not Found
Delete a review reply
Delete a reply to a review. NB: Because you can only have a single reply to a review you only need to provide the review id to delete it.
Parameters
Route Parameters
Name | Description |
---|---|
reviewId | The review ID. |
HTTP Headers
Name | Description |
---|---|
Authorization | A token header containing meta information such as the account ID. |
Responses
204 - The review reply was deleted.
400 - Bad Request
401 - Unauthorized
403 - Forbidden
404 - Not Found
Models
FeedbackType
The feedback type which is determined by the customer review title, comment and rating.
The type is REVIEW
unless either the comment or the rating are missing. In that case it is STATEMENT
.
Properties
ReviewState
The state of the customer review when the API request was processed. See our glossary entry for more information on review states.
Properties
Type
The customer review type.
A service review is a review for a channel as a whole, e.g. a shop or a store, while a product review is tied to a single product.
Properties
VerificationType
Specifies whether the collection method in combination with the provider/source can be trusted. A Review will be VERIFIED unless it comes from an external import by an account that is not explicitly marked as verified.
Properties
CustomerReviewReplyDto
The reply to the customer review, written by the channel owner.
Properties
createdAt
string
updatedAt
string
comment
string
The text message of the reply.
sendNotification
boolean
Indicates whether the reviewer is notified about the reply by eTrusted or not.
The text message of the reply.
Indicates whether the reviewer is notified about the reply by eTrusted or not.
CustomerReviewResponseProductDto
The product data retrieved with the customer review.
Properties
id
string
The product UUID.
sku
string
The Stock Keeping Unit is a specific article number of the product, most often assigned by a specific retail shop as a scannable bar code.
It lets the shops track movement of inventory.
The SKU must be unique and usually consists of about 8 characters.
mpn
string
The Manufacturer Part Number is an identifier for a product by the manufacturer if applicable.
In some cases it can serve as a substitute for the GTIN.
gtin
string
The GTIN is a unique string that identifies the product globally.
A GTIN can be an ISBN, an EAN, and much more.
Refer to gtin.info.
name
string
The product name contains information about a product that is associated with the customer review.
E.g. Specialbrand T-Shirt White M
.
url
string
The link to the product detail page in your online shop or public catalog (e.g. http://www.specialbrandshop.com/article123-TS-WH-M/).
imageUrl
string
The link to the product image of the product.
eTrusted shows a picture of the product to the customer who wants to write a review.
This makes it easier for customers to remember the purchase and recognize the product.
brand
string
The brand of the product.
A product can only have one brand.
The product UUID.
The Stock Keeping Unit is a specific article number of the product, most often assigned by a specific retail shop as a scannable bar code. It lets the shops track movement of inventory. The SKU must be unique and usually consists of about 8 characters.
The Manufacturer Part Number is an identifier for a product by the manufacturer if applicable. In some cases it can serve as a substitute for the GTIN.
The GTIN is a unique string that identifies the product globally. A GTIN can be an ISBN, an EAN, and much more. Refer to gtin.info.
The product name contains information about a product that is associated with the customer review.
E.g. Specialbrand T-Shirt White M
.
The link to the product detail page in your online shop or public catalog (e.g. http://www.specialbrandshop.com/article123-TS-WH-M/).
The link to the product image of the product. eTrusted shows a picture of the product to the customer who wants to write a review. This makes it easier for customers to remember the purchase and recognize the product.
The brand of the product. A product can only have one brand.
OriginalReview
This is the initial unedited customer review. This object will not change when the review gets edited.
Properties
rating
number
The original core review star rating. The value ranges from 1 to 5.
comment
string
The original review comment. It is a string of up to 4000 characters.
title
string
The original review title.
reply
object
The original reply to the customer review, written by the channel owner.
Properties
replyComment
string
The text message of the reply.
replyCreatedAt
string
replyUpdatedAt
string
The original core review star rating. The value ranges from 1 to 5.
The original review comment. It is a string of up to 4000 characters.
The original review title.
The original reply to the customer review, written by the channel owner.
The text message of the reply.
CustomerReviewResponseDto
A single retrieved customer review.
Properties
_object
string
The object type of this response object, which is CustomerReview
.
id
string
The customer review UUID.
accountRef
string
A UUID as account reference.
channelRef
string
A UUID as channel reference.
inviteRef
string
A UUID as invite reference.
rating
number
The star rating.
The value ranges from 1.0
to 5.0
.
title
string
A title headline for this customer review.
comment
string
The review text for this customer review.
createdAt
string
updatedAt
string
submittedAt
string
feedbackType
verificationType
reply
customer
object
This object holds information about the customer who wrote the review.
Properties
firstName
string
The first name of the customer.
lastName
string
The last name of the customer.
fullName
string
The full name of the customer.
email
string
An email address of the customer.
mobile
string
A mobile phone number of the customer.
transaction
object
The transaction associated with the customer review.
event
object
The event object that is associated with the customer review.
Properties
id
string
The event UUID.
type
string
The event type.
metadata
object
The metadata
object is a collection of user-defined data added to the customer review.
surveyData
object
The surveyData
object holds custom response data from additional questions from eTrusted questionnaires.
questionnaire
object
The questionnaire that was used to collect the customer review.
Properties
id
string
The questionnaire UUID.
locale
string
The questionnaire locale.
templateRef
string
A UUID as questionnaire template reference.
hasAttachments
boolean
This indicates if the whether the customer review has attachments, such as images.
additionalInformation
object
This object containts all of the additional information that is stored with the customer review.
Properties
veto
object
The veto of this customer review.
Properties
createdAt
string
comment
string
The comment in the ticket that was created internally at Trusted Shops for this veto.
reason
string
The reason for this veto.
This string may only have the following values:
UNTRUTHFUL
ABUSIVE
VIOLATES_THE_TERMS_OF_USE
ticketId
string
A reference to the ticket that was created internally at Trusted Shops for this veto.
The ID is a sequence of six digits.
attachments
object
Holds information about the attachments of this customer review.
Properties
images
object[]
This is a list of image objects.
Each image object represents a single image attached to this customer review.
originalReview
object
This object contains the original review, in case the consumer edited their review via our B2C world.
Properties
rating
number
The star rating before the changes.
The value ranges from 1.0
to 5.0
.
title
string
A title headline for this customer review before any changes.
comment
string
The review text for this customer review before any changes.
reply
product
editedAt
string
The date and time when the customer review was last edited by the consumer via our B2C world, in the ISO 8601 and RFC 3339 compliant format yyyy-MM-dd’T’HH:mm:ss.SSSZ
. Check the glossary for examples of valid datetime formats. Will not be present in the response when the review was never edited by the consumer.
originalReview
The object type of this response object, which is CustomerReview
.
The customer review UUID.
A UUID as account reference.
A UUID as channel reference.
A UUID as invite reference.
The star rating.
The value ranges from 1.0
to 5.0
.
A title headline for this customer review.
The review text for this customer review.
This object holds information about the customer who wrote the review.
The first name of the customer.
The last name of the customer.
The full name of the customer.
An email address of the customer.
A mobile phone number of the customer.
The transaction associated with the customer review.
The event object that is associated with the customer review.
The event UUID.
The event type.
The metadata
object is a collection of user-defined data added to the customer review.
The surveyData
object holds custom response data from additional questions from eTrusted questionnaires.
The questionnaire that was used to collect the customer review.
The questionnaire UUID.
The questionnaire locale.
A UUID as questionnaire template reference.
This indicates if the whether the customer review has attachments, such as images.
This object containts all of the additional information that is stored with the customer review.
The veto of this customer review.
The comment in the ticket that was created internally at Trusted Shops for this veto.
The reason for this veto.
This string may only have the following values:
UNTRUTHFUL
ABUSIVE
VIOLATES_THE_TERMS_OF_USE
A reference to the ticket that was created internally at Trusted Shops for this veto. The ID is a sequence of six digits.
Holds information about the attachments of this customer review.
This is a list of image objects.
Each image object represents a single image attached to this customer review.
This object contains the original review, in case the consumer edited their review via our B2C world.
The star rating before the changes.
The value ranges from 1.0
to 5.0
.
A title headline for this customer review before any changes.
The review text for this customer review before any changes.
The date and time when the customer review was last edited by the consumer via our B2C world, in the ISO 8601 and RFC 3339 compliant format yyyy-MM-dd’T’HH:mm:ss.SSSZ
. Check the glossary for examples of valid datetime formats. Will not be present in the response when the review was never edited by the consumer.
CustomerReviewListResponseDto
The list of retrieved reviews.
Properties
totalElements
integer
Deprecated. Use review/count. The value will return 0.
paging
object
The paging object holds pagination information for the reviews retrieved via this API.
Properties
count
integer
This is the number of reviews displayed in one page of the pagination.
Note that this number might be lower than the count
number in the request. This happens when the last page is reached.
For example: A total number of 105 reviews are displayed in chunks of 20 reviews per page. The sixth and last page will only have 5 reviews. The count
property will hold the value 5
.
cursor
object
The cursor object contains information to navigate to the previous and next pages in a subsequent request.
Properties
before
string
This is a review ID to retrieve the previous page in the pagination.
after
string
This is a review ID to retrieve the next page in the pagination. It is empty if it is the last page in the pagination.
links
object
Links to the previous and next pages in the pagination.
Note that the links contain the exact filter parameters that were used in the request (rating
, submittedBefore
, submittedAfter
).
This makes sure that the pagination is always relative to the same filter in subsequent requests.
If developers build URLs themselves using after
, before
, and the matching information inside the cursor
object, they may need to ensure to recreate the same filter as well.
Properties
previous
string
The link to the previous page in the pagination.
next
string
The link to the next page in the pagination. It is empty if it is the last page in the pagination.
This is the list of review objects.
Each item
object represents a single retrieved review.
Deprecated. Use review/count. The value will return 0.
The paging object holds pagination information for the reviews retrieved via this API.
This is the number of reviews displayed in one page of the pagination.
Note that this number might be lower than the count
number in the request. This happens when the last page is reached.
For example: A total number of 105 reviews are displayed in chunks of 20 reviews per page. The sixth and last page will only have 5 reviews. The count
property will hold the value 5
.
The cursor object contains information to navigate to the previous and next pages in a subsequent request.
This is a review ID to retrieve the previous page in the pagination.
This is a review ID to retrieve the next page in the pagination. It is empty if it is the last page in the pagination.
Links to the previous and next pages in the pagination.
Note that the links contain the exact filter parameters that were used in the request (rating
, submittedBefore
, submittedAfter
).
This makes sure that the pagination is always relative to the same filter in subsequent requests.
If developers build URLs themselves using after
, before
, and the matching information inside the cursor
object, they may need to ensure to recreate the same filter as well.
The link to the previous page in the pagination.
The link to the next page in the pagination. It is empty if it is the last page in the pagination.
This is the list of review objects.
Each item
object represents a single retrieved review.
ReviewVetoRequestDto
Properties
comment
string
The veto comment.
Provide additional information on the review or your veto here.
reason
string
The reason for the veto.
This string may only have the following values:
UNTRUTHFUL
ABUSIVE
,
VIOLATES_THE_TERMS_OF_USE
vetoReporterEmail
string
The E-Mail address of the veto reporter.
channelName
string
The name of the channel the review is associated with.
The veto comment. Provide additional information on the review or your veto here.
The reason for the veto.
This string may only have the following values:
UNTRUTHFUL
ABUSIVE
,VIOLATES_THE_TERMS_OF_USE
The E-Mail address of the veto reporter.
The name of the channel the review is associated with.
ReviewVetoResponseDto
The veto has been saved successfully.
Properties
id
string
The veto UUID.
ticketId
string
A reference to the ticket that was created internally at Trusted Shops for this veto.
The ID is a sequence of six digits.
comment
string
The comment in the ticket that was created internally at Trusted Shops for this veto.
reason
string
The reason for this veto.
This string may only have the following values:
UNTRUTHFUL
ABUSIVE
VIOLATES_THE_TERMS_OF_USE
createdAt
string
updatedAt
string
The veto UUID.
A reference to the ticket that was created internally at Trusted Shops for this veto. The ID is a sequence of six digits.
The comment in the ticket that was created internally at Trusted Shops for this veto.
The reason for this veto.
This string may only have the following values:
UNTRUTHFUL
ABUSIVE
VIOLATES_THE_TERMS_OF_USE
ChannelReviewCountResponseDto
The count of reviews for a channel.
Properties
accountId
string
The account ID
channelList
[]
The ID of the channels for which the review count will be returned.
totalElements
integer
The amount of reviews of a channel dependant of filter
The account ID
The ID of the channels for which the review count will be returned.
The amount of reviews of a channel dependant of filter
MinimalCustomerReviewResponseDto
A single minimal retrieved customer review.
Properties
id
string
The customer review UUID.
channelRef
string
A UUID as channel reference.
rating
number
The star rating.
The value ranges from 1.0
to 5.0
.
title
string
A title headline for this customer review.
comment
string
The review text for this customer review.
submittedAt
string
reply
customer
object
This object holds information about the customer who wrote the review.
Properties
firstName
string
The first name of the customer.
lastName
string
The last name of the customer.
fullName
string
The full name of the customer.
email
string
An email address of the customer.
mobile
string
A mobile phone number of the customer.
hasAttachments
boolean
This indicates if the whether the customer review has attachments, such as images.
product
editedAt
string
The date and time when the customer review was last edited by the consumer via our B2C world, in the ISO 8601 and RFC 3339 compliant format yyyy-MM-dd’T’HH:mm:ss.SSSZ
. Check the glossary for examples of valid datetime formats. Will not be present in the response when the review was never edited by the consumer.
The customer review UUID.
A UUID as channel reference.
The star rating.
The value ranges from 1.0
to 5.0
.
A title headline for this customer review.
The review text for this customer review.
This object holds information about the customer who wrote the review.
The first name of the customer.
The last name of the customer.
The full name of the customer.
An email address of the customer.
A mobile phone number of the customer.
This indicates if the whether the customer review has attachments, such as images.
The date and time when the customer review was last edited by the consumer via our B2C world, in the ISO 8601 and RFC 3339 compliant format yyyy-MM-dd’T’HH:mm:ss.SSSZ
. Check the glossary for examples of valid datetime formats. Will not be present in the response when the review was never edited by the consumer.
MinimalCustomerReviewListResponseDto
The list of retrieved reviews with mininal fields.
Properties
paging
object
The paging object holds pagination information for the reviews retrieved via this API.
Properties
cursor
object
The cursor object contains information to navigate to the previous and next pages in a subsequent request.
Properties
before
string
This is a review ID to retrieve the previous page in the pagination.
after
string
This is a review ID to retrieve the next page in the pagination. It is empty if it is the last page in the pagination.
This is the list of review objects.
Each item
object represents a single retrieved review.
The paging object holds pagination information for the reviews retrieved via this API.
The cursor object contains information to navigate to the previous and next pages in a subsequent request.
This is a review ID to retrieve the previous page in the pagination.
This is a review ID to retrieve the next page in the pagination. It is empty if it is the last page in the pagination.
This is the list of review objects.
Each item
object represents a single retrieved review.
AggregateRatingDistribution
The rating distribution per star.
Properties
oneStar
integer
The number of service reviews with a one star rating in the specified duration.
twoStars
integer
The number of service reviews with a two star rating in the specified duration.
threeStars
integer
The number of service reviews with a three star rating in the specified duration.
fourStars
integer
The number of service reviews with a four star rating in the specified duration.
fiveStars
integer
The number of service reviews with a five star rating in the specified duration.
The number of service reviews with a one star rating in the specified duration.
The number of service reviews with a two star rating in the specified duration.
The number of service reviews with a three star rating in the specified duration.
The number of service reviews with a four star rating in the specified duration.
The number of service reviews with a five star rating in the specified duration.
AggregateRatingPeriod
The aggregation period for this aggregate rating object.
Properties
start
string
The start date and time of the aggregation period, in the ISO 8601 and RFC3339 compliant format yyyy-MM-dd'T'HH:mm:ss.SSSZ
.
end
string
The end date and time of the aggregation period, in the ISO 8601 and RFC3339 compliant format yyyy-MM-dd'T'HH:mm:ss.SSSZ
.
firstConsideredReviewSubmission
string
The date and time when the first review was collected during the aggregation period, in the ISO 8601 and RFC3339 compliant format yyyy-MM-dd'T'HH:mm:ss.SSSZ
.
lastConsideredReviewSubmission
string
The date and time when the last review was collected during the aggregation period, in the ISO 8601 and RFC3339 compliant format yyyy-MM-dd'T'HH:mm:ss.SSSZ
.
calculatedAt
string
The date and time when the aggregate rating was calculated, in the ISO 8601 and RFC3339 compliant format yyyy-MM-dd'T'HH:mm:ss.SSSZ
.
ratingTrend
string
The rating trend for the aggregation period, compared to the overall average rating.
When calculating the trend, there is a five percent tolerance per grade, i.e. 5 * 0.05
tolerance.
Note that the overall
period does not contain a ratingTrend
as a comparison with itself would be meaningless.
The start date and time of the aggregation period, in the ISO 8601 and RFC3339 compliant format yyyy-MM-dd'T'HH:mm:ss.SSSZ
.
The end date and time of the aggregation period, in the ISO 8601 and RFC3339 compliant format yyyy-MM-dd'T'HH:mm:ss.SSSZ
.
The date and time when the first review was collected during the aggregation period, in the ISO 8601 and RFC3339 compliant format yyyy-MM-dd'T'HH:mm:ss.SSSZ
.
The date and time when the last review was collected during the aggregation period, in the ISO 8601 and RFC3339 compliant format yyyy-MM-dd'T'HH:mm:ss.SSSZ
.
The date and time when the aggregate rating was calculated, in the ISO 8601 and RFC3339 compliant format yyyy-MM-dd'T'HH:mm:ss.SSSZ
.
The rating trend for the aggregation period, compared to the overall average rating.
When calculating the trend, there is a five percent tolerance per grade, i.e. 5 * 0.05
tolerance.
Note that the overall
period does not contain a ratingTrend
as a comparison with itself would be meaningless.
AggregateRating
The average rating based on multiple reviews.
Properties
count
integer
The total number of service reviews in this aggregation.
rating
number
The average rating of the service reviews in the aggregation period, i.e. the sum of all their ratings divided by count
and rounded to two digits after the decimal point.
The total number of service reviews in this aggregation.
The average rating of the service reviews in the aggregation period, i.e. the sum of all their ratings divided by count
and rounded to two digits after the decimal point.
AggregateRatingResponse
The average rating based on multiple service review ratings, each within the specified duration.
Properties
The aggregate service review rating for the last year.
The aggregate service review rating for the last year.
ReviewResponseDto
The stats was fetched successfully.
Properties
summaries
object
Properties
7days
object
Properties
rating
string
count
integer
distribution
object
Properties
oneStar
integer
twoStars
integer
threeStars
integer
fourStars
integer
fiveStars
integer
30days
object
Properties
rating
string
count
integer
distribution
object
Properties
oneStar
integer
twoStars
integer
threeStars
integer
fourStars
integer
fiveStars
integer
90days
object
Properties
rating
string
count
integer
distribution
object
Properties
oneStar
integer
twoStars
integer
threeStars
integer
fourStars
integer
fiveStars
integer
365days
object
Properties
rating
string
count
integer
distribution
object
Properties
oneStar
integer
twoStars
integer
threeStars
integer
fourStars
integer
fiveStars
integer
ReviewReply
The reply to a review
Properties
comment
string
The value to be used as review reply comment.
sendNotification
boolean
The value to be used to send review reply notification.
The value to be used as review reply comment.
The value to be used to send review reply notification.
Need further support?
Visit the Help Centre for further information, or contact us. Are some words or terms unfamiliar? Then visit the glossary for clarification.