Web Hooks allow an external URL to be called upon certain events occurring in the system. For example, when an employee is created or when a leave request is created. For more information about web hooks, please refer to this Wikipedia Article. Web Hooks can also facilitate integration with services such as Zapier and IFTTT allowing powerful options for data integration between systems.
Getting started
- Click the Business Settings menu.
- Click the Payroll Settings submenu.
- Click the Web Hooks button.
- Tick Enable clock in/clock out web hooks checkbox. Please only use this setting if you specifically require web hooks for these events.
Web Hook Events
The Web Hook events that are currently available are:
The Web Hook events (with message data types sent) that are currently available are:
- Employee Created (UnstructuredEmployeeModel)
- Employee Terminated (UnstructuredEmployeeModel)
- Employee Updated (UnstructuredEmployeeModel)
- Pay Run Finalised (PayRunModel)
- Pay Run Deleted (pay run ID)
- Pay Run Initialised (PayRunModel)
- Leave Request Created (HourLeaveRequestResponseModel)
- Bank Account Deleted (bank account ID)
- Bank Account Updated (BankAccountModel)
- Employee Recurring Deduction Deleted (deduction ID)
- Employee Recurring Deduction Updated (EmployeeRecurringDeductionModel)
- Leave Request Updated (HourLeaveRequestResponseModel)
- Leave Request Cancelled (HourLeaveRequestResponseModel)
- Leave Request Declined (HourLeaveRequestResponseModel)
- Leave Request Approved (HourLeaveRequestResponseModel)
- Leave Request Created (HourLeaveRequestResponseModel)
Data is sent inside a wrapper class (Microsoft.AspNet.WebHooks.WebHookWorkItem). eg:
{
"Id": "62b45c1f7584400193a0879a163897b2",
"Attempt": 1,
"Properties": {},
"Notifications": []
}
With the relevant data inside the Notifications
array
Retry Intervals
If the call to the web hook URL does not return a 'success' result (for example a HTTP 200 or HTTP 201), it will be retried at increasingly higher delays.
- First attempt: Immediate
- Retry 1: 1 minute after first attempt
- Retry 2: 2 minutes after previous retry
- Retry 3: 4 minutes after previous retry
- Retry 4: 8 minutes after previous retry
- Retry 5: 15 minutes after previous retry
- Retry 6: 30 minutes after previous retry
- Retry 7: 1 hour after previous retry
If the web hook attempt is still not successful after 7 retries, it will not be re-attempted.
Event Message Verification
Web Hook message verification is included with each web hook registration by computed a sha256 hash of the message payload using HMAC and web hook secret. Each event will contain the hashed value within the header response MS-Signature
The example below shows an example request body, signature and secret. You can use an application like https://www.freeformatter.com/hmac-generator.html to test the resulting hash.
Please note the hash is sensitive to any whitespace in the request content. It's recommended that you read the content as a string without any formatting, then pass it through a HMAC hash generator library along with your secret.
SecretOLgCtvLZU4h9GYzZgamuYGdn4e7Zk651
Signaturesha256=d33766c44cd7ce49134833e072d10866a6e021053bff7f72b92b1da07b85cd3e
Body
{
"Id": "f62319a8e9594b1da89ee456525711ea",
"Attempt": 1,
"Properties": {},
"Notifications": [
{
"Action": "BankAccountDeleted",
"Type": "Test Message from Application"
}
]
}
Maintain
If you have any questions or feedback please let us know via support@nzpayroll.co.nz
Comments
Article is closed for comments.