Как использовать код выполнения Dialogflow с Kommunicate - PullRequest
0 голосов
/ 05 июля 2018

Извините, если этот вопрос глуп, но у меня пока нет особого опыта использования Javascript или Dialogflow. У меня есть бот Dialogflow, который я встроил через Kommunicate в тестовый веб-сайт. Бот работает с ответами, установленными через намерения, но код выполнения, похоже, не запускается, так как никакого ответа, установленного через выполнение, не происходит. Выполнение кодируется через встроенный редактор.

Вот некоторые ответы, заданные через намерения:

Intents

А вот ответ, полученный посредством выполнения:

Fulfillment

Здесь вы можете увидеть ответ выполнения, работающий через консоль Dialogflow:

Console Response

И, наконец, здесь вы можете видеть, что он не работает через Kommunicate, но намеренный ответ работает:

Kommunicate Response

Я почти уверен, что моя проблема в том, что код выполнения просто не работает в Kommunicate, и его необходимо интегрировать в Kommunicate некоторым способом, о котором я не знаю. Кто-нибудь знает, что мне нужно делать?

Редактировать: Возможно, я нашел причину для этого. В нижней части документа о выполнении написано: «Сетевые вызовы, исходящие из вашей облачной функции для Firebase, по адресам за пределами сети Google, требуют включения биллинга для базового проекта Google Cloud или Firebase». Кто-нибудь может подтвердить, что это то, что мне нужно сделать, прежде чем пытаться убедить своего босса потратить на это деньги?

1 Ответ

0 голосов
/ 29 июля 2018

Вам не нужно включать биллинг для использования Dialogflow. Dialogflow поставляется с Free Edition , и вы можете разрабатывать и тестировать бота без включения биллинга.

Kommunicate поддерживает ответ по умолчанию Dialogflow, а также пользовательский веб-крючок. работать с ответом по умолчанию прямо. Введите текстовый ответ или любое действенное сообщение , поддерживаемое kommunicate, в Custom Payload, и Kommunicate автоматически отобразит его в пользовательском интерфейсе чата.

Если вы включили вызов webhook для Intent, вы можете использовать поле fulfillmentText для возврата массива текстовых сообщений или поле fulfillmentMessages для возврата сообщения Actionable, как описано в Документы Dialogflow .

Kommunicate использует эти поля, чтобы определить, какое сообщение будет отображаться в пользовательском интерфейсе. Если оба поля присутствуют, оба будут отображаться в пользовательском интерфейсе. Вот пример того, как выглядит ваш ответ в виде цепочки:

{
    "fulfillmentText": "render a text message from webhook",
    "fulfillmentMessages": [{
      // message 1 (optional)- render actionable message 
        "payload": {
            "message": "render a Actionable message from webhook",
            "platform": "kommunicate",
            "metadata": {
                // replace this with metadata JSON supported by kommunicate 
            }
        }
    }, {
      // message 2 (optional)- render a text message  
        "text": {
            "text": ["render array of  text message from webhook"]
        }
    }]
}

Этот JSON будет отображать сообщения в пользовательском интерфейсе. Вы можете настроить это в соответствии с вашими потребностями. Подробнее о выполнении диалогового потока с помощью коммуникаций .

Если Вы все еще не можете заставить его работать, отправьте свои запросы на hello@kommunicate.io.

PS: я работаю на Kommunicate .

...