Introduction to Enketo API
Enketo API delivers robust functionality for integrating dynamic web forms with extensive backend capabilities. With Enketo API, developers can easily create, retrieve, update, and submit web forms leveraging a powerful and flexible API infrastructure.
Getting Started with Enketo API
To begin using the Enketo API, start by reviewing some essential API endpoints and their functionalities. Below, you’ll find explanations along with code snippets demonstrating the usage of these APIs.
1. Form Creation
Create a new form using the following API endpoint:
POST https://api.enketo.org/v2/survey
{
"form_id": "example_form",
"form_data": {
"title": "Example Form",
"fields": [
{ "type": "text", "name": "username", "label": "Username" },
{ "type": "email", "name": "email", "label": "Email Address" }
]
}
}
2. Retrieve Form
Retrieve an existing form with the form ID:
GET https://api.enketo.org/v2/survey/{form_id}
3. Update Form
Update an existing form using the following endpoint:
PUT https://api.enketo.org/v2/survey/{form_id}
{
"form_data": {
"title": "Updated Example Form",
"fields": [
{ "type": "text", "name": "username", "label": "Updated Username" },
{ "type": "number", "name": "age", "label": "Age" }
]
}
}
4. Submit Form Data
Submit data for a specific form:
POST https://api.enketo.org/v2/survey/{form_id}/submission
{
"submission_data": {
"username": "JohnDoe",
"age": 30
}
}
5. Delete Form
Remove an existing form by specifying the form ID:
DELETE https://api.enketo.org/v2/survey/{form_id}
Application Example Using Enketo APIs
Below is an example application that creates a form, retrieves its details, updates it, and finally submits the data:
const axios = require('axios');
// Create a new form
async function createForm() {
const formResponse = await axios.post('https://api.enketo.org/v2/survey', {
form_id: 'example_form',
form_data: {
title: 'Example Form',
fields: [
{ type: 'text', name: 'username', label: 'Username' },
{ type: 'email', name: 'email', label: 'Email Address' }
]
}
});
console.log('Form Created:', formResponse.data);
}
// Retrieve form details
async function retrieveForm() {
const formID = 'example_form';
const formResponse = await axios.get(`https://api.enketo.org/v2/survey/${formID}`);
console.log('Form Details:', formResponse.data);
}
// Update the form
async function updateForm() {
const formID = 'example_form';
const formResponse = await axios.put(`https://api.enketo.org/v2/survey/${formID}`, {
form_data: {
title: 'Updated Example Form',
fields: [
{ type: 'text', name: 'username', label: 'Updated Username' },
{ type: 'number', name: 'age', label: 'Age' }
]
}
});
console.log('Form Updated:', formResponse.data);
}
// Submit form data
async function submitFormData() {
const formID = 'example_form';
const submissionResponse = await axios.post(`https://api.enketo.org/v2/survey/${formID}/submission`, {
submission_data: {
username: 'JohnDoe',
age: 30
}
});
console.log('Form Data Submitted:', submissionResponse.data);
}
// Execute the functions
(async () => {
await createForm();
await retrieveForm();
await updateForm();
await submitFormData();
})();
By following the steps and code samples provided, developers can effectively utilize the Enketo API to manage and submit web forms seamlessly.
Hash: d4644341404b5cce7ac15145b721ec51603770795dbf06085c96b2362d5c9647