Event Notifications
Overview
You can use Device Management Notifications to receive webhooks and e-mail notifications regarding specific events, such as when a new payment device is boarded, activated or deleted or any other status update regarding a device. This feature allows you to get status updates on certain events/actions you subscribe to, which are then posted to the hosted web endpoint of your choice.
Events
Events are the topics a notification would be 'listening' to. The notifications will be triggered as soon as there is an event happening for one of the selected topics.
Event Type |
Description |
Details |
---|---|---|
EstateDeviceStatusUpdated |
Status of Device is Changed
|
Any change in the status of the device. See more details in the Device Status section. |
EstateDeviceDeleted |
Device is Deleted |
The Device is deleted temporarily (SOFT) or permanently (HARD). In the case of a SOFT deletion, the device is no longer displayed in Device Management. The data can be retrieved by undeleting the device. |
EstateDeviceSwapped |
Device is Swapped |
An existing device at the merchant is swapped with a new device. |
EstateDeviceActivated |
New Device is Activated |
A new device is registered and is actively managed on the Device Management System (DMS). |
EstateDeviceBoarded |
New Device is Boarded |
A new device is configured on the DMS. Note: The physical device is not yet registered with DMS.
|
EstateDevicePaired |
Device is Paired |
A new device with a specified Serial Number is paired with a device configured on DMS.
|
EstateDeviceParametersUpdated |
Device Parameters are Updated |
Parameters of the device are changed. Parameters could be added, updated or deleted on the GUI portal, using APIs or updated on the physical device.
|
EstateDeviceRebooted |
Device has Rebooted |
The Device has rebooted. rebootType indicates the reason/source initiating the reboot:
|
EstateDeviceTampered |
Device is Tampered |
The security of the Device is compromised. This could be a physical tamper (someone trying to open the case) or a soft tamper (invalid security keys or temperature out of normal range). |
EMVVersionMismatch |
EMV Version Mismatch |
The EMV Version of Payment device and PINpad do not match |
EstateDeviceHierarchyUpdated |
Device Hierarchy is Changed |
The Device is moved to a different Hierarchy |
EstateDeviceGroupUpdated |
Device Group is Changed |
The Device is added or moved to one or more groups. The Device is removed from one or more groups.
|
SoftwareVersionUpdated |
New software version is available or An existing software version is not available anymore |
A new software package is uploaded to DMS and is available for use. or An existing software package is deleted.
|
HierarchyUpdated |
New hierarchy is added |
A new hierarchy is added. |
GroupDeleted |
Device Group is deleted |
The Device Group is deleted. |
EstateDeletedDeviceContacting |
Deleted Device is trying to communicate with DMS |
Devices deleted from DMS are marked as Deleted. Such devices are expected to be out of service and no longer in use for any transactions. Any communication from deleted devices indicates potential malicious activity.
|
EstateDeviceMissing |
Device missing |
The Device has not communicated with the DMS for quite some time ( > 2 times heartbeat interval). E.g., The Device is expected to send heartbeats to the server once every 15 mins and device hasn't sent any communication in last 30 minutes. |
EstateDeviceUpdated |
Device updated |
One or more of the device attributes have been changed:
|
Events Specifications
Every event payload contains the following:
- A set of standard attributes that are common across all events
- A set of attributes specific to the event that has occurred - part of the ‘content’ section
Standard attributes
Attribute |
Description |
---|---|
eventId |
Unique identifier of the event, used for audit and logging purposes. |
eventDateTime |
The date and time when the event occurred, usually set at local time. |
itemId |
Unique identifier of the object that the event is related to. Note: This may be a JSON object if the item has a composite key. If the item has a single key, then the key should be used directly. |
entityUid |
Unique identifier of the entity for which event is generated. Assigned by Verifone. |
eoEntityUid |
Unique identifier of the owner/customer/merchant of the event. Assigned internally by the merchant. |
source |
Name of the source application sending the event |
component |
The source component sending the event |
received |
Date and time (per UTC time zone) when the event notification sent by the device was received by the server. This is only set when the event is received and is not provided by the merchant. |
eventType |
String naming the type of the event |
objectType |
DeviceEvent or StandardEvent |
content |
The associated event data. Optional and varies according to event type.
|
userUid |
Unique identifier of the user that triggered this event (if applicable) Needed only if it is relevant. |
deviceType |
Device model |
estateManagementId |
Terminal device ID |
serialNumber |
Device serial number |
estateManagementHierarchyId |
The Hierarchy ID of the terminal in the device management system |
Event Parameters and Sample Payloads
Event |
Parameter |
Type |
Description |
Sample payload |
---|---|---|---|---|
Status of Device is Changed
|
newStatus |
String |
New status of the device |
|
oldStatus |
String |
Old status of the device |
||
Device Is Deleted |
Type |
String |
Indicates the mode of device deletion:
|
|
Device is Swapped |
newDeviceModel |
String |
Device model name of the new device |
|
newSerialNumber |
Serial number of the new device |
|||
oldDeviceModel |
Device model name of the device being replaced |
|||
oldSerialNumber |
Serial number of the device being replaced |
|||
New Device is Activated |
hierarchy |
String
|
Hierarchy path of the device |
|
newStatus |
New status of device |
|||
oldStatus |
Old status of device |
|||
New Device is boarded |
hierarchy |
String |
Hierarchy path of the device |
|
Device is paired |
serialNumber |
String
|
Serial number of the device |
|
deviceId |
Device ID of the device |
|||
deviceModel |
Model name of the device |
|||
Device Parameters are updated |
applicationName |
String
|
Application name |
|
applicationVersion |
Version of the application |
|||
parameters |
Modified parameters of the application. For more details refer to the Device parameters updated sample payload section.
|
|||
Device has rebooted |
rebootType |
String
|
Possible values:
|
|
Device is tampered |
N/A |
N/A |
N/A |
|
EMV Version mismatch |
N/A |
N/A |
N/A |
|
Device Hierarchy is changed |
N/A |
N/A |
N/A |
|
Device Group is changed |
groupId |
String |
Comma separated list of all the Group IDs that the Device belongs to after the change. |
|
New software version available Or An existing software version no more available
|
applicationName |
String |
Name of the package |
|
version |
Package version |
|||
deviceModel |
Comma separated list of device models compatible with the Package. |
|||
softwareType |
Software type of the package, e.g.: Android, Engage, etc. |
|||
status |
status = Updated - a new package is added status = Deleted - an existing package is removed.
|
|||
osType |
Package OS type, e.g., VX, VOS, VOS2, VOS3. |
|||
New hierarchy is added |
parentHierarchyId |
String |
Parent Hierarchy Id of the hierarchy |
|
hierarchyId |
Hierarchy Id of the newly added hierarchy |
|||
Device Group is deleted |
groupId |
String |
Group Id of the deleted Group |
|
Deleted Device is trying to communicate with DMS |
N/A |
N/A |
N/A |
|
Device missing |
N/A |
N/A |
N/A |
|
Device updated |
delta |
Object |
IP Address Change: It's an object that has details of IP Address. |
|
Location Change: It's an object that has details of location. |
How to register for webhook events
To receive notifications on device management related events via webhooks, follow these steps:
- Log a support ticket with Verifone support with these details:
- Organization name
- List of Events
- HTTPS Web endpoint URL to receive the notifications
- Authorization headers to be included (if any)
- Verifone support will help you with the setup.
- You will receive the webhook events at the URL of the Web endpoint.
- You can verify the authenticity and integrity of the webhook event. For more details, read more on the Notifications documentation.
References
Device Status
This section is relevant to Status of Device is Changed event, listing the possible values of newStatus and oldStatus attributes.
The device status can have the following values:
-
Pending Registration: Indicates the device was not registered with the server. When the devices are pre-boarded, by default, the devices are placed in Pending Registration
-
Pending Hierarchy Assignment: Indicates the device is not successfully assigned to hierarchy after the registration. When the device is attached to the incorrect hierarcy or the hierarchy was not assigned during the key exchange process, the device can still be active but will be placed in Pending Hierarchy Assignment status.
-
Active: Indicates the device was successfully registered and assigned to hierarchy and can be used. The device will be in active status once the key exchange is performed successfully.
-
Inactive: Indicates a disabled device. The device is physically present in the system but is not in an active mode.
-
Deleted Devices: Indicates the device was (soft) deleted. On undeleting, the device wiil be placed into its previous status. Note: Permanently deleted devices cannot be undeleted.
Device parameters updated sample payload
The following logical operations can be used to add, update or delete parameters:
-
parameters > Operation = add - indicates that parameters are added. Value indicates the set of newly added parameters.
-
parameters > Operation = update - indicates that parameters are updated. Value indicates the set of updated parameters.
-
parameters > Operation = delete - indicates that parameters are deleted. Value indicates the set of deleted parameters.
{
"CONTENT":{
"applicationName":"com.verifone.settings",
"applicationVersion":"1.0",
"parameters":[
{
"operation":"add",
"value":{
"Merchant":[
{
"MerchantId":"1",
"MerchantSurcharge":[
{
"MaxSurchargeableAmount":"0",
"SurchargeValue":"0",
"MaxSurchargeAdjAmount":"0",
"SurchargeValueInternational":"0"
}
]
}
]
}
},
{
"operation":"update",
"value":{
"Terminal":[
{
"ChipMaxTriesBeforeFallback":"3",
"MsrMaxTriesBeforeFallback":"3",
"SAFEnabled":"1",
"SettlementContinueOnSAFQueueFlushFailure":"0",
"EmvCtlsTerm":[
{
"TerminalType_9F35":"",
"ToneVolume_DF62":""
}
]
}
]
}
},
{
"operation":"delete",
"value":{
"Acquirer":[
{
"AcquirerId":"1"
},
{
"AcquirerId":"2"
}
]
}
}
]
}
}