Good practices for the design of a Websocket based API
Yes, there is: here.
[edit: dead community wiki link removed]
Here are a couple websocket based APIs/protocols:
Pusher
Slack Real Time Messaging
It seems most people that are client JS facing are using some kind of event/command paired with a data object. Additionally, Slack has the idea of a message id
such that you can associate request and response messages.