Create a template to filter out event configuration.
Warning
We recommend building applications based on the
UNIFIED_V1
, as outlined in the Events Unified Format page.
Using Predefined Templates
By default, rules use the UNIFIED_V1
template which applies the unified format. There are two predefined templates that can be used:
UNIFIED_V1_RAW
: This template is the same asUNIFIED_V1
but additionally adds a raw key to the envelope, which contains the raw payload of the message before theUNIFIED_V1
format was applied.ALL_DATA
: This template doesn't apply any modifications and will produce messages in their original form.
You can specify the template parameter when creating or updating rules to switch templates.
Using Custom templates
Users can define their templates using Go templates. These templates describe how raw data will be transformed before dispatching to the webhook.
- If the template field is left blank, all data for the selected event is sent to the webhook as JSON.
- If provided, the template uses Go templates to render the event.
info
Please note that the custom templates are applied to raw data, not the unified format.
Request Payload
curl --location 'https://svc.blockdaemon.com/streaming/v2/templates' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer my-token' \
--data '{
"description": "new template",
"name": "custom template",
"template": "{height:{{(default 0 .height) }}}"
}'
Response Payload
{
"created_at": "2024-03-08T18:57:10.719074Z",
"description": "new template",
"id": "8547286d-34a5-45c6-8a37-6f09a691a5f0",
"name": "custom template",
"template": "{height:{{(default 0 .height) }}}",
"updated_at": "2024-03-08T18:57:10.719074Z"
}
➡️ Adding a Template to a Rule
This template can then be referenced in the rule using the template
field. Replace <TEMPLATE_ID>
with the template ID you've just created.
{
"condition": [
{
"variable_id": "3c1c1483-d8e0-4ecb-95a0-1e18a5d03244",
"variable_type": "address"
}
],
"condition_type": "match_var",
"created_at": "2024-03-06T14:57:10.019668Z",
"description": "Bitcoin mainnet rule",
"id": "9e2a6c91-18b1-42a4-864b-b3c4efaa5397",
"is_active": true,
"name": "Bitcoin mainnet rule",
"network": "mainnet",
"protocol": "bitcoin",
"safe_distance": 0,
"safe_timeout": 0,
"target": "8918a2f1-28d6-4e2f-837b-fb49ec09daaf",
"template": "<TEMPLATE_ID>",
"type": "all",
"updated_at": "2024-03-06T14:57:10.019668Z"
}
👋 Need Help?
Contact us through email or our support page for any issues, bugs, or assistance you may need.