bountyblok.io can notify your custom webhook endpoint via HTTP POST
with a payload containing challenge event data for a user.
This is commonly used to get notified when a challenge has been completed. The endpoint will also be called for user progress for a challenge with all the necessary data on their progress.
First setup a webhook endpoint and then assign it to your bountyblok app in the Apps page. All notifications will include the app_id
in the HTTP Request Header: BB-Webhook-Secret-App.
Please validate all incoming requests using BB-Webhook-Secret-App
We recommend you secure your webhook endpoints with HTTPS
An example JSON payload sent to https://example.com/webhook/bountyblok
{"logged_tx": "b5607433a23c2d06c6585543f58fa5a11d3384e8f6c4c631d8fbb9cb3d54852f","task_completed_tx": "b5607433a23c2d06c6585543f58fa5a11d3384e8f6c4c631d8fbb9cb3d54852f","challenge_completed_tx": "b5607433a23c2d06c6585543f58fa5a11d3384e8f6c4c631d8fbb9cb3d54852f","account_name": "captainkarma","task_progress": {"task_id": "6893c17e-5766-4622-b641-87691fa6034d","task_name": "Post Something Awesome:","quantity_required": 1.0000,"quantity_completed": 2.0000,"is_valid": false,"message": null},"challenge_progress": {"challenge_id": "4af565ca-2975-4392-b34f-2b54e3a8c6b2","challenge_name": "Best Meme Contest","challenge_score": 100,"challenge_start": null,"challenge_end": null,"challenge_description": "Post the best MEME to win 25 KARMA","challenge_rewards": [{"name": "KARMA","value": 25.000000}],"tasks_required": 3,"tasks_completed": 1,},"challenge_reward": {"name": "KARMA","value": 25.000000},"is_valid": false}​
The payload is sent when a user performs a challenge task. It contains the challenge progress, the current task progress, and the rewards for this user.