Inquiry Builder - Nioron07/Easy-Acumatica GitHub Wiki
This page documents the InquiryBuilder
(formerly InquiryOptions
) in easy-acumatica, a fluent builder for contract-based Acumatica generic inquiries.
1. Importing
from easy_acumatica.models.inquiry_builder import InquiryBuilder
InquiryBuilder
Class
2. The Chain parameters and detail-expands in a single builder:
builder = InquiryBuilder()
2.1 Setting Parameters
Use .param(field, value)
to add or overwrite a request parameter:
builder.param("InventoryID", "SIMCARD").param("WarehouseID", "YOGI")
-
Internally stored as:
{"InventoryID": {"value":"SIMCARD"}, "WarehouseID": {"value":"YOGI"}}
2.2 Expanding Details
Use .expand(*entities)
to include one or more detail entities in the response:
builder.expand("Results", "Totals")
# query string: {"$expand":"Results,Totals"}
3. Extracting Query & Body
- Query params:
builder.to_query_params()
→{'$expand': 'Results,Totals'}
- Request body:
builder.to_body()
→ parameter map (empty if none set)
params = builder.to_query_params()
body = builder.to_body()
4. Usage Example
from easy_acumatica import AcumaticaClient
from easy_acumatica.models.inquiry_builder import InquiryBuilder
client = AcumaticaClient(...)
svc = client.inquiries
opts = (
InquiryBuilder()
.param("InventoryID", "SIMCARD")
.param("WarehouseID", "YOGI")
.expand("Results")
)
rows = svc.get_data_from_inquiry_form(
"24.200.001",
"InventorySummaryInquiry",
opts
)
for row in rows:
print(row)
5. Fluent Chaining
Methods return the same builder instance, enabling concise chains:
builder = (
InquiryBuilder()
.param("A", 1)
.expand("X")
.param("B", 2)
.expand("Y")
)