0

I am building a .NET Webhook following this tutorial, dialogflow fulfillment with c and app engine.

Everything works fine except when I want to set up DailyUpdates with a RegisterUpdate Intent.

When the "setup_notification_update" intent calls the webhook I sendthis kind of JSON in response:

{
  "fulfillmentText": "Notifica programmata",
  "fulfillmentMessages": [
    {
      "card": {
        "title": "Notifica programmata",
        "subtitle": "Notifica programmata con successo",
        "imageUri": "https://assistant.google.com/static/images/molecule/Molecule-Formation-stop.png",
        "buttons": [
          {
            "text": "Valutami",
            "postback": "https://macoev.com/"
          }
        ]
      }
    }
  ],
  "payload": {
    "google": {
      "expectUserResponse": true,
      "richResponse": {
        "items": [
          {
            "simpleResponse": {
              "textToSpeech": "Questa è la risposta di avvenuto successo per la programmazione della notifica"
            }
          }
        ]
      },
      "systemIntent": {
        "intent": "actions.intent.REGISTER_UPDATE",
        "data": {
          "@type": "type.googleapis.com/google.actions.v2.RegisterUpdateValueSpec",
          "intent": "get_stats_notification",
          "arguments": [
            {
              "name": "category",
              "textValue": "Daily_lowest_temperature"
            }
          ],
          "triggerContext": {
            "timeContext": {
              "frequency": "DAILY"
            }
          }
        }
      }
    }
  }
}

The problem is that the intent that has REGISTER_UPDATE as its event does not get triggered, resulting in the notification not being scheduled. This is the response that I set when that event get triggered:

{
  "responseId": "",
  "queryResult": {
    "queryText": "",
    "action": "",
    "parameters": {},
    "allRequiredParamsPresent": true,
    "fulfillmentText": "",
    "fulfillmentMessages": [],
    "outputContexts": [],
    "intent": {
      "name": "finish_update_setup",
      "displayName": "finish_update_setup"
    },
    "intentDetectionConfidence": 1,
    "diagnosticInfo": {},
    "languageCode": ""
  },
  "originalDetectIntentRequest": {
    "source": "google",
    "version": "2",
    "payload": {
      "isInSandbox": true,
      "surface": {
        "capabilities": [
          {
            "name": "actions.capability.SCREEN_OUTPUT"
          },
          {
            "name": "actions.capability.AUDIO_OUTPUT"
          },
          {
            "name": "actions.capability.MEDIA_RESPONSE_AUDIO"
          },
          {
            "name": "actions.capability.WEB_BROWSER"
          }
        ]
      },
      "inputs": [
        {
          "rawInputs": [],
          "intent": "",
          "arguments": [
            {
              "name": "REGISTER_UPDATE",
              "extension": {
                "@type": "type.googleapis.com/google.actions.v2.RegisterUpdateValue",
                "status": "OK"
              }
            },
            {
              "name": "text",
              "rawText": "04:10pm",
              "textValue": "04:10pm"
            }
          ]
        }
      ],
      "user": {},
      "conversation": {},
      "availableSurfaces": [
        {
          "capabilities": [
            {
              "name": "actions.capability.SCREEN_OUTPUT"
            },
            {
              "name": "actions.capability.AUDIO_OUTPUT"
            },
            {
              "name": "actions.capability.MEDIA_RESPONSE_AUDIO"
            },
            {
              "name": "actions.capability.WEB_BROWSER"
            }
          ]
        }
      ]
    }
  },
  "session": ""
}

Any idea why? Any help will be appreciated. Thanks in advance.

Avin Kavish
  • 8,317
  • 1
  • 21
  • 36
Jonathan I
  • 240
  • 1
  • 4
  • 18
  • Just to be clear, the event you are using is "actions_intent_REGISTER_UPDATE", correct? FYI we have a codelab on setting this up here: codelabs.developers.google.com/codelabs/actions-user-engagement – Sachit Mishra Jun 12 '19 at 17:46
  • @SachitMishra Yes, It is that one. I know that codelab, but I decided to switch to the official documentation "tutorial" since contains more features, such as arguments saving logic. – Jonathan I Jun 12 '19 at 17:48

0 Answers0