Code Examples
Practical examples in multiple programming languages
JavaScript (Fetch API)
async function submitContactForm(formData) {
try {
const response = await fetch('https://codefreeform.com/api/contact-api/', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
access_key: 'ABC123',
email: formData.email,
message: formData.message,
subject: formData.subject,
name: formData.name
})
});
const data = await response.json();
if (data.success) {
console.log('Success!', data.message);
console.log('Submission ID:', data.submission_id);
} else {
console.error('Error:', data.message);
console.error('Field errors:', data.errors);
}
} catch (error) {
console.error('Network error:', error);
}
}
// Usage
submitContactForm({
email: 'user@example.com',
message: 'Hello from JavaScript!',
subject: 'Test',
name: 'John Doe'
});
jQuery/AJAX
$('#contactForm').on('submit', function(e) {
e.preventDefault();
$.ajax({
url: 'https://codefreeform.com/api/contact-api/',
type: 'POST',
dataType: 'json',
data: {
access_key: 'ABC123',
email: $('#email').val(),
message: $('#message').val(),
subject: $('#subject').val(),
name: $('#name').val()
},
success: function(response) {
if (response.success) {
$('#successMessage').text(response.message).show();
$('#contactForm')[0].reset();
}
},
error: function(xhr) {
const data = xhr.responseJSON;
let errorMsg = data.message || 'An error occurred';
$('#errorMessage').text(errorMsg).show();
}
});
});
Python
import requests
def submit_contact_form(access_key, email, message, subject=None, **custom_fields):
url = 'https://codefreeform.com/api/contact-api/'
payload = {
'access_key': access_key,
'email': email,
'message': message,
}
if subject:
payload['subject'] = subject
# Add custom fields
payload.update(custom_fields)
try:
response = requests.post(url, json=payload)
response.raise_for_status()
data = response.json()
if data.get('success'):
print(f"✓ Success: {data['message']}")
print(f" Submission ID: {data['submission_id']}")
return True
else:
print(f"✗ Error: {data['message']}")
if 'errors' in data:
for field, errors in data['errors'].items():
print(f" {field}: {', '.join(errors)}")
return False
except requests.exceptions.RequestException as e:
print(f"✗ Network error: {e}")
return False
# Usage
submit_contact_form(
access_key='ABC123',
email='user@example.com',
message='Hello from Python!',
subject='API Test',
name='Jane Smith',
company='Acme Corp'
)
HTML Form
<form action="https://codefreeform.com/api/contact-api/" method="POST">
<input type="hidden" name="access_key" value="ABC123" />
<label for="email">Email:</label>
<input type="email" id="email" name="email" required />
<label for="subject">Subject:</label>
<input type="text" id="subject" name="subject" />
<label for="message">Message:</label>
<textarea id="message" name="message" required></textarea>
<button type="submit">Send Message</button>
</form>
cURL
curl -X POST https://codefreeform.com/api/contact-api/ \
-H "Content-Type: application/json" \
-d '{
"access_key": "ABC123",
"email": "user@example.com",
"message": "Hello from cURL!",
"subject": "Test Message",
"name": "John Doe"
}'
With File Upload (JavaScript)
async function submitWithFiles(formElement) {
const formData = new FormData(formElement);
// Add access key
formData.append('access_key', 'ABC123');
try {
const response = await fetch('https://codefreeform.com/api/contact-api/', {
method: 'POST',
body: formData // No Content-Type header needed
});
const data = await response.json();
if (data.success) {
alert(`Success! ${data.attachments} files uploaded.`);
} else {
alert('Error: ' + data.message);
}
} catch (error) {
console.error('Upload failed:', error);
}
}