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#

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_MISSING if the customer ID is not present in the request header.

  • CUSTOMER_UNAUTHENTICATED if the customer does not exist.

Fails with INVALID_ARGUMENT with the following reasons:

  • INVALID_PAGE_SIZE if the page_size is less than zero.

  • INVALID_PAGE_TOKEN if the page_token does not match previous requests.

SubmitCustomerFeedback#

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_MISSING if the customer ID is not present in the request header.

  • CUSTOMER_UNAUTHENTICATED if the customer does not exist.

Fails with INVALID_ARGUMENT with the following reasons:

  • FEEDBACK_ID_MISSING if the feedback ID is not present in the request.

  • FEEDBACK_ID_INVALID if the feedback does not belong to the provided customer or does not exist.

  • ANSWERS_EMPTY if the list of answers in the request is empty.

  • QUESTION_ID_MISSING if the answer does not contain a question ID.

  • ANSWER_INVALID if 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

question_id

string

The ID of the question to which this answer belongs.

type

Answer.Type

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.skip_answer

Answer.Type.Skip

The question was skipped for a given reason.

oneof value.rating_answer

Answer.Type.Rating

The answer to a rating question.

oneof value.five_point_rating_answer

Answer.Type.FivePointRating

The answer to a five-point rating question.

oneof value.select_answer

Answer.Type.Select

The answer to a select question.

oneof value.open_text_answer

Answer.Type.OpenText

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 customer.

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

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

skip_reason

Answer.Type.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

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

page_size

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.

page_token

optional string

A page token, received from a previous ListPendingCustomerFeedbackForms call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListPendingCustomerFeedbackForms must match the call that provided the page token.

ListPendingCustomerFeedbackFormsResponse#

Returns the pending feedback forms for a given customer.

Field

Type

Description

feedback_forms

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.

next_page_token

optional string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

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

map Question.TitleEntry

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

map Question.DescriptionEntry

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

Question.Type

The type of question, which may contain custom attributes.

condition

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.

Field

Type

Description

oneof type.answer_in_range_condition

Question.Condition.AnswerInRange

A condition checking if an answer is within a numeric range.

oneof type.answer_exists_condition

Question.Condition.AnswerExists

A condition checking if an answer exists.

oneof type.answer_contains_condition

Question.Condition.AnswerContains

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. 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

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 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

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. 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

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.

Field

Type

Description

oneof value.rating_question

Question.Type.Rating

A rating question.

oneof value.five_point_rating_question

Question.Type.FivePointRating

A five-point rating question.

oneof value.select_question

Question.Type.Select

A select question.

oneof value.open_text_question

Question.Type.OpenText

An open text question.

Question.Type.FivePointRating#

A question offering exactly five rating options, of which only one can be selected.

Field

Type

Description

lowest

Question.Type.RatingOption

The lowest rating option.

low

Question.Type.RatingOption

The second-lowest rating option.

neutral

Question.Type.RatingOption

The neutral rating option.

high

Question.Type.RatingOption

The second-highest rating option.

highest

Question.Type.RatingOption

The highest rating option.

Question.Type.OpenText#

An open text question.

Field

Type

Description

placeholder

map Question.Type.OpenText.PlaceholderEntry

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

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

label

map Question.Type.RatingOption.LabelEntry

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

repeated Question.Type.SelectOption

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

map Question.Type.SelectOption.LabelEntry

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

repeated Answer

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.