- DarkLight
Compliance Check
- DarkLight
Overview
The ComplianceCheck API performs compliance validations based on input parameters, including campaign metadata and contact-specific identifiers. It supports checks for Green Zone compliance, state law restrictions, and voicemail eligibility.
Pre-requisite
The Agent must be on an active call or logged in to the application.
Sequence Diagram
.png?sv=2022-11-02&spr=https&st=2026-04-24T07%3A58%3A01Z&se=2026-04-24T08%3A08%3A01Z&sr=c&sp=r&sig=1AsR6QbcKZJl344ABzAQTjArKeKE%2B4J6SkhJf5BTJqw%3D)
Message Structure
Request Parameters | Value |
|---|---|
Channel | LCM |
topic | Webservice |
subtopic | ComplianceCheck |
data | JSON object |
Data Parameters
Parameter | Mandatory | Data Type | Description |
|---|---|---|---|
campaignname | Yes | string | This is the name of the campaign. It identifies which campaign the compliance checks are performed for. |
greenzonecheck | Yes | boolean | This is to indicate a green zone check. When set to true, the system checks if the contact’s local time is within the allowed dialing window. |
statelawcheck | Yes | boolean | This is to indicate a state law check. When set to true, the system checks if the contact’s state permits dialing and applies compliance rules. |
voicemailcheck | Yes | boolean | This is to indicate a voicemail check. When set to true, the system checks if voicemail is allowed for the active mode and applies voicemail rules. It requires statelawcheck to be true. |
contacts | Yes | JSON Object | This is the array of contact records. The system performs compliance checks on each contact in the array. |
Contact Parameters
Parameter | Mandatory | Data Type | Description |
|---|---|---|---|
requestid | Yes | string | This is a unique identifier for the request. The client sends it and the system includes it in the response. |
lcmkey | Yes | string | This is a key generated by Acqueon. It helps identify the contact or campaign record related to the request. |
uniqueid1 | No | string | This is the first custom identifier for the contact. It helps match contact records for compliance validation. |
uniqueid2 | No | string | This is the second custom identifier for the contact. It helps match contact records for compliance validation. |
uniqueid3 | No | string | This is the third custom identifier for the contact. It helps match contact records for compliance validation. |
commonfield1 | No | string | This is an additional identifier field. The system uses it during rule execution for compliance validation. |
commonfield2 | No | string | This is another optional identifier field. The system uses it during compliance rule execution. |
primaryzipcode | No | string | This is the main zip code of the contact. It helps determine time zone and state for location-based compliance checks. |
additionalzipcodes | No | string | This is a comma-separated list of extra zip codes. The system uses these to help identify state and time zone. |
state | No | string | This is the state of the contact. The system uses it to perform regional compliance checks. |
contactTimeZone | No | string | This is the contact’s time zone. It helps determine whether the current time allows for a compliant interaction. |
activeMode | Yes | string | This is the selected communication mode such as Home, Mobile, or Office. It is used in green zone, state law, and voicemail checks. |
ModeInfo Parameters
Parameter | Mandatory | Data Type | Description |
|---|---|---|---|
channel | Yes | string | This is the name of the communication channel such as Voice or SMS. It indicates how the contact will be reached. |
mode | Yes | string | This is the name of the communication mode such as Home or Mobile. It helps identify the type of interaction. |
modevalue | Yes | string | This is the actual phone number or value for the mode. The system checks this against state-specific compliance rules. |
modeareacode | Yes | string | This is the area code of the phone number used in the mode. It helps determine the contact's location and time zone. |
modezipcode | Yes | string | This is the zip code of the phone number used in the mode. It helps identify time zone and region for compliance validation. |
Response Parameters
Parameter | Mandatory | Data Type | Description |
|---|---|---|---|
status | No | string | The status of the API request. Possible values: Success indicates the request was processed, Failure indicates there was an error. |
contacts | No | array of JSON data type | List of contacts evaluated in the compliance response. Each contact contains requestid and result. |
Contacts Parameters
Parameter | Mandatory | Data Type | Description |
|---|---|---|---|
requestid | Yes | string | The unique ID received in the request. It is echoed back in the response to match with the original request. |
result | Yes | object | Contains compliance check results for each contact. Includes green zone, state law, and voicemail checks. |
campaignhoursCheck | Yes | boolean | Indicates whether the current time is within the campaign's configured working hours. Possible values: true or false. |
greenzonecheck | Yes | boolean | Indicates whether the contact passes the green zone check across identified time zones. Possible values: true or false. |
statelawcheck | Yes | boolean | Indicates whether the contact passes the state law check, including compliance rule validation. Possible values: true or false. |
failedrulename | Yes | string | Name of the compliance rule that failed. Returned only if statelawcheck is false. |
failedcompliancegroupname | Yes | string | Name of the compliance group that failed. Returned only if statelawcheck is false. |
faileddescription | Yes | string | Description of the failure reason, such as calling time restriction. Returned only if statelawcheck is false. |
voicemailcheck | Yes | boolean | Indicates whether the contact passes the voicemail check. Possible values: true or false. |
limited | Yes | boolean | Indicates whether the system is allowed to leave a limited voicemail based on compliance rules. Possible values: true or false. |
nonlimited | Yes | boolean | Indicates whether the system is allowed to leave a non-limited voicemail based on compliance rules. Possible values: true or false. |
expiryTime | Yes | DateTime | Time until which the compliance check is valid. After this time, a revalidation is required. Format: YYYY-MM-DDTHH:mm:ssZ (such as, 2025-04-10T16:30:00Z). |
Sample Request
{
"campaignname": "",
"greenzonecheck": true,
"statelawcheck": false,
"voicemailcheck": false,
"contacts": [
{
"requestid": "98bcb0de-251f-4387-a278-55310d27c9c8",
"lcmkey": "",
"uniqueid1": "",
"uniqueid2": "",
"uniqueid3": "",
"commonfield1": "",
"commonfield2": "",
"primaryzipcode": "",
"additionalzipcode": "",
"state": "",
"contacttimezone": "",
"activemode": "Home",
"modeinfo": [
{
"channel": "Voice",
"mode": "Home",
"modevalue": "9841357425",
"modeareacode": "34",
"modezipcode": "72"
}
]
}
]
}Sample Response
{
"d": {
"status": "success"
"contacts": [
{
"requestid": "98bcb0de-251f-4387-a278-55310d27c9c8",
"result": {
"greenzone": {
"campaignhourscheck": false,
"blockcheck": false,
"greenzonecheck": false
},
"statelaw": {
"statelawcheck": false,
"reasoncode": "",
"failedrulename": "",
"failedcompgrpname": "",
"faileddescription": ""
},
"voicemail": {
"voicemailmheck": false,
"limited": true,
"nonlimited": false
},
"expirytime": ""
}
}
]
}
}