Feedback#
Note
Viewing documentation for the current version v1beta1.
The required Protobuf definitions can be downloaded here:
FeedbackService#
A service to provide customer feedback.
ListPendingCustomerFeedbackForms#
rpc ListPendingCustomerFeedbackForms(ListPendingCustomerFeedbackFormsRequest) ListPendingCustomerFeedbackFormsResponse
Lists the pending feedback forms to be answered by a customer. Feedback entry-points are agreed upon and configured before integration and may include after trip, customer cancelled the trip and vehicle service cancelled. May be called at the end of a trip and on app start. This is a customer-scoped endpoint. The ID of the customer on behalf of whom the operation is requested needs to be provided in the request header (“Customer-Id: ”). Fails with PERMISSION_DENIED if the customer ID is not present or the customer does not exist.
SubmitCustomerFeedback#
rpc SubmitCustomerFeedback(SubmitCustomerFeedbackRequest) SubmitCustomerFeedbackResponse
Submits a feedback on behalf of a customer. This is a customer-scoped endpoint. The ID of the customer on behalf of whom the operation is requested needs to be provided in the request header (“Customer-Id: ”). Fails with PERMISSION_DENIED if the customer ID is not present or the customer does not exist.
Messages#
Answer#
An answer to a question.
Field |
Type |
Description |
---|---|---|
question_id |
string |
The ID of the question to which this answer belongs. |
type |
The type of answer. Not all answer types are valid for all questions. |
Answer.Type#
Field |
Type |
Description |
---|---|---|
oneof value.skip_answer |
The question was skipped for a given reason. |
|
oneof value.rating_answer |
The answer to a rating question. |
|
oneof value.five_point_rating_answer |
The answer to a five-point rating question. |
|
oneof value.select_answer |
The answer to a select question. |
|
oneof value.open_text_answer |
The answer to an open-text question. |
Answer.Type.FivePointRating#
An answer to a five-point rating question.
Field |
Type |
Description |
---|---|---|
selected_rating |
int32 |
The customer-selected rating. |
Answer.Type.OpenText#
An answer to an open-text question.
Field |
Type |
Description |
---|---|---|
text |
string |
The text entered by the user. |
Answer.Type.Rating#
An answer to a rating question.
Field |
Type |
Description |
---|---|---|
selected_rating |
int32 |
The customer-selected rating. |
Answer.Type.Select#
An answer to a select question.
Field |
Type |
Description |
---|---|---|
selected_options |
string |
The values of the customer-selected option(s). Must not be empty. Must be exactly one, if multiple_selection is false for that question. |
Answer.Type.Skip#
An answer specifying that the question was skipped.
Field |
Type |
Description |
---|---|---|
skip_reason |
The reason why the question was skipped. |
FeedbackForm#
A feedback form.
Field |
Type |
Description |
---|---|---|
feedback_id |
string |
The unique ID of the feedback. Should be used to submit the answers to the feedback form. |
questions |
The list of questions of the feedback. Must not be empty. |
ListPendingCustomerFeedbackFormsRequest#
Request a list of pending feedback forms to be answered by a given customer.
This message is an empty message and has no fields.
The JSON representation is {}
.
ListPendingCustomerFeedbackFormsResponse#
Returns the pending feedback forms for a given customer.
Field |
Type |
Description |
---|---|---|
feedback_form |
The list of feedback forms for the given customer. Contains all feedback forms that were not answered yet. If empty, there are no feedback forms that need to be answered by the customer. |
Question#
A question to show to the customer. The question may have specific attributes depending on the type.
Field |
Type |
Description |
---|---|---|
id |
string |
The ID of the question. |
title |
The title of the question, provided in different languages. The key is an IETF BCP-47 language tag: https://en.wikipedia.org/wiki/IETF_language_tag. For example ‘en’ or ‘de’. The value is the localized string. |
|
description |
The optional description of the question, containing clarifying information, provided in different languages. The key is an IETF BCP-47 language tag: https://en.wikipedia.org/wiki/IETF_language_tag. For example ‘en’ or ‘de’. The value is the localized string. |
|
mandatory |
bool |
Whether the question is mandatory. A mandatory question cannot be skipped by the customer. |
type |
The type of question, which may contain custom attributes. |
|
condition (optional) |
The condition that has to be fulfilled for this question to be shown to the customer. If no condition is provided this question is always shown. |
Question.Condition#
A condition that the app evaluates when deciding whether or not to show a question to the customer. If a question is skipped due to its condition evaluating to false, then the answer needs to be set to a ‘skip (condition not met)’.
Field |
Type |
Description |
---|---|---|
oneof type.answer_in_range_condition |
A condition checking if an answer is within a numeric range. |
|
oneof type.answer_exists_condition |
A condition checking if an answer exists. |
|
oneof type.answer_contains_condition |
A condition checking if a specific value is contained in the answer. |
Question.Condition.AnswerContains#
A condition that evaluates to true when the answer to the referenced question contains the specified value. Can be used with select questions.
Field |
Type |
Description |
---|---|---|
question_id |
string |
The ID of the referenced question. |
value |
string |
The value which should be contained in the answer. |
Question.Condition.AnswerExists#
A condition that evaluates to true when any user-submitted answer (including skip, if skipped by the user) was recorded for the referenced question.
Field |
Type |
Description |
---|---|---|
question_id |
string |
The ID of the referenced question. |
Question.Condition.AnswerInRange#
A condition that evaluates to true when the answer of the referenced question is larger than or equal to the lower bound and smaller than or equal to the upper bound. Can be used with rating questions.
Field |
Type |
Description |
---|---|---|
question_id |
string |
The ID of the referenced question. |
lower_bound |
int32 |
The lower bound of the range. |
upper_bound |
int32 |
The upper bound of the range. Must be larger than or equal to the lower bound. |
Question.DescriptionEntry#
Field |
Type |
Description |
---|---|---|
key |
string |
none |
value |
string |
none |
Question.TitleEntry#
Field |
Type |
Description |
---|---|---|
key |
string |
none |
value |
string |
none |
Question.Type#
A wrapper of question types which contain custom attributes.
Question.Type.FivePointRating#
A question offering exactly five rating options, of which only one can be selected.
Field |
Type |
Description |
---|---|---|
lowest |
The lowest rating option. |
|
low |
The second-lowest rating option. |
|
neutral |
The neutral rating option. |
|
high |
The second-highest rating option. |
|
highest |
The highest rating option. |
Question.Type.OpenText#
An open text question.
Field |
Type |
Description |
---|---|---|
placeholder |
Placeholder string of the text field, provided in different languages. The key is an IETF BCP-47 language tag: https://en.wikipedia.org/wiki/IETF_language_tag. For example ‘en’ or ‘de’. The value is the localized string. |
Question.Type.OpenText.PlaceholderEntry#
Field |
Type |
Description |
---|---|---|
key |
string |
none |
value |
string |
none |
Question.Type.Rating#
A question offering a list of rating options, of which only one can be selected.
Field |
Type |
Description |
---|---|---|
options |
All possible options to select from. Must not be empty. |
Question.Type.RatingOption#
An option of a rating question.
Field |
Type |
Description |
---|---|---|
label |
The label of the option in all supported languages. The key is an IETF BCP-47 language tag: https://en.wikipedia.org/wiki/IETF_language_tag. For example ‘en’ or ‘de’. The value is the localized string. |
|
score |
int32 |
The score value of the option. Must be greater than zero. |
Question.Type.RatingOption.LabelEntry#
Field |
Type |
Description |
---|---|---|
key |
string |
none |
value |
string |
none |
Question.Type.Select#
A select from options question. Can be configured for single or multiple selection.
Field |
Type |
Description |
---|---|---|
options |
All possible options to select from. Must not be empty. |
|
multiple_selection |
bool |
Whether or not multiple selection is possible. If not set, the default is false. |
Question.Type.SelectOption#
A select option with a string value.
Field |
Type |
Description |
---|---|---|
label |
The label of the option in all supported languages. |
|
value |
string |
The value of the option, e.g. “OPTION_ONE”. |
Question.Type.SelectOption.LabelEntry#
Field |
Type |
Description |
---|---|---|
key |
string |
none |
value |
string |
none |
SubmitCustomerFeedbackRequest#
A request to submit feedback. Must contain answers to all questions that were provided as part of the feedback form. Call ListPendingCustomerFeedbackFormsResponse to get the feedback forms to be answered.
Field |
Type |
Description |
---|---|---|
feedback_id |
string |
The unique ID of the feedback being submitted. |
answers |
The answers to the feedback form. Must not be empty. Must contain answers to all questions returned by ListPendingCustomerFeedbackForms. Each question must have a valid answer or explicitly marked as skipped with the corresponding reason. |
SubmitCustomerFeedbackResponse#
A response indicating that the feedback was successfully submitted.
This message is an empty message and has no fields.
The JSON representation is {}
.
Enums#
Answer.Type.Skip.Reason#
The possible reasons for a question being skipped.
Name |
Number |
Description |
---|---|---|
REASON_UNSPECIFIED |
0 |
The default reason in case the reason is not set. Should not be used. |
REASON_SKIPPED_BY_CUSTOMER |
1 |
The question was skipped by the customer. |
REASON_CONDITION_NOT_MET |
2 |
The question was not displayed to the customer because its condition was not fulfilled. |
REASON_QUESTION_UNSUPPORTED |
3 |
The question could not be displayed to the customer because it was unsupported by the client. |