🪝Webhooks
What are webhooks?
Webhooks are HTTP callbacks that allow FibriCheck to push data to your application, instead of relying on continuous requests to check for updates or data changes.
In a webhook setup, an HTTP POST request will be sent to a specified URL when a specific event occurs. The callback URL on your side then receives the payload containing relevant data about the event, allowing the receiving application to process and act upon it.
FibriCheck supports webhook events on the following trigger:
A user performed a new measurement
A FibriCheck technician reviewed a measurement
A new summary report is available for a user
Data Structure
The sections below outline the data format our webhook will use when sending information to your webhook endpoint.
Measurements
{
"eventType": "measurement",
"measurementId": "",
"userId": "",
"extraData": {
"otherParam": "otherdata"
},
"externalPatientId": "",
"patientFirstName": "John",
"patientLastName": "Doe",
"measurementTimestamp": "2024-11-19T14:37:38Z",
"status": "analyzed|reviewed",
"indicator": "normal|quality|urgent|warning",
"heartRate": 60,
"mostSevereLabel": {
"key": "regular|bradycardia|...",
"color": "green|blue|orange|red|grey"
},
"context": {
"activity": "sitting|standing|...",
"symptoms": [
"confused"
],
"symptomSeverity": "1"
},
"reportUrl": "https://api.fibricheck.com/files/v1/682dc5dd5530b1e811e74bd2-e23a9816-7da8-4406-bae2-f799d0ea60ac/file"
}Notes
The
measurementIdis a unique ID per performed measurement.The
userIdis the FibriCheckuserIdthat can be used to construct the web portal link later on.For a single measurement that a user performed, potentially two webhook calls can be triggered. One when the measurement is analysed, and one when the measurement has been reviewed. For both webhook calls, the
measurementIdvalue will remain the same.The
extraDataobject contains the fields that are stored in the user profile using thefc_data_extra_{TPM_prefix}_*key in the deep link. The key names are converted from snake_case to camelCase.The
externalPatientIdis the identification of the user in the telemonitoring platform, which can be used for mapping the measurement to the correct user. It is mapped from thefc_data_extra_{TPM_prefix}_patient_idkey in the deep link.Details on the specific values of the different keys can be found here.
‼️The
contextobject should be considered optional and can be undefined or only partially filled in when the webhook is executed on an analyzed measurement. This is because if the measurement analysis in the cloud finalizes before the user has provided all the context in the app, the webhook will be triggered before the user has been able to add the context (activity or symptoms). Details on the possible values of the context object can be found here.
Reports
{
"eventType": "report",
"reportId": "55e44f3a2902010005e329ce",
"userId": "5811e231e6e0ab000530a473",
"groupId": "55273edb46e0fb1035df209f"
"extraData": {
"otherParam": "otherdata"
},
"externalPatientId": "",
"patientFirstname": "John",
"patientLastname": "Doe",
"startTimestamp": "2024-11-19T14:37:38Z",
"endTimestamp": "2024-11-26T14:37:38Z",
"trigger": "MANUAL|PRESCRIPTION_ENDED|PERIOD_DAYS_PASSED_7|PERIOD_DAYS_PASSED_30",
"reportUrl": "https://api.fibricheck.com/v1/58e64f3a5908010005e329ce/pdf"
}Notes:
The
userIdis the FibriCheckuserIdthat can be used to construct the web portal link later on.The
extraDataobject contains the fields that are stored in the user profile using thefc_data_extra_{TPM_prefix}_*key in the deep link. The key names are converted from snake_case to camelCase.The
externalPatientIdis the identification of the user in the telemonitoring platform, which can be used for mapping the measurement to the correct user. It is mapped from thefc_data_extra_{TPM_prefix}_patient_idkey in the deep link.The trigger key indicates for what reason the report was generated and has one of the following values:
MANUAL- a manual report generation was triggered through the API or through the FibriCheck PortalPRESCRIPTION_ENDED- Report at the end of a prescriptionPERIOD_DAYS_PASSED_7- Weekly report during an active prescriptionPERIOD_DAYS_PASSED_30- Monthly report during an active prescription
‼️The
reportUrllink is an API endpoint that needs to be authenticated. This link cannot be used to download the report directly in a browser
Authentication
FibriCheck supports the following authentication methods for calling external webhooks:
A query parameter in the https URL
A bearer token in the
Authorizationheader
All webhook requests will originate from the same source IP (environment-specific). This enables you to enable IP whitelisting on the webhook endpoint for additional security. The following IP addresses are in use:
👷 Development:
52.48.67.214🇪🇺 EU Production:
52.28.109.191🇺🇸 US Production:
18.224.223.159
Configuration
For security reasons, a webhook can only be configured by FibriCheck staff.
If you want to configure a webhook integration, reach out to your FibriCheck contact or contact us at [email protected].
Last updated