sendInput method

Future<IbmWatsonAssistantResponse> sendInput(
  1. String input, {
  2. String? sessionId,
  3. bool returnContext = true,
})

If sessionId is specified, sends stateful input to the chatbot in the matching session.

Otherwise, sends stateless input to IBM Watson Chatbot. Has no impact on any user sessions. This is useful if you wish to manage your own session state.

Context is returned by default, set returnContext to false if you do not want this behavior.

Implementation

Future<IbmWatsonAssistantResponse> sendInput(String input,
    {String? sessionId, bool returnContext = true}) async {
  final path = _buildPath(RequestType.Message, sessionId: sessionId);

  final data = {
    'input': {
      'text': input,
      'options': {
        'return_context': returnContext,
      }
    }
  };

  final res = await Dio().post(path, data: data, options: options);

  return IbmWatsonAssistantResponse.fromJson(res.data);
}