Verify Passcodes
This documentation will describe the Verify Passcodes (XMVERPAS) endpoint. This endpoint is responsible for authenticating contact passcodes. When passcodes are verified the system will write a history event to the corresponding account.
See the Authentication documentation for information on how to obtain the authentication headers within the request.
Use Cases
- Generate history events when passcodes are verified.
Verify Passcode
Confirm a contact’s provided passcode is correct.
Supported Attributes
| Attribute | Type | Required | Description |
|---|---|---|---|
| *setMethod | string | Yes | Determines the endpoint you are calling. Must be XMVERPAS to verify passcodes. |
| ACCOUNT_NUMBER | string | Yes | The subscriber account number (9 character max). This is the account the contact is assigned to. |
| LOOKUP_ACCOUNT | string | Yes | The subscriber account number or other associated account number (linked accounts, dealer accounts, etc). |
| PASSCODE | string | Yes | The passcode or duress code requiring verification (15 chracter max). |
| INVALID_TRIES | non-negative integer | No | The number of times the contact has provided an incorrect code. |
| MESSAGE_CODE | string | Varies | Reason for verifying the passcode. Depending on system flags, this option may be required. |
| FROM_ACTIVE_ALARM | string | No | Determines if the passcode is being verified as part of alarm processing. Accepts TRUE or FALSE.TRUE: Passcode verification is happening while handling an alarm.FALSE: Passcode verification is happening for a different reason. |
Example Request
curl --location "https://example.securemcloud.com/rest/rest.php?dataSource=methods&*view=xmsubmit" \
--header 'X-DICE-APPKEY: {{X-DICE-APPKEY}}' \
--header 'X-DICE-USERNAME: {{X-DICE-USERNAME}}' \
--header 'X-DICE-DATE: {{X-DICE-DATE}}' \
--header 'X-DICE-NONCE: {{X-DICE-NONCE}}' \
--header 'X-DICE-DIGEST: {{X-DICE-DIGEST}}' \
--header 'Accept: application/json' \
--form '*setMethod="XMVERPAS"' \
--form 'ACCOUNT_NUMBER="TEST01"' \
--form 'LOOKUP_ACCOUNT="TEST01"' \
--form 'PASSCODE="55555"' \
--form 'INVALID_TRIES="0"' \
--form 'MESSAGE_CODE="Updating zone list"' \
--form 'FROM_ACTIVE_ALARM="TRUE"'
Example Reponses
Valid Passcode
{
"XMVERPAS": {
"ACTIVATE": "Y",
"STATUS": "VERIFIED",
"PASSCODE_TYPE": "ACCOUNT",
"MESSAGE": "TESTING - LOGIN",
"DEFAULT_LIST_NO": "07",
"CANCEL_ALARM": "Y",
"INSTALLER_TEST": "Y",
"REQUEST_SERVICE": "Y",
"FAX_REPORTS": "Y",
"TEMP_SCHED_CHANGE": "Y",
"DEALER_INFORMATION": "Y",
"RECENT_HISTORY": "Y",
"SPECIAL_INSTRUCTIONS": "Y",
"TEMPORARY_NOTES": "Y",
"PANEL_INFORMATION": "Y",
"SUBS_INFORMATION": "Y",
"PAGING": "Y",
"ZONES_LOOKUP": "Y",
"GROUPING": "Y",
"TEMP_PASSCODES": "N",
"VIEW_CONTACTS": "N",
"LOG_MESSAGE": "N",
"ALL_DATA_ENTRY": "N",
"CUSTOMER_INQUIRY": "N",
"CAN_LOGIN_ELINK": "Y",
"PASSCODE_STATUS": "V",
"DUP_IN_MON": "Operator DGC is monitoring that account or its linked account"
}
}
Invalid Passcode
{
"XMVERPAS": {
"ACTIVATE": "Y",
"STATUS": "INVALID",
"MESSAGE": "INVALID PASSCODE",
"INVALID_COUNT": "INVALID TRIES: 1",
"INVALID_COUNT_NUMBER": "1"
}
}
Response Fields
| Field | Description |
|---|---|
| ACTIVATE | Displays whether or not the account number is currently active within the system. Y: Yes, the account is active. N: No, the account is inactive. |
| STATUS | Displays if the provided passcode was correct. |
| MESSAGE | Displays the definition of the STATUS. |
| DEFAULT_LIST_NO | Displays the identifier assigned to the contact upon creation. |
| CANCEL_ALARM | Displays if the contact is allowed to cancel alarms. |
| INSTALLER_TEST | Displays if the contact is allowed to enable/disable the account. |
| REQUEST_SERVICE | Displays if the contact is allowed to create service requests. |
| FAX_REPORTS | Displays if the contact is allowed to request fax reports. |
| TEMP_SCHED_CHANGE | Displays if the contact is allowed to make changes to temporary schedules. |
| DEALER_INFORMATION | Displays if the contact is allowed to access dealer information. |
| RECENT_HISTORY | Displays if the contact is allowed to access alarm history. |
| SPECIAL_INSTRUCTIONS | Displays if the contact is allowed to access special instructions and permanent notes. |
| TEMPORARY_NOTES | Displays if the contact is allowed to access temporary notes. |
| PANEL_INFORMATION | Displays if the contact is allowed to access panel information. |
| SUBS_INFORMATION | Displays if the contact is allowed to access subscriber information. |
| PAGING | Displays if the contact is allowed to access paging functions. |
| ZONES_LOOKUP | Displays if the contact is allowed to access zone information. |
| GROUPING | Displays if the contact is allowed to access grouped account information. |
| TEMP_PASSCODES | Displays if the contact is allowed to make changes to temporary passcodes. |
| VIEW_CONTACTS | Displays if the contact is allowed to make changes to contacts. |
| LOG_MESSAGE | Displays if the contact is allowed to add messages to history. |
| ALL_DATA_ENTRY | Displays if the contact has access to all account information available within Data Entry. |
| CUSTOMER_INQUIRY | Displays if the contact is allowed to access AR customer inquiry information. |
| PASSCODE_STATUS | Displays if the contact’s passcode is valid for use during the current day and time. |
| DUP_IN_MON | Displays if an operator is currently handling an alarm on this account or one of its linked accounts. |
| INVALID_COUNT | Displays the total number of invalid tries. |
| INVALID_COUNT_NUMBER | Displays the total number of invalid tries. |
Possible Error Messages
No Account
Verify an account number was specified.
{
"XMVERPAS": {
"STATUS": "NO ACCOUNT"
}
}
Invalid Account
Verify the account number is correct.
{
"XMVERPAS": {
"INVALID_ACCOUNT": " 0192475d",
"STATUS": "NO ACCOUNT"
}
}
Invalid Method
Verify you are specifying XMVERPAS as the method.
{
"ERROR_CODE": "999",
"ERROR_DESCRIPTION": "INVALID%20METHOD%20METHOD",
"PROGRAM_ERROR": "11",
"PROGRAM_ERROR_DESCRIPTION": "Missing%20or%20Duplicate%20key",
"ERROR_ON_LINE": "240",
"ADDITIONAL_INFO": "%3CMETHOD_NAME%3EXMVERPA%20%3C%2FMETHOD_NAME%3E"
}