GETTING STARTED
Connect your existing website forms to Fernnel and automatically send new leads to your Fernnel account.
Fernnel's Lead Ingestion API allows your website or backend application to send lead information directly to Fernnel.
This is designed for businesses that already have their own contact form, enquiry form, registration form or other lead capture system and want those submissions to appear automatically in Fernnel.
You do not need to replace your existing website forms or build your booking experience around Fernnel. Your existing system can continue collecting information while Fernnel handles lead management.
A visitor submits your existing website form.
Your backend securely sends the lead data to Fernnel.
The submitted information becomes available in your Fernnel lead management system.
Getting started
A few things you’ll need before connecting your website to the Fernnel lead ingestion API.
Sign up for a free Fernnel account to create your booking pages and manage incoming leads.
Open Settings in your Fernnel account and scroll to Data Encryption Key. Generate your key and store it securely on your server.
Open Get API Keys from the sidebar, select the booking page you want to connect, and generate an API key for it.
Follow the integration guide to encrypt your lead data and securely send form submissions to the Fernnel API.
REQUEST CONFIGURATION
Send your lead data to the ingestion endpoint using the required authentication and request headers.
Include your API key with every request and specify JSON as the request content type.
X-API-KEYRequiredYour Fernnel lead ingestion API key.
Content-TypeRequiredMust be set to application/json.
Keep your API key private
Your API key should only be used from your server. Never expose it in browser-side JavaScript or public frontend code.
Request Body
Prepare your lead data using the payload schema provided in the Guide on your API Key page. Encrypt the complete payload with your encryption key, then send the encrypted value in the request body.
1. Prepare your payload
Create your lead payload according to the schema provided in your API Key Guide.
{
" customer_name " : " James Smith",
" customer_email " : " james@example.com",
" form_data " : {
"phone" : " +122635621 ",
"address" : " Birsbane, Queensland ",
}
}2.Encrypt your payload
Encrypt your payload using the provided encryption key with Fernet encryption.View Fernet documentation
{
"encrypted_data": "DHHHHsjsis..."
}3. Example Request
curl -X POST "https://dash.fernnel.com/api/v1/leads/ingest" \
-H "Content-Type: application/json" \
-H "X-API-KEY: your_api_key" \
-d '{
"encrypted_data": "DHHHHsjsis..."
}'4. Response
{
"success": true,
"message": "Appointment created",
"status_code": 201
}'Error responses
The request could not be authenticated because the X-API-KEY header is missing or invalid.
How to fix: Check that you are using the API key generated for the correct Fernnel booking page.
The encrypted payload is invalid or could not be decrypted by Fernnel.
How to fix: Verify that the payload was encrypted with your Fernnel Data Encryption Key and has not been modified.
The request was received, but the submitted data does not match the required request format.
How to fix: Check the request body and make sure all required fields contain valid values before sending the request.
The request limit has been exceeded for the lead ingestion endpoint.
How to fix: Wait before sending another request. The endpoint allows up to 50 requests per minute.
Fernnel encountered an unexpected problem while processing the request.
How to fix: Retry the request. If the issue continues, contact Fernnel support with the request details.
To keep the API reliable and prevent excessive traffic, Fernnel limits requests to the lead ingestion endpoint.
Limit
50 requests / minute
The lead ingestion endpoint allows up to 50 requests per minute. Requests above this limit are temporarily rejected to help protect the API and maintain reliable service.
When the limit is exceeded, the API returns 429 Too Many Requests. Wait before sending additional requests.
