Form Submissions¶
Implements OpenRosa Api here
Submit an XML XForm submission¶
POST /api/v1/submissions
Example¶
curl -X POST -F xml_submission_file=@/path/to/submission.xml https://api.ona.io/api/v1/submissions
Submit a JSON XForm submission¶
POST /api/v1/submissions
Example¶
curl -X POST -d '{"id": "[id_string]", "submission": [the JSON]} http://api.ona.io/api/v1/submissions -u user:pass -H "Content-Type: application/json"
Note
The [id_string]
here is in the name of your form as exposed in the Ona UI and the id_string
as per the Forms API.
Here is some example JSON, it would replace [the JSON] above:
{
"transport": {
"available_transportation_types_to_referral_facility": ["ambulance", "bicycle"],
"loop_over_transport_types_frequency": {
"ambulance": {
"frequency_to_referral_facility": "daily"
},
"bicycle": {
"frequency_to_referral_facility": "weekly"
},
"boat_canoe": null,
"bus": null,
"donkey_mule_cart": null,
"keke_pepe": null,
"lorry": null,
"motorbike": null,
"taxi": null,
"other": null
}
},
"meta": {
"instanceID": "uuid:f3d8dc65-91a6-4d0f-9e97-802128083390"
}
}
Edit an existing XForm submission¶
POST /api/v1/submissions
Same request as above for both XML and JSON XForm submission while providing a deprecatedID
and newly generated instanceID
.
Example¶
curl -X POST -d '{"id": "[id_string]", "submission": [the JSON]} http://api.ona.io/api/v1/submissions -u user:pass -H "Content-Type: application/json"
Important
When editing an existing submission, deprecatedID
needs to be provided as one of the meta fields. deprecatedID
is the instanceID of the submission which is being updated and instanceID
is the newly generated instanceID
. See OpenRosa MetaData Schema for more details.
Here is some example JSON provided for updating an exisiting instance, it would replace [the JSON] above:
{
"transport": {
"available_transportation_types_to_referral_facility": ["ambulance", "bicycle"],
"loop_over_transport_types_frequency": {
"ambulance": {
"frequency_to_referral_facility": "daily"
},
"bicycle": {
"frequency_to_referral_facility": "weekly"
},
"boat_canoe": null,
"bus": null,
"donkey_mule_cart": null,
"keke_pepe": null,
"lorry": null,
"motorbike": null,
"taxi": null,
"other": null
}
},
"meta": {
"instanceID": "uuid:f3d8dc65-91a6-4d0f-9e98-802128083390",
"deprecatedID": "uuid:f3d8dc65-91a6-4d0f-9e97-802128083390"
}
}