In Dialogflow Enterprise Edition, a text query costs $0.002 per request, and there is a limit of 600 text requests per minute. https://cloud.google.com/dialogflow-enterprise/docs/editions https://cloud.google.com/dialogflow-enterprise/quotas
I am trying to estimate the costs of a Messenger bot based fully on text requests. I am using this calculator: https://cloud.google.com/products/calculator/ For the average number of sessions each user has per month, what's a session? How do I estimate that?
And then there is the average number of text interactions per session. Now, the problem here is, let's say I have 5000 monthly users, and each user has 20 sessions with 200 messages per session, that's USD 40,000.00 per 1 month, what if the number of users grows rapidly? That would be 100K+ easily, am I estimating this correctly?
The issue here is that a user can send unlimited text messages, even sending a single letter or whatever counts towards the limit. How do I limit that per user? Can I write some logic in Cloud Functions?
Also, what happens when 1000 users message the bot within 1 min? What happens to the 400 users since the limit of 600 requests per min is exceeded?
Finally, is using a web hook with fulfillment can help reducing these rates?