Webhooks Overview
DATA Reshape webhooks provide server-to-server endpoints for sending tracking data directly from your backend systems. This enables reliable data collection without browser dependencies — ideal for e-commerce platforms, CRM systems, and any scenario where server-side tracking is required.
Prerequisites
Webhook access is available with Data Source Addon on FLEX plan and above. Contact DATA Reshape team to enable access for your account.
Once approved, you'll receive:
- Script ID — your unique project identifier (8 characters, uppercase alphanumeric)
- Access Token — secret authentication key
- Webhook Base URL — your configured endpoint (e.g.
https://dre2.YOUR_DOMAIN.TLD)
Authentication
All webhook requests require:
- Method:
POST - Content-Type:
application/json - Header:
X-Dre-Access-Token: YOUR_ACCESS_TOKEN - Query Parameter:
id=YOUR_SCRIPT_ID
Integration Methods
Standard Integration
Universal endpoint for tracking any approved event using the Reshape Standard Syntax.
Event Create — single endpoint for all event types (checkout_completed, lead_created, order_canceled, etc.) with support for products, shipping, payments, coupons, user data, cookies, and consent.
$endpoint = 'https://dre2.YOUR_DOMAIN.TLD/webhooks/reshape/event?id=YOUR_SCRIPT_ID';
$ch = curl_init($endpoint);
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'X-Dre-Access-Token: YOUR_ACCESS_TOKEN'
],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 30
]);
$response = curl_exec($ch);
curl_close($ch);
Custom Integration
Available exclusively for CUSTOM plan subscribers with dedicated development resources.
About Custom Integration — specialized webhook endpoints designed for your specific business logic, data structures, and operational workflows. Built by the DATA Reshape team in collaboration with your technical team.
Testing
Append /test to the endpoint path to validate a payload before going live:
POST https://dre2.YOUR_DOMAIN.TLD/webhooks/reshape/event/test?id=YOUR_SCRIPT_ID
The /test endpoint processes synchronously, does not send to any destination, and returns the full errors, warnings and data_received. Setting context.environment: "dev" in the body only skips destination delivery — it does not return this feedback.
Response Format
Production (async)
The production endpoint acknowledges immediately and processes in the background — no per-event feedback:
{
"emitter": "DATA Reshape",
"detail": "OK",
"level": 2,
"version": 6
}
Test — Success
{
"emitter": "DATA Reshape",
"detail": "Received. This has been processed.",
"level": 2,
"version": 6,
"errors": [],
"warnings": [
"context.url is missing. Fallback to config host.",
"consent object does not match the required format and will be set to an object with all values set to true."
],
"data_received": { }
}
Test — Validation Failure
{
"emitter": "DATA Reshape",
"detail": "Processing failed — see errors.",
"level": 2,
"version": 6,
"errors": [
"event.id is missing or does not match the required format."
],
"warnings": [],
"data_received": { }
}
Getting Started
- Get credentials — contact the DATA Reshape team for your Script ID and Access Token
- Review the data objects — see Objects Documentation for the complete reference
- Implement the endpoint — use Event Create for standard integration
- Test with
/test— validate payloads against the/webhooks/reshape/event/testendpoint before going to production - Go live — switch to the production
/webhooks/reshape/eventendpoint when ready
Support
- Email: [email protected]
- Portal: https://www.datareshape.ro/contact