Channex.io
Search…
Reviews Collection
API to work with Reviews
At Channex you are able to work with OTA Reviews. It is unified API to work with reviews from Airbnb and Booking.com.
This API has 2 parts - Reviews and Scores.

Enable reviews on the Property

Go here to applications: https://app.channex.io/applications
Add the Messages & Reviews app to the property, then the API and UI for chat will be available.

Data Structures

Review

1
{
2
"content": "Guest review content",
3
"guest_name": "Guest Name",
4
"id": "a82d22ce-20c8-45c3-b49b-8e080a13560a",
5
"inserted_at": "2022-06-06T04:27:42.553115",
6
"is_hidden": false,
7
"is_replied": false,
8
"ota": "AirBNB",
9
"ota_reservation_id": "HMSZMHHF2X",
10
"overall_score": 8.0,
11
"received_at": "2022-06-06T04:27:39.366000",
12
"reply": null,
13
"scores": [
14
{
15
"category": "accuracy",
16
"score": 8.0
17
},
18
{
19
"category": "checkin",
20
"score": 8.0
21
},
22
{
23
"category": "communication",
24
"score": 8.0
25
},
26
{
27
"category": "cleanliness",
28
"score": 6.0
29
},
30
{
31
"category": "value",
32
"score": 10.0
33
},
34
{
35
"category": "location",
36
"score": 10.0
37
}
38
],
39
"updated_at": "2022-06-06T04:27:42.553115"
40
}
Copied!
content Text field with guest Review text.
guest_name String with guest Name. Can be empty.
is_hidden Boolean status marker specific for Airbnb reviews. If true, that mean review is created but will be visible when Property Owner provide they feedback to Guest.
is_replied Boolean status marker which represent has Review reply from Property Owner or not.
ota String. Name of OTA associated with Review.
ota_reservation_id String which contain code of Reservation associated with Review.
overall_score Float value which represent Overall score of Review. Max is 10.
reply String with reply Property Owner to Guest Review
scores List with detailed information about scores provided by Guest.

Score

1
{
2
"id": "9e9ac4cd-5856-4469-9bce-dbce8f5a435f",
3
"count": 1121,
4
"overall_score": 9.15,
5
"scores": {
6
"accuracy": {
7
"count": 18,
8
"score": 9.78
9
},
10
"checkin": {
11
"count": 18,
12
"score": 9.88
13
},
14
"clean": {
15
"count": 1113,
16
"score": 9.55
17
},
18
"comfort": {
19
"count": 1098,
20
"score": 9.45
21
},
22
"communication": {
23
"count": 18,
24
"score": 9.88
25
},
26
"facilities": {
27
"count": 1099,
28
"score": 9.15
29
},
30
"location": {
31
"count": 1114,
32
"score": 9.41
33
},
34
"staff": {
35
"count": 1097,
36
"score": 9.67
37
},
38
"value": {
39
"count": 1118,
40
"score": 9.21
41
}
42
},
43
"inserted_at": "2022-06-01T09:43:20.106161",
44
"updated_at": "2022-06-05T23:01:07.935270"
45
}
Copied!
count Integer value to represent count of scores for Property.
overall_score Float value to represent overall score. Max is 10.
scores Map with score categories where each key is associated with object with count and score values. Key represent score category.

OTA Score

1
{
2
"id": "383a4180-1df5-40f3-a086-de41509da8d5",
3
"channel_id": "305757c7-15c2-4517-8414-7ee6fb69cfc4",
4
"count": 1104,
5
"ota": "BookingCom",
6
"overall_score": 9.14,
7
"scores": {
8
"clean": {
9
"count": 1096,
10
"score": 9.55
11
},
12
"comfort": {
13
"count": 1099,
14
"score": 9.45
15
},
16
"facilities": {
17
"count": 1100,
18
"score": 9.15
19
},
20
"location": {
21
"count": 1097,
22
"score": 9.4
23
},
24
"staff": {
25
"count": 1098,
26
"score": 9.67
27
},
28
"value": {
29
"count": 1101,
30
"score": 9.21
31
}
32
}
33
}
Copied!
channel_id UUID Reference to Channel entity associated with OTA Score.
count Integer value to represent count of Reviews from guests.
ota String to represent type of OTA.
overall_score Float to represent overall score. Max is 10.
scores Map with score categories where each key is associated with object with count and score values. Key represent score category.

Score categories mappings

Review Categories

Booking.com
Airbnb
Channex
clean
cleanliness
clean
facilities
facilities
location
location
location
services
services
staff
staff
value
value
value
accuracy
accuracy
communication
communication
checkin
checkin
comfort
comfort

Reviews

Simple API to read and reply to reviews.

Get Reviews List

Request
Success Response
Error Response
Request:
1
GET https://staging.channex.io/api/v1/reviews
Copied!
Success Response Example
Status Code: 200 OK
1
{
2
"data": [
3
{
4
"attributes": {
5
"content": "Guest review test",
6
"guest_name": "Guest Name",
7
"id": "5d9aa0d9-a888-46b5-bde8-13cc7a15161c",
8
"inserted_at": "2022-06-06T05:00:41.020781",
9
"is_hidden": false,
10
"is_replied": false,
11
"ota": "BookingCom",
12
"ota_reservation_id": "2328423042",
13
"overall_score": 10.0,
14
"received_at": "2022-06-06T05:45:23.000000",
15
"reply": null,
16
"scores": [
17
{
18
"category": "clean",
19
"score": 10
20
},
21
{
22
"category": "comfort",
23
"score": 7.5
24
},
25
{
26
"category": "facilities",
27
"score": 10
28
},
29
{
30
"category": "location",
31
"score": 10
32
},
33
{
34
"category": "staff",
35
"score": 10
36
},
37
{
38
"category": "value",
39
"score": 7.5
40
}
41
],
42
"updated_at": "2022-06-06T05:00:41.020781"
43
},
44
"id": "5d9aa0d9-a888-46b5-bde8-13cc7a15161c",
45
"relationships": {
46
"booking": {
47
"data": {
48
"id": "203f359b-08d6-4e5c-b64c-1aa67cfb775d",
49
"type": "booking"
50
}
51
},
52
"channel": {
53
"data": {
54
"id": "9d571186-b4d0-4792-84b7-af04ab1e28e1",
55
"type": "channel"
56
}
57
},
58
"property": {
59
"data": {
60
"id": "2b4832de-ad00-489b-8acc-b5051ea86d94",
61
"type": "property"
62
}
63
}
64
},
65
"type": "review"
66
}
67
],
68
"meta": {
69
"limit": 10,
70
"order_by": "received_at",
71
"order_direction": "desc",
72
"page": 1,
73
"total": 1
74
}
75
}
Copied!
Unauthorised Error Response
Status Code: 401 Unauthorized
1
{
2
"errors": {
3
"code": "unauthorized",
4
"title": "Unauthorized"
5
}
6
}
Copied!
Forbidden Error
Status Code: 403 Forbidden
1
{
2
"errors": {
3
"code": "forbidden",
4
"title": "Forbidden"
5
}
6
}
Copied!
This error happened, when Property is not have installed Messages Application.

Returns

Success Method can return a Success result with 200 OK HTTP Code if operation is successful. Will contain a Reviews list in the answer. Unauthorised Error Method can return a Unauthorised Error result with 401 Unauthorized HTTP Code if wrong Bearer Token provided or User not have access to requested Booking.
Not Found Error Method can return a Not Found Error result with 404 Not Found HTTP Code if Booking with provided ID is not present at system.
Forbidden Error Method can return a Forbidden Error result with 403 Forbidden HTTP Code if Property, associated with requested Booking, is not connected to Messages Application.

Get Review by ID

Request
Success Response
Error Response
Request:
1
GET https://staging.channex.io/api/v1/reivews/:review_id
Copied!
Success Response Example
Status Code: 200 OK
1
{
2
"data": {
3
"attributes": {
4
"content": "Guest review test",
5
"guest_name": "Guest Name",
6
"id": "5d9aa0d9-a888-46b5-bde8-13cc7a15161c",
7
"inserted_at": "2022-06-06T05:00:41.020781",
8
"is_hidden": false,
9
"is_replied": false,
10
"ota": "BookingCom",
11
"ota_reservation_id": "2328423042",
12
"overall_score": 10.0,
13
"received_at": "2022-06-06T05:45:23.000000",
14
"reply": null,
15
"scores": [
16
{
17
"category": "clean",
18
"score": 10
19
},
20
{
21
"category": "comfort",
22
"score": 7.5
23
},
24
{
25
"category": "facilities",
26
"score": 10
27
},
28
{
29
"category": "location",
30
"score": 10
31
},
32
{
33
"category": "staff",
34
"score": 10
35
},
36
{
37
"category": "value",
38
"score": 7.5
39
}
40
],
41
"updated_at": "2022-06-06T05:00:41.020781"
42
},
43
"id": "5d9aa0d9-a888-46b5-bde8-13cc7a15161c",
44
"relationships": {
45
"booking": {
46
"data": {
47
"id": "203f359b-08d6-4e5c-b64c-1aa67cfb775d",
48
"type": "booking"
49
}
50
},
51
"channel": {
52
"data": {
53
"id": "9d571186-b4d0-4792-84b7-af04ab1e28e1",
54
"type": "channel"
55
}
56
},
57
"property": {
58
"data": {
59
"id": "2b4832de-ad00-489b-8acc-b5051ea86d94",
60
"title": "PROPERTY TITLE",
61
"type": "property"
62
}
63
}
64
},
65
"type": "review"
66
}
67
}
Copied!
Unauthorised Error Response
Status Code: 401 Unauthorized
1
{
2
"errors": {
3
"code": "unauthorized",
4
"title": "Unauthorized"
5
}
6
}
Copied!
Forbidden Error
Status Code: 403 Forbidden
1
{
2
"errors": {
3
"code": "forbidden",
4
"title": "Forbidden"
5
}
6
}
Copied!
This error happened, when Property is not have installed Messages Application.
Not Found Error
Status Code: 404 Not Found
1
{
2
"errors": {
3
"code": "not_found",
4
"title": "Not Found"
5
}
6
}
Copied!

Returns

Success Method can return a Success result with 200 OK HTTP Code if operation is successful. Will contain a Review list in the answer. Unauthorised Error Method can return a Unauthorised Error result with 401 Unauthorized HTTP Code if wrong Bearer Token provided or User not have access to requested Booking.
Not Found Error Method can return a Not Found Error result with 404 Not Found HTTP Code if Booking with provided ID is not present at system.
Forbidden Error Method can return a Forbidden Error result with 403 Forbidden HTTP Code if Property, associated with requested Booking, is not connected to Messages Application.

Reply to Review

Request
Success Response
Error Response
Request:
1
POST https://staging.channex.io/api/v1/reviews/:review_id/reply
Copied!
Payload:
1
{
2
"reply": {
3
"reply": "Reply to guest review"
4
}
5
}
Copied!
Success Response Example
Status Code: 200 OK
Unauthorised Error Response
Status Code: 401 Unauthorized
1
{
2
"errors": {
3
"code": "unauthorized",
4
"title": "Unauthorized"
5
}
6
}
Copied!
Not Found Error
Status Code: 404 Not Found
1
{
2
"errors": {
3
"code": "not_found",
4
"title": "Resouce Not Found"
5
}
6
}
Copied!

Returns

Success Method can return a Success result with 200 OK HTTP Code if operation is successful. Will contain a Review in the answer. Unauthorised Error Method can return a Unauthorised Error result with 401 Unauthorized HTTP Code if wrong Bearer Token provided or User not have access to requested Message Thread.
Not Found Error Method can return a Not Found Error result with 404 Not Found HTTP Code if Message Thread with provided ID is not present at system.

Send Guest Review

Method specific only to Airbnb reviews.
Request
Success Response
Error Response
Request:
1
POST https://staging.channex.io/api/v1/reviews/:review_id/guest_review
Copied!
Payload:
1
{
2
"review": {
3
"scores": [
4
{
5
"category": "respect_house_rules",
6
"rating": 5
7
},
8
{
9
"category": "communication",
10
"rating": 5
11
},
12
{
13
"category": "cleanliness",
14
"rating": 5
15
}
16
],
17
"private_review": "private feedback",
18
"public_review": "public feedback",
19
"is_reviewee_recommended": true
20
}
21
}
Copied!
Success Response Example
Status Code: 200 OK
Unauthorised Error Response
Status Code: 401 Unauthorized
1
{
2
"errors": {
3
"code": "unauthorized",
4
"title": "Unauthorized"
5
}
6
}
Copied!
Not Found Error
Status Code: 404 Not Found
1
{
2
"errors": {
3
"code": "not_found",
4
"title": "Resouce Not Found"
5
}
6
}
Copied!

Returns

Success Method can return a Success result with 200 OK HTTP Code if operation is successful. Will contain a Review in the answer. Unauthorised Error Method can return a Unauthorised Error result with 401 Unauthorized HTTP Code if wrong Bearer Token provided or User not have access to requested Message Thread.
Not Found Error Method can return a Not Found Error result with 404 Not Found HTTP Code if Message Thread with provided ID is not present at system.

Scores

API to read Score per Property

Get Property Score

Request
Success Response
Error Response
Request:
1
POST https://staging.channex.io/api/v1/scores/:property_id
Copied!
Success Response Example
Status Code: 200 OK
1
{
2
"data": {
3
"attributes": {
4
"count": 1122,
5
"id": "9e9ac4cd-5a51-4469-9bce-dbce8f5a435f",
6
"inserted_at": "2022-06-01T09:43:20.106161",
7
"overall_score": 9.15,
8
"scores": {
9
"accuracy": {
10
"count": 18,
11
"score": 9.78
12
},
13
"checkin": {
14
"count": 18,
15
"score": 9.88
16
},
17
"clean": {
18
"count": 1114,
19
"score": 9.55
20
},
21
"comfort": {
22
"count": 1099,
23
"score": 9.45
24
},
25
"communication": {
26
"count": 18,
27
"score": 9.88
28
},
29
"facilities": {
30
"count": 1100,
31
"score": 9.15
32
},
33
"location": {
34
"count": 1115,
35
"score": 9.41
36
},
37
"staff": {
38
"count": 1098,
39
"score": 9.67
40
},
41
"value": {
42
"count": 1119,
43
"score": 9.22
44
}
45
},
46
"updated_at": "2022-06-06T05:01:14.622988"
47
},
48
"id": "9e9ac4cd-5c16-4469-9bce-dbce8f5a435f",
49
"relationships": {
50
"property": {
51
"data": {
52
"id": "57a92389-1cd1-4773-9f0d-47e31d22609f",
53
"title": "Hotel",
54
"type": "property"
55
}
56
}
57
},
58
"type": "score"
59
}
60
}
61
Copied!
Unauthorised Error Response
Status Code: 401 Unauthorized
1
{
2
"errors": {
3
"code": "unauthorized",
4
"title": "Unauthorized"
5
}
6
}
Copied!
Not Found Error
Status Code: 404 Not Found
1
{
2
"errors": {
3
"code": "not_found",
4
"title": "Resouce Not Found"
5
}
6
}
Copied!

Returns

Success Method can return a Success result with 200 OK HTTP Code if operation is successful. Will contain a Score in the answer. Unauthorised Error Method can return a Unauthorised Error result with 401 Unauthorized HTTP Code if wrong Bearer Token provided or User not have access to requested Message Thread.
Not Found Error Method can return a Not Found Error result with 404 Not Found HTTP Code if Message Thread with provided ID is not present at system.Close Message Thread

Get Detailed Property Scores

Request
Success Response
Error Response
Request:
1
POST https://staging.channex.io/api/v1/scores/:property_id/detailed
Copied!
Success Response Example
Status Code: 200 OK
1
{
2
"data": {
3
"attributes": {
4
"count": 1122,
5
"id": "9e9ac4cd-c11c-4469-9bce-dbce8f5a435f",
6
"inserted_at": "2022-06-01T09:43:20.106161",
7
"overall_score": 9.15,
8
"scores": {
9
"accuracy": {
10
"count": 18,
11
"score": 9.78
12
},
13
"checkin": {
14
"count": 18,
15
"score": 9.88
16
},
17
"clean": {
18
"count": 1114,
19
"score": 9.55
20
},
21
"comfort": {
22
"count": 1099,
23
"score": 9.45
24
},
25
"communication": {
26
"count": 18,
27
"score": 9.88
28
},
29
"facilities": {
30
"count": 1100,
31
"score": 9.15
32
},
33
"location": {
34
"count": 1115,
35
"score": 9.41
36
},
37
"staff": {
38
"count": 1098,
39
"score": 9.67
40
},
41
"value": {
42
"count": 1119,
43
"score": 9.22
44
}
45
},
46
"updated_at": "2022-06-06T05:01:14.622988"
47
},
48
"id": "9e9ac4cd-c11c-4469-9bce-dbce8f5a435f",
49
"relationships": {
50
"ota_scores": [
51
{
52
"data": {
53
"attributes": {
54
"channel_id": "305757c7-bbca-4517-8414-7ee6fb69cfc4",
55
"count": 1104,
56
"id": "383a4180-1cc1-40f3-a086-de41509da8d5",
57
"ota": "BookingCom",
58
"overall_score": 9.14,
59
"scores": {
60
"clean": {
61
"count": 1096,
62
"score": 9.55
63
},
64
"comfort": {
65
"count": 1099,
66
"score": 9.45
67
},
68
"facilities": {
69
"count": 1100,
70
"score": 9.15
71
},
72
"location": {
73
"count": 1097,
74
"score": 9.4
75
},
76
"staff": {
77
"count": 1098,
78
"score": 9.67
79
},
80
"value": {
81
"count": 1101,
82
"score": 9.21
83
}
84
}
85
},
86
"id": "383a4180-1cc1-40f3-a086-de41509da8d5",
87
"type": "ota_score"
88
}
89
},
90
{
91
"data": {
92
"attributes": {
93
"channel_id": "bd90735a-bfd1-4dc7-b302-57bb1fe52909",
94
"count": 18,
95
"id": "1be8fb58-1cc1-4ee2-b94f-7b3e2bf6c9c0",
96
"ota": "AirBNB",
97
"overall_score": 9.88,
98
"scores": {
99
"accuracy": {
100
"count": 18,
101
"score": 9.78
102
},
103
"checkin": {
104
"count": 18,
105
"score": 9.88
106
},
107
"clean": {
108
"count": 18,
109
"score": 9.78
110
},
111
"communication": {
112
"count": 18,
113
"score": 9.88
114
},
115
"location": {
116
"count": 18,
117
"score": 9.78
118
},
119
"value": {
120
"count": 18,
121
"score": 9.66
122
}
123
}
124
},
125
"id": "1be8fb58-1cc1-4ee2-b94f-7b3e2bf6c9c0",
126
"type": "ota_score"
127
}
128
}
129
],
130
"property": {
131
"data": {
132
"id": "57a92389-1cc1-4773-9f0d-47e31d22609f",
133
"title": "Hotel",
134
"type": "property"
135
}
136
}
137
},
138
"type": "score"
139
}
140
}
Copied!
Unauthorised Error Response
Status Code: 401 Unauthorized
1
{
2
"errors": {
3
"code": "unauthorized",
4
"title": "Unauthorized"
5
}
6
}
Copied!
Not Found Error
Status Code: 404 Not Found
1
{
2
"errors": {
3
"code": "not_found",
4
"title": "Resouce Not Found"
5
}
6
}
Copied!

Returns

Success Method can return a Success result with 200 OK HTTP Code if operation is successful. Will contain a Score and OTA Scores in the answer. Unauthorised Error Method can return a Unauthorised Error result with 401 Unauthorized HTTP Code if wrong Bearer Token provided or User not have access to requested Message Thread.
Not Found Error Method can return a Not Found Error result with 404 Not Found HTTP Code if Message Thread with provided ID is not present at system.