:doc:`QConnect <../../qconnect>` / Client / get_next_message

****************
get_next_message
****************



.. py:method:: QConnect.Client.get_next_message(**kwargs)

  

  Retrieves next message on an Amazon Q in Connect session.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/qconnect-2020-10-19/GetNextMessage>`_  


  **Request Syntax**
  ::

    response = client.get_next_message(
        assistantId='string',
        sessionId='string',
        nextMessageToken='string'
    )
    
  :type assistantId: string
  :param assistantId: **[REQUIRED]** 

    The identifier of the Amazon Q in Connect assistant.

    

  
  :type sessionId: string
  :param sessionId: **[REQUIRED]** 

    The identifier of the Amazon Q in Connect session.

    

  
  :type nextMessageToken: string
  :param nextMessageToken: **[REQUIRED]** 

    The token for the next message. Use the value returned in the SendMessage or previous response in the next request to retrieve the next message.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'type': 'TEXT',
          'response': {
              'value': {
                  'text': {
                      'value': 'string',
                      'citations': [
                          {
                              'contentId': 'string',
                              'title': 'string',
                              'knowledgeBaseId': 'string',
                              'citationSpan': {
                                  'beginOffsetInclusive': 123,
                                  'endOffsetExclusive': 123
                              },
                              'sourceURL': 'string',
                              'referenceType': 'WEB_CRAWLER'|'KNOWLEDGE_BASE'|'BEDROCK_KB_S3'|'BEDROCK_KB_WEB'|'BEDROCK_KB_CONFLUENCE'|'BEDROCK_KB_SALESFORCE'|'BEDROCK_KB_SHAREPOINT'|'BEDROCK_KB_KENDRA'|'BEDROCK_KB_CUSTOM_DOCUMENT'|'BEDROCK_KB_SQL'
                          },
                      ],
                      'aiGuardrailAssessment': {
                          'blocked': True|False
                      }
                  },
                  'toolUseResult': {
                      'toolUseId': 'string',
                      'toolName': 'string',
                      'toolResult': {...}|[...]|123|123.4|'string'|True|None,
                      'inputSchema': {...}|[...]|123|123.4|'string'|True|None
                  }
              },
              'messageId': 'string',
              'participant': 'CUSTOMER'|'AGENT'|'BOT',
              'timestamp': datetime(2015, 1, 1)
          },
          'requestMessageId': 'string',
          'conversationState': {
              'status': 'CLOSED'|'READY'|'PROCESSING',
              'reason': 'SUCCESS'|'FAILED'|'REJECTED'
          },
          'nextMessageToken': 'string',
          'conversationSessionData': [
              {
                  'key': 'string',
                  'value': {
                      'stringValue': 'string'
                  }
              },
          ],
          'chunkedResponseTerminated': True|False
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **type** *(string) --* 

        The type of message response.

        
      

      - **response** *(dict) --* 

        The message response to the requested message.

        
        

        - **value** *(dict) --* 

          The value of a message data.

          .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``text``, ``toolUseResult``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                    'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


        
          

          - **text** *(dict) --* 

            The message data in text type.

            
            

            - **value** *(string) --* 

              The value of the message data in text type.

              
            

            - **citations** *(list) --* 

              The citations associated with the text message.

              
              

              - *(dict) --* 

                A citation that references source content.

                
                

                - **contentId** *(string) --* 

                  The identifier of the content being cited.

                  
                

                - **title** *(string) --* 

                  The title of the cited content.

                  
                

                - **knowledgeBaseId** *(string) --* 

                  The identifier of the knowledge base containing the cited content.

                  
                

                - **citationSpan** *(dict) --* 

                  Contains information about where the text with a citation begins and ends in the generated output.

                  
                  

                  - **beginOffsetInclusive** *(integer) --* 

                    Where the text with a citation starts in the generated output.

                    
                  

                  - **endOffsetExclusive** *(integer) --* 

                    Where the text with a citation ends in the generated output.

                    
              
                

                - **sourceURL** *(string) --* 

                  The source URL for the citation.

                  
                

                - **referenceType** *(string) --* 

                  A type to define the KB origin of a cited content

                  
            
          
            

            - **aiGuardrailAssessment** *(dict) --* 

              The AI Guardrail assessment for the text message.

              
              

              - **blocked** *(boolean) --* 

                Indicates whether the AI Guardrail blocked the content.

                
          
        
          

          - **toolUseResult** *(dict) --* 

            The result of tool usage in the message.

            
            

            - **toolUseId** *(string) --* 

              The identifier of the tool use instance.

              
            

            - **toolName** *(string) --* 

              The name of the tool that was used.

              
            

            - **toolResult** (:ref:`document<document>`) -- 

              The result of the tool usage.

              
            

            - **inputSchema** (:ref:`document<document>`) -- 

              The input schema for the tool use result.

              
        
      
        

        - **messageId** *(string) --* 

          The identifier of a message.

          
        

        - **participant** *(string) --* 

          The participant of a message.

          
        

        - **timestamp** *(datetime) --* 

          The timestamp of a message.

          
    
      

      - **requestMessageId** *(string) --* 

        The identifier of the submitted message.

        
      

      - **conversationState** *(dict) --* 

        The state of current conversation.

        
        

        - **status** *(string) --* 

          The status of the conversation state.

          
        

        - **reason** *(string) --* 

          The reason of the conversation state.

          
    
      

      - **nextMessageToken** *(string) --* 

        The token for the next message.

        
      

      - **conversationSessionData** *(list) --* 

        The conversation data stored on an Amazon Q in Connect Session.

        
        

        - *(dict) --* 

          The list of key-value pairs that are stored on the session.

          
          

          - **key** *(string) --* 

            The key of the data stored on the session.

            
          

          - **value** *(dict) --* 

            The value of the data stored on the session.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``stringValue``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


          
            

            - **stringValue** *(string) --* 

              The string value of the data stored on the session.

              
        
      
    
      

      - **chunkedResponseTerminated** *(boolean) --* 

        Indicates whether the chunked response has been terminated.

        
  
  **Exceptions**
  
  *   :py:class:`QConnect.Client.exceptions.ValidationException`

  
  *   :py:class:`QConnect.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`QConnect.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`QConnect.Client.exceptions.UnprocessableContentException`

  