ExWapp.Client.Transport.Session (ExWapp v0.1.2)

Copy Markdown View Source

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.