3

I'm trying to check availability for a LiveAgent deployment/button. Which seems to be quite undocumented.

I can GET /rest/System/MultiNoun.jsonp?nouns=Settings&Settings.prefix=Visitor&callback=mycallback&version=28&deployment_id=mydeployment&org_id=myorganisation&Settings.buttonIds=[mybutton], but have been unable to figure out the non-MultiNoun.jsonp equivalent...

The non-JSONP I expect it to be something like: (except I don't know where to put org_id or deployment_id)

curl 'https://$HOST/chat/rest/System/MultiNoun' -H "X-LIVEAGENT-API-VERSION: 29" -H "Content-Type: application/json" -d '{"nouns":[{"prefix":"Visitor","noun":"Settings","object":{"buttonIds":["mybutton"]}}]}'

Then non-Multinoun should be something like: (again, don't know where to put deployment_id or org_id)

curl 'https://$HOST/chat/rest/Visitor/Settings' -H "X-LIVEAGENT-API-VERSION: 29" -H "Content-Type: application/json" -d '{"buttonIds":["mybutton"]}'

Furthermore, a search around reveals the existence of /chat/rest/Visitor/Availability: does someone have docs on this endpoint?

7

For some reason the Visitor calls aren't documented in the REST API documentation.

You can perform the REST version of these by dropping the .jsonp suffix and moving the version into the header. To retrieve the settings, try:

curl 'https://$HOST/chat/rest/Visitor/Settings?Settings.prefix=Visitor&Settings.buttonIds=\[$MY_BUTTON_ID]\]&Settings.updateBreadcrumb=1&deployment_id=$MY_DEPLOYMENT_ID&org_id=$MY_ORGANIZATION_ID' -H "X-LIVEAGENT-API-VERSION: 29" -H "Content-Type: application/json"

The response will include a property called "pingRate" that indicates the minimum amount of time, in milliseconds, between subsequent calls to the Availability resource to update button state. You can perform this ping by executing:

curl 'https://$HOST/chat/rest/Visitor/Availability?Availability.prefix=Visitor&Availability.ids=\[$MY_BUTTON_ID]\]&deployment_id=$MY_DEPLOYMENT_ID&org_id=$MY_ORGANIZATION_ID' -H "X-LIVEAGENT-API-VERSION: 29" -H "Content-Type: application/json"

The map that is returned in the result will have a property "isAvailable" set to true for any button that is online.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.