如何在DialogFlow v2中发送额外的数据?

时间:2018-07-31 14:16:59

标签: chatbot dialogflow

如何在使用某些SDK调用DialogFlow时向DialogFlow发送额外的数据?
我了解在v1中,originalRequest.data用于此目的。

基本上,我想从网站会话中发送用户名,手机号码等,并将其传递给DialogFlow,以便可以在Webhook中获取它并执行一些操作。

我正在使用以下代码调用DialogFlow:

import dialogflow

def detect_intent_texts(text, session_id):

    session_client = dialogflow.SessionsClient()

    session = session_client.session_path(project_id, session_id)

    text_input = dialogflow.types.TextInput(
        text=text, language_code=language_code)

    query_input = dialogflow.types.QueryInput(text=text_input)

    response = session_client.detect_intent(
        session=session, query_input=query_input)

    return response.query_result.fulfillment_text


detect_intent_texts('hello how are you', 'some_session_id')

1 个答案:

答案 0 :(得分:1)

您需要在上下文中设置参数。

  • 创建上下文
  • 添加参数
  • 在下一次交互中提取上下文和参数。

在JSON中,它看起来像这样

{  
  "fulfillmentText":"This is a text response",
  "fulfillmentMessages":[  ],
  "source":"example.com",
  "payload":{  
    "google":{  },
    "facebook":{  },
    "slack":{  }
  },
  "outputContexts":[  
    {  
      "name":"context name",
      "lifespanCount":5,
      "parameters":{  
        "param":"param value"
      }
    }
  ],
  "followupEventInput":{  }
}

您可以看看如何使用dialogflow-python-client中的create_context在python中完成