Built-in high-level transport backed by the full ExWapp.Session engine.
This adapter is the production path for WhatsApp communication. It delegates connection lifecycle, Noise/WebSocket frames, authentication, Signal encryption, device discovery, storage, outbound confirmation, and inbound message delivery to the session worker.
client =
ExWapp.new(
session_id: "agent-1",
store: {ExWapp.Store.Ets, path: "agent-1.etf"},
transport: ExWapp.Client.Transport.Session
)
{:ok, client} = ExWapp.connect(client)
{:ok, client, message_id} = ExWapp.send_message(client, to: jid, text: "hello")The internal worker pid is stored in client.metadata[:session_pid]. Treat
that metadata as an implementation detail; public application code should
continue passing the returned %ExWapp.Client{} to ExWapp functions.