Controller
A biblioteca segue um padrão específico para a utilização das rotas do Waha:
Controller."tag"."método".(parse, parsed)
Exemplo

Abaixo, um exemplo de como listar sessões utilizando o método parsed:
from waha.controllers import Controller
sessions = Controller.sessions.list.parsed()
print(sessions)
ou de forma assincrona
import asyncio
from waha.controllers import Controller
async def main():
sessions = await Controller.sessions.list.aparsed()
print(sessions)
asyncio.run(main)
parsed, aparsed x sync_detailed, async_detailed
vimos alguns exemplos anteriores da utilização do parsed e do aparsed
parsed ira te trazar somente o modelo da resposta da api ja o sync_detailed/async_detailed trara algumas informações sobre a resposta da api como:
status_code: status da resposta da api
content: resposta da api em bytes
headers: headers enviado pela api
parsed: modelo de resposta da api
exemplo de uso do sync detailed e async detailed:
from waha.controllers import Controller
api_response = Controller.sessions.list.sync_detailed()
if not api_response.status_code == 200:
raise Exception("Status Code não esperado")
async detailed:
import asyncio
from waha.controllers import Controller
async def main():
api_response = await Controller.sessions.list.async_detailed()
if not api_response.status_code == 200:
raise Exception("Status Code não esperado")
asyncio.run(main())