-
Notifications
You must be signed in to change notification settings - Fork 0
feat(client): list_orders customer_email exact-match filter #37
Copy link
Copy link
Open
Labels
area/clientTouches statuspro_public_api_client/Touches statuspro_public_api_client/area/mcpTouches statuspro_mcp_server/ onlyTouches statuspro_mcp_server/ onlyarea/specTouches docs/statuspro-openapi.yamlTouches docs/statuspro-openapi.yamlpriority/p1Workflow polish, ships after P0Workflow polish, ships after P0theme/tool-surface-redesignMCP tool surface redesign initiativeMCP tool surface redesign initiative
Metadata
Metadata
Assignees
Labels
area/clientTouches statuspro_public_api_client/Touches statuspro_public_api_client/area/mcpTouches statuspro_mcp_server/ onlyTouches statuspro_mcp_server/ onlyarea/specTouches docs/statuspro-openapi.yamlTouches docs/statuspro-openapi.yamlpriority/p1Workflow polish, ships after P0Workflow polish, ships after P0theme/tool-surface-redesignMCP tool surface redesign initiativeMCP tool surface redesign initiative
Problem
list_orders(search=…)is fuzzy across order number, name, customer name, and customer email — useful for "I have an order #" lookups but bad for "find every order belonging to customer X." A customer's full set requires either a too-broadsearch=email@example.com(also matches order numbers that happen to contain that string) or paginating everything and filtering client-side.Reconciliation flows that key off external customer records benefit from exact-match.
Proposed shape
```
GET /orders?customer_email=foo@example.com
```
Exact match (case-insensitive). No partial matching — that's what
searchis for.Acceptance
customer_emailquery parametercustomer_email=foo)Depends on
Tracking
Part of epic #31, Tier 2.