API Reference Picnic v#0.1.0

Copy Markdown View Source

Modules

An Elixir client for Picnic's unofficial supermarket API.

Login, password hashing, and the two-factor handshake.

The client struct — plain data, not a process.

Resolves client configuration.

Lenient decoding of API payloads.

The error struct returned by every function in this library.

The single HTTP chokepoint.

Flattens Picnic's display-page payloads into plain lists.

The shopping cart.

Past and upcoming deliveries.

Meal recipes and their ingredient lists.

Product search.

The account profile — address, contact details, and household settings.

Behaviour for the optional, deliberately loose domain structs under Picnic.Schema.*.

Loose struct for the shopping cart. Prices are integers in cents, as the API sends them. Unknown fields are ignored; the complete original payload is always available under :raw.

Loose struct for a delivery. Unknown fields are ignored; the complete original payload is always available under :raw.

Loose struct for a recipe. Unknown fields are ignored; the complete original payload is always available under :raw.

Loose struct for one product matched by a search. Prices are integer cents, so 129 is €1.29. Unknown fields are ignored; the complete original payload is always available under :raw.

Loose struct for the account profile. Unknown fields are ignored; the complete original payload is always available under :raw.

Optional managed-auth layer: a GenServer that holds the client and re-authenticates for you.

Behaviour for persisting the auth token across Picnic.Session restarts.

The default token store: keeps the token in the session's own state.