Feedback#
Note
Viewing documentation for the current version v1.
The required Protobuf definitions can be downloaded here:
FeedbackService#
A service to provide customer feedback.
ListPendingCustomerFeedbackForms#
rpc
ListPendingCustomerFeedbackForms(ListPendingCustomerFeedbackFormsRequest) returns (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: <your-customer-id>”).
Fails with PERMISSION_DENIED with the following reasons:
CUSTOMER_ID_MISSINGif the customer ID is not present in the request header.CUSTOMER_UNAUTHENTICATEDif the customer does not exist.
Fails with INVALID_ARGUMENT with the following reasons:
INVALID_PAGE_SIZEif thepage_sizeis less than zero.INVALID_PAGE_TOKENif thepage_tokendoes not match previous requests.
SubmitCustomerFeedback#
rpc
SubmitCustomerFeedback(SubmitCustomerFeedbackRequest) returns (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: <your-customer-id>”).
Fails with PERMISSION_DENIED with the following reasons:
CUSTOMER_ID_MISSINGif the customer ID is not present in the request header.CUSTOMER_UNAUTHENTICATEDif the customer does not exist.
Fails with INVALID_ARGUMENT with the following reasons:
FEEDBACK_ID_MISSINGif the feedback ID is not present in the request.FEEDBACK_ID_INVALIDif the feedback does not belong to the provided customer or does not exist.ANSWERS_EMPTYif the list of answers in the request is empty.QUESTION_ID_MISSINGif the answer does not contain a question ID.ANSWER_INVALIDif the answer is invalid. For example submitting an answer type that does not match the referenced question’s type, or a skip answer for a mandatory question.
Fails with ALREADY_EXISTS if the submitted customer feedback has already been answered.
Messages#
Answer#
An answer to a question.
Field | Type | Description |
|---|---|---|
| string | The ID of the question to which this answer belongs. |
| The type of answer. Not all answer types are valid for all questions. |
Answer.Type#
A wrapper of answer types which contain custom attributes.
Field | Type | Description |
|---|---|---|
oneof value. | The question was skipped for a given reason. | |
oneof value. | The answer to a rating question. | |
oneof value. | The answer to a five-point rating question. | |
oneof value. | The answer to a select question. | |
oneof value. | The answer to an open-text question. |
Answer.Type.FivePointRating#
An answer to a five-point rating question.
Field | Type | Description |
|---|---|---|
| int32 | The customer-selected rating. |
Answer.Type.OpenText#
An answer to an open-text question.
Field | Type | Description |
|---|---|---|
| string | The text entered by the customer. |
Answer.Type.Rating#
An answer to a rating question.
Field | Type | Description |
|---|---|---|
| int32 | The customer-selected rating. |
Answer.Type.Select#
An answer to a select question.
Field | Type | Description |
|---|---|---|
| repeated 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 |
|---|---|---|
| The reason why the question was skipped. |
FeedbackForm#
A feedback form.
Field | Type | Description |
|---|---|---|
| string | The unique ID of the feedback. Should be used to submit the answers to the feedback form. |
| repeated Question | 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.
Field | Type | Description |
|---|---|---|
| optional int32 | The maximum number of customer feedback forms to return. The service may return fewer than this value. If unspecified or set to zero, at most 50 customer feedback forms will be returned. Negative values won’t be accepted. The maximum value is 1000; values above 1000 will be coerced to 1000. |
| optional string | A page token, received from a previous |
ListPendingCustomerFeedbackFormsResponse#
Returns the pending feedback forms for a given customer.
Field | Type | Description |
|---|---|---|
| repeated FeedbackForm | 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. |
| optional string | A token, which can be sent as |
Question#
A question to show to the customer. The question may have specific attributes depending on the type.
Field | Type | Description |
|---|---|---|
| string | The ID of the question. |
| 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. | |
| 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. | |
| bool | Whether the question is mandatory. A mandatory question cannot be skipped by the customer. |
| The type of question, which may contain custom attributes. | |
| optional Question.Condition | A condition that has to be fulfilled (i.e., should evaluate to true) 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 integrator evaluates when deciding whether or not to show the question to the customer. If the condition evaluates to true, the question that contains it is shown to the customer. If the condition evaluates to false, the question that contains it must not be shown to the customer and the answer is set to Skip with the reason REASON_CONDITION_NOT_MET.
Question.Condition.AnswerContains#
A condition that evaluates to true when the answer to the referenced question contains the specified value. References a previous question in the feedback form in order to evaluate its answer. Must only reference questions that may be answered with select option values, i.e., SelectOption.
Field | Type | Description |
|---|---|---|
| string | The ID of the referenced question. |
| string | The value which should be contained in the answer. |
Question.Condition.AnswerExists#
A condition that evaluates to true when the customer was shown the referenced question and an answer (including Skip with reason REASON_SKIPPED_BY_CUSTOMER and excluding Skip with any other reason) was recorded. References a previous question in the feedback form in order to evaluate its answer. May reference any question type.
Field | Type | Description |
|---|---|---|
| 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. References a previous question in the feedback form in order to evaluate its answer. Must only reference questions that may be answered with numeric values, i.e., RatingOption.
Field | Type | Description |
|---|---|---|
| string | The ID of the referenced question. |
| int32 | The lower bound of the range. |
| int32 | The upper bound of the range. Must be larger than or equal to the lower bound. |
Question.DescriptionEntry#
Field | Type | Description |
|---|---|---|
| string | none |
| string | none |
Question.TitleEntry#
Field | Type | Description |
|---|---|---|
| string | none |
| 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 |
|---|---|---|
| The lowest rating option. | |
| The second-lowest rating option. | |
| The neutral rating option. | |
| The second-highest rating option. | |
| The highest rating option. |
Question.Type.OpenText#
An open text question.
Field | Type | Description |
|---|---|---|
| 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 |
|---|---|---|
| string | none |
| string | none |
Question.Type.Rating#
A question offering a list of rating options, of which only one can be selected.
Field | Type | Description |
|---|---|---|
| repeated Question.Type.RatingOption | All possible options to select from. Must not be empty. |
Question.Type.RatingOption#
An option of a rating question.
Field | Type | Description |
|---|---|---|
| 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. | |
| int32 | The score value of the option. Must be greater than zero. |
Question.Type.RatingOption.LabelEntry#
Field | Type | Description |
|---|---|---|
| string | none |
| string | none |
Question.Type.Select#
A select from options question. Can be configured for single or multiple selection.
Field | Type | Description |
|---|---|---|
| repeated Question.Type.SelectOption | All possible options to select from. Must not be empty. |
| 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 |
|---|---|---|
| The label of the option in all supported languages. | |
| string | The value of the option, e.g. “OPTION_ONE”. |
Question.Type.SelectOption.LabelEntry#
Field | Type | Description |
|---|---|---|
| string | none |
| 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 |
|---|---|---|
| string | The unique ID of the feedback being submitted. |
| repeated Answer | The answers to the feedback form. Must not be empty. Must contain answers to all questions returned by |
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. |