<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Question about AppStore SYS_GET_TRANSACTIONS_PAGE behavior in S2S Cloud Code]]></title><description><![CDATA[<p dir="auto">Hi brainCloud team,</p>
<p dir="auto">We are implementing an internal monthly revenue settlement tool and need to retrieve App Store IAP transactions for a specific month.</p>
<p dir="auto">We observed different behavior depending on how the Cloud Code script is executed.</p>
<h3>Environment</h3>
<ul>
<li>App: dev</li>
<li>Cloud Code script: S2S callable</li>
<li>Service: <code>appStore</code></li>
<li>Operation: <code>SYS_GET_TRANSACTIONS_PAGE</code></li>
</ul>
<h3>Case 1: S2S <code>script/RUN</code> without a player session</h3>
<p dir="auto">Our backend calls the Cloud Code script through S2S <code>script/RUN</code>.</p>
<p dir="auto">Inside the script, we tried:</p>
<pre><code class="language-js">var appStoreProxy = bridge.getAppStoreServiceProxy();
var response = appStoreProxy.sysGetTransactionsPage({
  pagination: { rowsPerPage: 50, pageNumber: 1 },
  searchCriteria: {
    type: "itunes",
    pending: false,
    createdAt: { "$gte": monthStart, "$lt": monthEnd }
  },
  sortCriteria: { createdAt: -1 }
});
</code></pre>
<p dir="auto">This failed with:</p>
<pre><code class="language-text">Processing exception: Unrecognized request: service=appStore, operation=SYS_GET_TRANSACTIONS_PAGE.
</code></pre>
<h3>Case 2: Same script from the brainCloud console after Quick Auth</h3>
<p dir="auto">When we ran the same Cloud Code script from the brainCloud web console, after Quick Auth created a player session, the request succeeded.</p>
<h3>Case 3: S2S <code>script/RUN</code>, but the script creates a player session explicitly</h3>
<p dir="auto">We changed the script to create a session from a known dedicated service profileId:</p>
<pre><code class="language-js">var userSession = bridge.getSessionForProfile(sessionProfileId);
var response = bridge.callAPIForSession(userSession, "appStore", "SYS_GET_TRANSACTIONS_PAGE", {
  context: {
    pagination: { rowsPerPage: 50, pageNumber: 1 },
    searchCriteria: {
      type: "itunes",
      pending: false,
      createdAt: { "$gte": monthStart, "$lt": monthEnd }
    },
    sortCriteria: { createdAt: -1 }
  }
});
</code></pre>
<p dir="auto">This succeeded.</p>
<h3>Questions</h3>
<ol>
<li>Is <code>SYS_GET_TRANSACTIONS_PAGE</code> expected to require a player session, even when called from S2S Cloud Code?</li>
<li>Is there an official or recommended way to retrieve app-wide IAP transactions for a monthly settlement report without using an arbitrary player profile session?</li>
<li>If a player session is required, is it safe to use a dedicated internal/service profileId and omit <code>profileId</code> from <code>searchCriteria</code> to retrieve app-wide transactions?</li>
<li>Is the <code>Unrecognized request</code> error expected in this case, or should this be reported as a bug, permission issue, or app configuration issue?</li>
</ol>
<p dir="auto">Thanks.</p>
]]></description><link>https://forums.getbraincloud.com/topic/370/question-about-appstore-sys_get_transactions_page-behavior-in-s2s-cloud-code</link><generator>RSS for Node</generator><lastBuildDate>Mon, 29 Jun 2026 21:06:37 GMT</lastBuildDate><atom:link href="https://forums.getbraincloud.com/topic/370.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 29 Jun 2026 13:17:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Question about AppStore SYS_GET_TRANSACTIONS_PAGE behavior in S2S Cloud Code on Mon, 29 Jun 2026 13:58:02 GMT]]></title><description><![CDATA[<p dir="auto">Hmm - we'll look into it. Definitely looks like it isn't hooked up to the S2S proxy properly.</p>
<p dir="auto">Thanks for reporting this.</p>
]]></description><link>https://forums.getbraincloud.com/post/1354</link><guid isPermaLink="true">https://forums.getbraincloud.com/post/1354</guid><dc:creator><![CDATA[Paul Winterhalder]]></dc:creator><pubDate>Mon, 29 Jun 2026 13:58:02 GMT</pubDate></item></channel></rss>