UsageΒΆ
Before you begin, follow the Getting Started guide for Open Api 2: https://connect.spotware.com/docs/open_api_2/getting_started_v2
To use spotware_connect in a project:
import spotware_connect as sc
c = sc.Client()
@c.event # on connect event handler
def connect():
c.emit("VersionReq") # send a ProtoOAVersionReq
# send a ProtoOAVersionReq with a clientMsgId
c.emit("VersionReq", msgid="V1")
# send a ProtoOAApplicationAuthReq with data
c.emit("ApplicationAuthReq", clientId="YOUR_APP_CLIENT_ID",
clientSecret="YOUR_APP_CLIENT_SECRET")
@c.event # on disconnect event handler
def disconnect():
print("Disconencted")
@c.event # global message receive handler
def message(msg, payload, **kargs): # access ProtoMessage or its payload objects
print("Global Received message ", repr(msg))
print("Global Received payload ", repr(payload))
@c.message(msgtype="ErrorRes") # handle ProtoOAErrorRes messages
def on_error(payload, **kargs):
print("Error: ", repr(payload))
c.stop() # stops client
@c.message(msgtype="VersionRes") # handle ProtoOAVersionRes messages
# access version atribute of ProtoOAVersionRes
def on_version(msg, payload, version, **kargs):
print("Api Version: ", version)
@c.message(msgid="V1") # handle messages with clientMsgId=V1
def on_version(msg, payload, **kargs):
print("Received Message with msgid 'V1': ", repr(payload))
# handle ProtoOAApplicationAuthRes messages
@c.message(msgtype="ApplicationAuthRes")
def on_auth_ok(**kargs):
print("Application Authorized")
c.stop() # stops client
c.start(timeout=5) # optional: set a timeout interval in seconds
You can find the message types and their params at https://connect.spotware.com/docs/open_api_2/protobuf_messages_reference_v2/open_api_messages