
General and usage info
This plugin manages volunteer networks. More specifically, the contributions of these volunteers have configured your campaigns here.
It lets you create “campaigns” in which you need to collect data from different people who want to contribute to your cause. For each campaign you can define a specific data model (using data types that we have implemented, such as geo, images, dictionaries, text, numbers, dates, …) and can receive contributions of structured data.
The plugin exposes a RESTful API in yourdomain.tld/cindaAPI/ that can be consumed by any client. We have built one for Android (especially nice;-)), but if you want you can program another.
API Methods:
GET /cindaAPI/server/info/
Returns general server data
GET /cindaAPI/campaigns/list/
Campaigns list
GET /cindaAPI/campaign/([0-9]+)/
Details of a campaign.
GET /cindaAPI/campaign/([0-9]+)/model/
Data model of contributions to a campaign
GET /cindaAPI/campaign/([0-9]+)/listData/
List of contributions to a campaign
POST /cindaAPI/campaign/([0-9]+)/sendData/
Send/Save a contribution
GET /cindaAPI/campaign/([0-9]+)/listVolunteers/
List Volunteers registered on the server
GET /cindaAPI/topVolunteers/
Get the top contributors
POST /cindaAPI/campaign/([0-9]+)/suscribe/
Subscription to a campaign
POST /cindaAPI/campaign/([0-9]+)/unsuscribe/
Stop following a campaign
POST /cindaAPI/volunteer/register/
Register/login of a user on the server. Returns a token required to call protected operations.
POST /cindaAPI/volunteer/update-endpoint/
Updates the user device endpoint for push notifications
GET /cindaAPI/volunteer/([0-9]+)/
Data of a volunteer
GET /cindaAPI/volunteer/([0-9]+)/listData/
List of contributions for submitted by a volunteer
GET /cindaAPI/volunteer/activate-login/
Activate account to operate in WebAPP, it send a mail with data instructions
GET /cindaAPI/contribution/([0-9]+)/
Details of a contribution
GET /cindaAPI/realtime/contributions/
A special operation, designed to be called from the companion App to send data to a wearable.
GET /cindaAPI/realtime/nearby-activity/
Wearable related stuff, in progress…
GET /cindaAPI/realtime/watchface/
Data to paint on the watch face of and Android Wear smartwatch
GET /cindaAPI/dictionary/([0-9]+)/
Returns values for a special type of field available on the campaigns
GET /cindaAPI/trackings/
Returns tracks of routes recorded for a user.
GET /cindaAPI/tracking/([0-9]+)/
Details of a track
POST /cindaAPI/tracking/send/
Send a track
GET /cindaAPI/opendata/campaigns/
One way of show all the info about Campaigns to expose an Open Data platform
GET /cindaAPI/opendata/contributions/
One way of show all the info about Contributions to expose an Open Data Platform
The token especified is obtained on the (POST /cindaAPI/volunteer/register/) and before you must call /cindaAPI/nonce/volunteer_register, so you have to generate your own unique “first token” for this call (ex. = device UUID)
Almost the GET operations have a (optional) token. It is not compulsory, but necessary to consult own data.
Client
You can download and compile your own version of Android client https://github.com/si2info/cinda-android
We are in process of writing some documentation, please be patient 🙂
You can visit http://www.cinda.science/ for more information about this free citizen science project designed and promoted by http://iecolab.es and developed by http://si2.info