Downloads farmer rows page by page for each VO of a Unit In-charge / FMT (UnitDataSetupViewModel, and SetupForUnitInChargeLogin on the splash path). Rows get the same clean-up as the cadre download and go into ie_flat_entity; pulledIEPages is saved per VO, so a retry skips VOs and pages already pulled. When every VO is complete, the next run resets progress for a fresh full sync.
Headers
Header
Value
Notes
X-SESSIONID
<session token>
Not set by the call site. AuthInterceptor (OkHttpClientInterceptor) adds it from AndroidSessionManager. On a 401 or 400 it invalidates the token, gets a fresh one and retries once.
Parameters
Param
In
Required
Example
Notes
datasetName
path
Yes
PlusOneWorkNodeFarmerListGeoWiseUnit
Dataset name in the path of commons-report-service /api/v1/datasets/name/{name}/execute.
version
query
Yes
1
Dataset version. Always 1.
format
query
Yes
json
Response format. Always json, so the body is a JSON array of row objects.
Dataset input parameters as KEY=value pairs joined with "--". IN_PARAM_VO_ID_CSV = VO alias; LIMIT_OFFSET = pageNo x page size; LIMIT_ROW_COUNT = page size (ref data value or 250 in UnitDataSetupViewModel, fixed 1000 in SetupForUnitInChargeLogin).
Stored as-is; lifeStatus decides whether the farmer counts as active.
Errors
Status
When
What the app does
401 / 400
Session token expired or rejected
AuthInterceptor refreshes the token and retries once; if the retry also fails, Error recorded for that VO and page; other VOs continue and the screen reports partial success or failure for retry.
5xx
Dataset query failed on the server
Error recorded for that VO and page; other VOs continue and the screen reports partial success or failure for retry.
network error
No connectivity or timeout
Error recorded for that VO and page; other VOs continue and the screen reports partial success or failure for retry.