We think we may have come across a bug in the Chat API, since the transport mechanism was changed to use the new 'js2rest' URL's. When issuing a call to getAvailability() with a defined 'skill', if the skill has spaces in the name it doesn't work. (Presumably other characters too)
Investigation showed that the call that is being sent includes the parameter:
lpB | {"u":"https://server.iad.liveperson.net/api/account/54723227/chat/availability?v=1&NC=true&skill=UK Website &maxWaitTime=60","m":"GET","b":"","h":{"AUTHORIZATION":"LivePerson appKey=ddebe72b12bb4b8fba59880c52db716f" }} |
The skill name is not being URL-encoded into that URL, which is causing an error and invalid response. When we tried URL-encoding it ourselves before passing it to the getAvailability() function, it worked - however the problem is that when using the same skill in the requestChat() method, your codedoescorrectly encode it so if we do so ourselves too, it will again break.
I have implemented a workaround on our site, where we URL-encode it ourselves for getAvailability() and do not for requestChat() but this is not ideal.
If this is confirmed as a bug, can I please ask that you update the thread as to when the fix will be pushed out, as otherwise the workaround code will lead to it breaking again.