Skip to content

Controller

A biblioteca segue um padrão específico para a utilização das rotas do Waha:

Controller."tag"."método".(parse, parsed)

Exemplo

alt text

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())