Trust Vega API (1.0)
This is a JSON based REST API.
This means that resources are represented as JSON dictionaries and you use a different HTTP verb to do your standard CRUD operations on them:
| GET | Retrieve a resource |
| POST | Create a new resource |
| PATCH | Update a resource |
| PUT | Replace a resource entirely |
| DELETE | Delete a resource |
Not all verbs are supported by each endpoint.
Get Reviews
Endpoint:GET https://app.trustvega.com/api/v1.0/reviews/
Parameters:
| Name | Description |
|---|---|
| campaign Integer |
Campaign ID from the "Display Reviews" page of your account. Required |
| page Integer (default: 0) |
Page to return. Optional |
| per_page Integer (max: 200, default: 10) |
Reviews to return per page. Optional |
| featured Bool (default: 0) |
Restrict response to just featured reviews. Optional |
| tags Integer CSV |
Restrict response to reviews tagged with any these Tag IDs. Optional |
$url = 'https://app.trustvega.com/api/v1.0/reviews/';
$params = array(
'campaign' => 123456,
'per_page' => 2,
'page' => 0,
'featured' => 0,
'tags' => '2,5,14'
);
$query_string = http_build_query($params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . '?' . $query_string);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$json = json_decode($response, true);
if ($json) {
// Average rating
echo $json['campaign']['average_rating'];
// Iterate reviews
foreach($json['reviews'] as $review){
echo $review['title'];
}
} else {
// Something went wrong
}
Return Success:
{
"powered_by": "https://www.trustvega.com/",
"campaign": {
"name": "Business Name",
"url": "https://www.example.com",
"telephone": "01632 123456",
"street_address": "1600 Amphitheatre Parkway",
"address_locality": "Mountain View",
"address_region": "CA",
"postal_code": "94043",
"address_country": "US",
"price_range": "$-$$$",
"image": "https://app.trustvega.com/example-logo.jpg",
"average_rating": "4.92",
"rating_count": "24",
"review_count": "11"
},
"total_pages": 2,
"current_page": 0,
"per_page": 2,
"reviews": [
{
"displayname": "John D",
"is_verified": true,
"is_featured": true,
"rating": "5.00",
"title": "What a fantastic business!",
"text": "This was the best experience of my life",
"reply": "",
"image": "https://app.trustvega.com/abc123.jpg",
"created": "2017-07-14T19:09:41Z"
},
{
"displayname": "Jane Doe",
"is_verified": true,
"is_featured": true,
"rating": "4.00",
"title": "Generally very good",
"text": "I achieved my goals in 4 sessions, but the chair was uncomfortable",
"reply": "Thanks for the feedback - chair fixed!",
"image": "",
"created": "2017-08-07T10:29:02Z"
}
],
"generated": "2018-11-29T17:00:18Z"
}
Return Error:
{
"error" : {
"message" : "Invalid parameters",
"code" : "400",
"type" : "BadRequestError"
}
}
Return Codes:
| Code | Description |
|---|---|
| 200 | Success |
| 400 | Bad Request (Invalid or missing parameters) |
| 403 | Forbidden (Campaign does not have API access) |
| 404 | Not found (Campaign no longer active) |
| 500 | Internal Server Error (Uh oh...) |
Create A Review Request
Endpoint:POST https://app.trustvega.com/api/v1.0/reviews/
Parameters:
| Name | Description |
|---|---|
| campaign Integer |
Campaign ID from the "Display Reviews" page of your account. Required |
| key String |
API key from the "Display Reviews" page of your account. Required |
| firstname String (max: 255) |
Customer's first name. Required |
| lastname String (max: 255) |
Customer's last name. Required |
| email String (max: 160) |
Customer's email address. Required |
| delay Integer |
Days to delay first reminder email. Optional. Default: 0 |
| tags Integer CSV |
Tag IDs from the Reviews > Tags area of your account to set. Optional |
$url = 'https://app.trustvega.com/api/v1.0/reviews/'; $params = array( 'campaign' => 123456, 'key' => 'G7RvF0LHRSlBf5dNFqJmvyeXkbOawI9U', 'firstname' => 'John', 'lastname' => 'Doe', 'email' => '[email protected]', 'delay' => 0, 'tags' => '2,5,14' ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = json_decode(curl_exec($ch), true); if (isset($response['error'])) { // Error $code = $response['error']['code']; $message = $response['error']['message']; echo "Error $code: $message"; } else if (isset($response['success'])) { // Success $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); echo "OK Status: $status"; } else { // Something went wrong }Return Success:
{
"success": true,
}
Return Error:
{
"error" : {
"message" : "Required data missing.",
"code" : "400",
"type" : "BadRequestError"
}
}
Return Codes:
| Code | Description |
|---|---|
| 200 | Success (Review request previously created) |
| 201 | Success (Review request created) |
| 400 | Bad Request (Invalid or missing parameters) |
| 403 | Forbidden (Invalid API Key / No API access) |
| 404 | Not found (Campaign no longer active) |
| 500 | Internal Server Error (Uh oh...) |
Powered by Trust Vega