Does serviceURL change or remain the same ? And What is pattern of serviceURL generation ?
According our bot use case we have to store user details like userId, tenantId, conversationID and serviceURL into our database while bot configuration. As per my findings I could see that serviceURL are changing as per region. While looking into Bot SDK v3 documentation and forums question answer I got to know that serviceURL is not stale and it may change in future. We are using Bot sdk v4 while developing our bot but I see that in Bot SDK v3 document clearly mention that serviceURL are not stale and your bot must verify serviceURL every time user message received but in Sdk Bot v4 documentation I can't find anything written about serviceURL. Our bot is sending proactively message to user once bot configuration happens. so there is no way we can able to update serviceURL after user configure our bot.
I also see in bots docs that if we are not receiving serviceURL from message activity context we can use global serviceURL endpoints to send message to our bot. interestingly, I can able to send message to public user using GCC serviceURL endpoint.
Questions:
- Is the serviceURL received from the user activity context determined by the tenant region or the region from which the user sent the messages, essentially reflecting the user’s network region?
- If the serviceURL isn't stale, how can we update it in our scenario? Given that we're building a proactive messaging bot and user interactions only occur once during bot configuration.
- Can we directly utilize the global serviceURL to send messages to our users without storing the user message activity context serviceURL in our database?
- Is there a way to determine the user's tenant type (public, GCC, GCCH, or DoD) from the message activity context or through any another method?