On the endorsement screen (EndorsementFragment), tapping "download abstract" on a VO card calls EndorsementRepositoryImpl.getVoAbstract on the network executor. This is an online call. The binary body is written to cacheDir/Report_<id>.xlsx and opened with an ACTION_VIEW intent (application/vnd.ms-excel). A toast appears if no spreadsheet app is installed or the body is empty. The callback reports success or failure to the fragment, which shows a message.
Headers
Header
Value
Notes
X-SESSIONID
<session id>
Passed explicitly as a @Header by the caller (AndroidSessionManager.sessionId). AuthInterceptor also fills it when missing, and on a 401 or 400 it invalidates the token, fetches a new one and retries once.
Parameters
Param
In
Required
Example
Notes
voId
path
Yes
220005
VO entity id (EndorsementEntity.entityId).
adminUser
query
Yes
true
Always true.
Request
No body. voId
Response
Example response body (synthetic data)
{
"part": "binary Excel workbook (application/vnd.ms-excel or xlsx)"
}
Field
Type
Required
Notes
(body)
binary
VO abstract report, saved as Report_<id>.xlsx. PII: likely contains member names and land details for the group (contents are not parsed by the app).
Errors
Status
When
What the app does
non-2xx
Report not available
callback(false), and the fragment shows a failure message.