<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="dialogflow_v2.html">Dialogflow API</a> . <a href="dialogflow_v2.projects.html">projects</a> . <a href="dialogflow_v2.projects.locations.html">locations</a> . <a href="dialogflow_v2.projects.locations.conversations.html">conversations</a> . <a href="dialogflow_v2.projects.locations.conversations.participants.html">participants</a> . <a href="dialogflow_v2.projects.locations.conversations.participants.suggestions.html">suggestions</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#suggestArticles">suggestArticles(parent, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Gets suggested articles for a participant based on specific historical messages.</p>
<p class="toc_element">
  <code><a href="#suggestFaqAnswers">suggestFaqAnswers(parent, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Gets suggested faq answers for a participant based on specific historical messages.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="suggestArticles">suggestArticles(parent, body=None, x__xgafv=None)</code>
  <pre>Gets suggested articles for a participant based on specific historical messages.

Args:
  parent: string, Required. The name of the participant to fetch suggestion for. Format: `projects//locations//conversations//participants/`. (required)
  body: object, The request body.
    The object takes the form of:

{ # The request message for Participants.SuggestArticles.
  &quot;assistQueryParams&quot;: { # Represents the parameters of human assist query. # Parameters for a human assist query.
    &quot;documentsMetadataFilters&quot;: { # Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have &#x27;US&#x27; or &#x27;CA&#x27; in their market metadata values and &#x27;agent&#x27; in their user metadata values will be ``` documents_metadata_filters { key: &quot;market&quot; value: &quot;US,CA&quot; } documents_metadata_filters { key: &quot;user&quot; value: &quot;agent&quot; } ```
      &quot;a_key&quot;: &quot;A String&quot;,
    },
  },
  &quot;contextSize&quot;: 42, # Max number of messages prior to and including latest_message to use as context when compiling the suggestion. By default 20 and at most 50.
  &quot;latestMessage&quot;: &quot;A String&quot;, # The name of the latest conversation message to compile suggestion for. If empty, it will be the latest message of the conversation. Format: `projects//locations//conversations//messages/`.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The response message for Participants.SuggestArticles.
  &quot;articleAnswers&quot;: [ # Articles ordered by score in descending order.
    { # Represents article answer.
      &quot;answerRecord&quot;: &quot;A String&quot;, # The name of answer record, in the format of &quot;projects//locations//answerRecords/&quot;
      &quot;confidence&quot;: 3.14, # Article match confidence. The system&#x27;s confidence score that this article is a good match for this conversation, as a value from 0.0 (completely uncertain) to 1.0 (completely certain).
      &quot;metadata&quot;: { # A map that contains metadata about the answer and the document from which it originates.
        &quot;a_key&quot;: &quot;A String&quot;,
      },
      &quot;snippets&quot;: [ # Article snippets.
        &quot;A String&quot;,
      ],
      &quot;title&quot;: &quot;A String&quot;, # The article title.
      &quot;uri&quot;: &quot;A String&quot;, # The article URI.
    },
  ],
  &quot;contextSize&quot;: 42, # Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestArticlesRequest.context_size field in the request if there aren&#x27;t that many messages in the conversation.
  &quot;latestMessage&quot;: &quot;A String&quot;, # The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.
}</pre>
</div>

<div class="method">
    <code class="details" id="suggestFaqAnswers">suggestFaqAnswers(parent, body=None, x__xgafv=None)</code>
  <pre>Gets suggested faq answers for a participant based on specific historical messages.

Args:
  parent: string, Required. The name of the participant to fetch suggestion for. Format: `projects//locations//conversations//participants/`. (required)
  body: object, The request body.
    The object takes the form of:

{ # The request message for Participants.SuggestFaqAnswers.
  &quot;assistQueryParams&quot;: { # Represents the parameters of human assist query. # Parameters for a human assist query.
    &quot;documentsMetadataFilters&quot;: { # Key-value filters on the metadata of documents returned by article suggestion. If specified, article suggestion only returns suggested documents that match all filters in their Document.metadata. Multiple values for a metadata key should be concatenated by comma. For example, filters to match all documents that have &#x27;US&#x27; or &#x27;CA&#x27; in their market metadata values and &#x27;agent&#x27; in their user metadata values will be ``` documents_metadata_filters { key: &quot;market&quot; value: &quot;US,CA&quot; } documents_metadata_filters { key: &quot;user&quot; value: &quot;agent&quot; } ```
      &quot;a_key&quot;: &quot;A String&quot;,
    },
  },
  &quot;contextSize&quot;: 42, # Max number of messages prior to and including [latest_message] to use as context when compiling the suggestion. By default 20 and at most 50.
  &quot;latestMessage&quot;: &quot;A String&quot;, # The name of the latest conversation message to compile suggestion for. If empty, it will be the latest message of the conversation. Format: `projects//locations//conversations//messages/`.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The request message for Participants.SuggestFaqAnswers.
  &quot;contextSize&quot;: 42, # Number of messages prior to and including latest_message to compile the suggestion. It may be smaller than the SuggestFaqAnswersRequest.context_size field in the request if there aren&#x27;t that many messages in the conversation.
  &quot;faqAnswers&quot;: [ # Answers extracted from FAQ documents.
    { # Represents answer from &quot;frequently asked questions&quot;.
      &quot;answer&quot;: &quot;A String&quot;, # The piece of text from the `source` knowledge base document.
      &quot;answerRecord&quot;: &quot;A String&quot;, # The name of answer record, in the format of &quot;projects//locations//answerRecords/&quot;
      &quot;confidence&quot;: 3.14, # The system&#x27;s confidence score that this Knowledge answer is a good match for this conversational query, range from 0.0 (completely uncertain) to 1.0 (completely certain).
      &quot;metadata&quot;: { # A map that contains metadata about the answer and the document from which it originates.
        &quot;a_key&quot;: &quot;A String&quot;,
      },
      &quot;question&quot;: &quot;A String&quot;, # The corresponding FAQ question.
      &quot;source&quot;: &quot;A String&quot;, # Indicates which Knowledge Document this answer was extracted from. Format: `projects//locations//agent/knowledgeBases//documents/`.
    },
  ],
  &quot;latestMessage&quot;: &quot;A String&quot;, # The name of the latest conversation message used to compile suggestion for. Format: `projects//locations//conversations//messages/`.
}</pre>
</div>

</body></html>