Skip to Content
SourcesWebhookOverview

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

FieldTypeRequiredDescription
eventstringNoEvent name (defaults to webhook_received if missing)
timestampISO 8601NoWhen the event occurred (defaults to current time)
distinct_idstringNoUser identifier for analytics destinations
event_idstringNoUnique ID for deduplication (auto-generated if missing)
propertiesobjectNoCustom 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

SettingValue
Ingestion MethodHTTP POST (push)
AuthenticationBearer API key
StorageBigQuery (real-time)
StreamingConnected destinations
LatencyReal-time (seconds)
DeduplicationMERGE 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

  1. In the Vendo app, navigate to Apps and create a new Webhook app
  2. Copy the Webhook URL and API Key shown after creation
  3. Configure your application to POST JSON to the webhook URL with the API key in the Authorization header
  4. 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

  1. Send a test POST request using curl or your application
  2. Confirm the event appears in your BigQuery dataset under the webhook_events table
  3. Check connected destinations for the streamed event
  4. Review Vendo integration logs for any delivery errors
Last updated on