What the documents look like
Shopify standalone stores let the merchant configure payment, shipping and fulfillment services directly, so order details, shipping templates, shipping labels and refund records sit across Shopify Admin, payment gateways and carrier systems rather than inside one platform-managed flow. Operating reports and exception reviews therefore begin with a mapping question: which business document corresponds to which conversation, and which conversation record corresponds to which session. The documented chat interface supplies two separate identifiers for this. A chatId identifies one session under one application, and a dataId identifies one exchange inside that session. The two live in different namespaces, so they are matched through their own records, never compared as equal values.
The detail parameter controls how much comes back. When detail is false, the response carries the final answer text only. Node running times, quote lists and token usage do not appear, which leaves an exception review without comparison material. When detail is true, responseData returns module-level entries, and the documented fields inside those entries can differ between versions. The practical step is to record what a given version actually returns before fixing a field mapping. A log entry shows that a request was recorded. Reconciliation, retention and compliance auditing remain separate business actions that a complete operating plan has to carry out.
Constraints at the conversation logs step
Conversation identity binds to chatId. Sessions created through different entry points under the same application stay independent of one another. The history query accepts source=api, and the documented behavior is that this returns sessions created through the API while page sessions and share-link sessions are not included. A report scope has to state its source before any total is meaningful. The detail parameter decides whether intermediate values and complete module results are returned. The chatId value must be unique and shorter than 250 characters, and responseChatItemId must be unique within the same chatId. These are stated requirements, not defaults that a system enforces silently.
Hypothetical drill sample. A standalone store merchant connects an order-status assistant through the API. Source text one: the session list response shows chatId usdAP1GbzSGu, updateTime 2024-10-13T03:29:05.779Z, title "Order status check", and source api. Source text two: the conversation list response shows dataId jzqdV4Ap1u004rhd2WW8yGLn, obj Human, and value[0].text.content "Order status check". A draft sentence for review reads: "The merchant has completed a compliance audit of the order fulfillment logs." The check point is that the source texts show a session and an exchange were recorded. They do not state an audit scope, an audit subject or an audit conclusion, so the draft sentence is not supported. The sample does not provide a complete mapping record from a business document to the session and the exchange, so that association stays open for verification.
Configuration and implementation checks
| Item | Value or check on this page | Basis and boundary |
|---|---|---|
| source | api, covering API-created sessions only | Documented that source=api does not return page sessions |
| detail | true for reviews, reading responseData | Documented that detail returns intermediate values |
| chatId | Locates the session, shorter than 250 characters | Documented that uniqueness is the caller's responsibility |
| responseChatItemId | Unique within the same chatId | Documented that a duplicate conflicts |
| pageSize | Hypothetical trial starting value 20, compared with total to decide paging | Documented example value, not an official default |
| Run detail | Call getResData with appId, chatId and dataId to inspect node fields | Documented that fields can vary by version |
The pageSize figure is a hypothetical trial starting point chosen for this sample so that a first page can be compared against the returned total. It is not an official default. The run-detail call is a manual inspection action, not an automatic synchronization. Whether a recorded log satisfies a retention or audit requirement depends on a downstream implementation that this interface does not provide.
Three common errors
- Counting page sessions inside an API report. The documented source=api excludes page sessions, so a report that does not declare its source mixes two populations. The check is to read the source field on each returned session and keep only the api value.
- Declaring node running times missing while detail is false. With detail=false the responseData array is not returned, so the absence is a consequence of the request setting. The check is to send the same request with detail=true and observe whether responseData entries appear.
- Treating a recorded log as a completed audit. A stored conversation and a finished compliance audit are two different facts. The check is to compare the draft claim against the source text for a stated audit subject, scope and conclusion; when none of the three appears, the claim stays unsupported.
How to verify the setup
- Input source text one, the session list response. Compare the source field against the value api. The scope condition is satisfied when that field reads api for the sessions being counted.
- Input both responses together with their request context and any business association record. Check separately which session chatId points to and which exchange dataId points to. The sample does not supply a complete request context or a business mapping, so it cannot confirm that the two belong to the same order. Record the association evidence as pending and do not compare identifiers across namespaces for equality.
- Input the draft sentence "The merchant has completed a compliance audit of the order fulfillment logs." Compare it against the source texts for a stated audit subject, scope and conclusion. When all three are absent, the sentence is unsupported. A pending review request is not an approval, and an offered option is not an executed action.