Webhooks
Signup Webhook
Automatically create contest entries from external signups
Signup Webhook
POST
/api/webhooks/signup/:contestId Webhook Secret
Receive signup events from your application or third-party services to automatically create contest entries.
Endpoint
text
POST https://blitzrocket.com/api/webhooks/signup/:contestId
Path Parameters
contestIdstring required The unique contest identifier
Request Body
emailstring required Email address of the new signup
namestringName of the new signup (optional)
phonestringPhone number (optional)
referralCodestringReferral code if the signup was referred (optional)
Request
bash
curl -X POST https://blitzrocket.com/api/webhooks/signup/clx1abc123 \
-H "Content-Type: application/json" \
-d '{
"email": "newuser@example.com",
"name": "New User"
}'
Response
json
{
"success": true,
"data": {
"entryId": "entry_new789",
"email": "newuser@example.com",
"alreadyExists": false,
"isReferred": false,
"pointsAwarded": {
"advocate": 0,
"friend": 0
}
}
}
Setup Guide
- Navigate to your contest's Design page in the Blitz Rocket dashboard
- Enable External Tracking in the contest settings
- Copy your webhook URL:
https://blitzrocket.com/api/webhooks/signup/{your-contest-id} - Configure your external platform to send POST requests to this URL on signup events
Integration Examples
Shopify Customer Creation
Configure a Shopify webhook to fire on customers/create:
javascript
// Shopify sends this payload automatically:
{
"email": "customer@example.com",
"first_name": "Jane",
"last_name": "Doe"
}
Custom Sign-up Form
javascript
document.querySelector("#signup-form").addEventListener("submit", async (e) => {
e.preventDefault();
const form = new FormData(e.target);
const email = form.get("email");
const name = form.get("name");
// First, register in your system
await registerUser({ email, name });
// Then, create contest entry via webhook
await fetch(
`https://blitzrocket.com/api/webhooks/signup/${CONTEST_ID}`,
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ email, name }),
}
);
});