Webhook
Source — Push data into Vendo from any application, script, or service via HTTP POST. Events are written to BigQuery in real-time and streamed to connected destinations.
Payload Formats
Structured Event (Single)
{
"event": "signup",
"timestamp": "2026-01-15T10:30:00Z",
"distinct_id": "user_123",
"properties": {
"plan": "pro",
"source": "landing_page"
}
}Batch Events
{
"events": [
{
"event": "page_view",
"timestamp": "2026-01-15T10:30:00Z",
"distinct_id": "user_123",
"properties": { "page": "/pricing" }
},
{
"event": "button_click",
"timestamp": "2026-01-15T10:30:05Z",
"distinct_id": "user_123",
"properties": { "button": "start_trial" }
}
]
}Raw JSON
Any JSON payload without an event field is stored as webhook_received with the full payload as properties.
{
"order_id": "ORD-123",
"total": 99.99,
"items": [{ "sku": "WIDGET-1", "qty": 2 }]
}Event Fields
| Field | Type | Required | Description |
|---|---|---|---|
event | string | No | Event name (defaults to webhook_received if missing) |
timestamp | ISO 8601 | No | When the event occurred (defaults to current time) |
distinct_id | string | No | User identifier for analytics destinations |
event_id | string | No | Unique ID for deduplication (auto-generated if missing) |
properties | object | No | Custom event properties |
Authentication
All requests must include an API key in the Authorization header:
Authorization: Bearer <your-api-key>The API key is auto-generated when you create the webhook app in Vendo.
Platform Details
| Setting | Value |
|---|---|
| Ingestion Method | HTTP POST (push) |
| Authentication | Bearer API key |
| Storage | BigQuery (real-time) |
| Streaming | Connected destinations |
| Latency | Real-time (seconds) |
| Deduplication | MERGE on event_id |
Common Use Cases
- Backend event tracking — Send server-side events from your application directly to Vendo
- Third-party integrations — Route events from any service that supports webhook/HTTP POST
- ETL pipelines — Push transformed data from custom scripts or workflows
- IoT and device data — Ingest device telemetry for analytics and reporting
Setup
- In the Vendo app, navigate to Apps and create a new Webhook app
- Copy the Webhook URL and API Key shown after creation
- Configure your application to POST JSON to the webhook URL with the API key in the Authorization header
- Send a test request to verify the connection
Example: curl
curl -X POST 'https://api.vendodata.com/api/v1/webhooks/ingest/webhook/<app-id>' \
-H 'Authorization: Bearer <api-key>' \
-H 'Content-Type: application/json' \
-d '{
"event": "test_event",
"timestamp": "2026-01-15T10:30:00Z",
"distinct_id": "user_123",
"properties": { "source": "curl_test" }
}'Verify Setup
- Send a test POST request using curl or your application
- Confirm the event appears in your BigQuery dataset under the
webhook_eventstable - Check connected destinations for the streamed event
- Review Vendo integration logs for any delivery errors
Last updated on