Как обрабатывать контекст в php Webhook DialogFlow

Я пытаюсь понять, как работает контекст в DialogFlow.
У меня есть Php Webhook, который работает, он отправляет запросы от входа через curl с параметрами, полученными по почте, как это:

    ... json stuff
$v = date('Ymd');
$ch = curl_init('https://api.dialogflow.com/v1/query?v='.$v);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Bearer -----------------------'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);

Вот код, который я пытаюсь понять:

header('Content-Type: application/json');
ob_start();
$json = file_get_contents('php://input');
$request = json_decode($json, true);
$action = $request["result"]["action"];
$parameters = $request["result"]["parameters"];

[Code to set $outputtext, $nextcontext, $param1, $param2 values]

$output["contextOut"] = array(array("name" => "$next-context", "parameters" =>
array("param1" => $param1value, "param2" => $param2value)));
$output["speech"] = $outputtext;
$output["displayText"] = $outputtext;
$output["source"] = "whatever.php";
ob_end_clean();
echo json_encode($output);

Я довольно новичок в DialogFlow (api.ai) и хочу использовать контекст для связи запросов между ними. (увидеть https://dialogflow.com/docs/contexts)
Может кто-нибудь объяснить мне, что я должен поместить в контекстный массив?
Особенно, что:

  • nexcontext
  • Какие параметры? Откуда они?
  • Является ли основной целью выходной переменной отправка выходного контекста отправителю ($ output [«source»]), чтобы этот контекст можно было снова отправить при следующем запросе?
  • Может кто-нибудь привести пример со следующим контекстом и значениями параметров?

Любая дополнительная информация по этому вопросу будет принята с благодарностью

NB: этот контекстный webhook можно найти на https://discuss.api.ai/t/webhook-in-php-example/229

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]