ExQuickBooks.Query (ex_quickbooks v0.9.0)

Copy Markdown View Source

Generic query helpers for QuickBooks Online.

The query helper accepts raw QuickBooks query statements and optionally appends STARTPOSITION / MAXRESULTS clauses for caller-driven pagination.

Summary

Functions

Runs a raw QuickBooks query statement.

Extracts the primary top-level collection from a QueryResponse payload.

Functions

run(client, statement, options \\ [])

@spec run(ExQuickBooks.Client.t(), String.t(), keyword()) ::
  {:ok, map()} | {:error, ExQuickBooks.Error.t()}

Runs a raw QuickBooks query statement.

top_level_collection(query_response)

@spec top_level_collection(map()) ::
  {:ok, {String.t(), list()}} | {:error, ExQuickBooks.Error.t()}

Extracts the primary top-level collection from a QueryResponse payload.

Examples

iex> ExQuickBooks.Query.top_level_collection(%{
...>   "Customer" => [%{"Id" => "123"}],
...>   "startPosition" => 1,
...>   "maxResults" => 1
...> })
{:ok, {"Customer", [%{"Id" => "123"}]}}