4
votes

I am using Dialogflow for my Action on Google. The fulfillment webhook is hosted on AWS Lambda and implemented using the Actions on Google NodeJS SDK version 2.0.1.

Everything works fine when I select the legacy API version V1 API in the general settings of my Dialogflow agent.

Switching to V2 API causes encoding problems. This affects the umlauts in the German version of my Action (e.g. ä is converted to ä).

Looking at the Diagnostic info of a test request made in the Dialogflow console I can see that the Fulfillment Response is still encoded correctly, but the Raw API Response contains the strangely encoded characters.

Any idea what's going on here?
Thanks for your help!

1

1 Answers

3
votes

Upgrading the Actions on Google NodeJS SDK from version 2.0.1 to 2.1.1 solved the problem.

In version 2.0.1 the Content-Type: application/json;charset=UTF-8 header was missing from the response. Since the ability to send back headers was added in this commit the issue is gone.