ContactCenterComplianceAPI 2.0.0
dotnet add package ContactCenterComplianceAPI --version 2.0.0
NuGet\Install-Package ContactCenterComplianceAPI -Version 2.0.0
<PackageReference Include="ContactCenterComplianceAPI" Version="2.0.0" />
<PackageVersion Include="ContactCenterComplianceAPI" Version="2.0.0" />
<PackageReference Include="ContactCenterComplianceAPI" />
paket add ContactCenterComplianceAPI --version 2.0.0
#r "nuget: ContactCenterComplianceAPI, 2.0.0"
#addin nuget:?package=ContactCenterComplianceAPI&version=2.0.0
#tool nuget:?package=ContactCenterComplianceAPI&version=2.0.0
Package to interface and use the available API endpoints of Contact Center Compliance. Usage requires an account with Contact Center Compliance.
See www.dnc.com to sign up.
API Consumption App Reference
https://github.com/KentAguilarCCC/ContactCenterComplianceAPI_SampleApp
Getting Started
- Import the ContactCenterCompliance API packages from NuGet.
- Reference ContactCenterCompliance namespace in your program, eg "using ContactCenterCompliance;"
- Instantiate the CCCApi class indicating your API key → var client = new CCCApi("--- API Key ---");
Scrubbing a Phone Number or Multiple Phone Numbers
CCCApi client = new CCCApi("--- API Key ---");
//sample phone numbers
List<string> shortPhoneNumberList = new List<string>() {
"6234928976",
"9545031806",
"2675466417"
};
List<ScrubResponse> scrubResponseList = client.Scrub(shortPhoneNumberList, "ProjectID");
Litigator Only Scrub
CCCApi client = new CCCApi("--- API Key ---");
//sample phone numbers
List<string> shortPhoneNumberList = new List<string>() {
"6234928976",
"9545031806",
"2675466417"
};
List<LitigatorResponse> litigatorResponseList = client.LitigatorScrub(shortPhoneNumberList)
Project Settings
- Creating a project using project id and project name
CCCApi client = new CCCApi("--- API Key ---");
Project project = client.CreateProject("ProjectID", "ProjectName")
- Deactivate a project using project id
CCCApi client = new CCCApi("--- API Key ---");
Project project = client.DeactivateProject("ProjectID")
- Enumerating projects using a project id
CCCApi client = new CCCApi("--- API Key ---");
Project project = client.EnumerateProjects("ProjectID")
Add to or Delete from Internal DNC List
- Given the following initiated routines:
CCCApi client = new CCCApi("--- API Key ---");
//sample phone numbers
List<string> shortPhoneNumberList = new List<string>() {
"6234928976",
"9545031806",
"2675466417"
};
- Adding of IDNC with phone number list and project id
client.AddIDNC(shortPhoneNumberList, "ProjectID");
- Removing IDNC with phone number list and project id
client.RemoveIDNC(shortPhoneNumberList, "ProjectID");
- Getting IDNC count using a project id
IDNCDetail idncDetail = client.GetIDNCCount("ProjectID");
- Getting IDNC status using phone number list and project id
List<IDNCStatus> idncStatusList = client.GetIDNCStatus(shortPhoneNumberList, "ProjectID");
Add to EBR List
- Given the following initiated routes:
CCCApi client = new CCCApi("--- API Key ---");
//sample ebr list
static List<Ebr> ebrList = new List<Ebr>() {
new Ebr{
PhoneNo = "7272046008",
DateOfLastContact = DateTime.Parse("2011-06-14"),
Type = EbrType.Sale
},
new Ebr{
PhoneNo = "8773404100",
DateOfLastContact = DateTime.Parse("2011-07-02"),
Type = EbrType.Inquiry
}
};
//sample phone numbers
List<string> shortPhoneNumberList = new List<string>() {
"6234928976",
"9545031806",
"2675466417"
};
- Adding EBR List with project id
client.AddEBR(ebrList, "ProjectID");
- Scrubbing Phone Numbers and adding EBR List with project and campaign id
List<ScrubResponse> scrubResponseList = client.ScrubPlusAddEBR(shortPhoneNumberList, ebrList, "ProjectID", "CampaignID");
On-demand processing for SFTP Uploads
- Notify if SFTP Upload is complete
CCCApi client = new CCCApi("--- API Key ---");
client.NotifyOfSFTPComplete();
TCPA Reassigned ID aka Identity Verification
CCCApi client = new CCCApi("--- API Key ---");
Reassigned reassigned = new Reassigned {
PhoneNumber = "2012001362",
FirstName = "FirstName",
LastName = "LastName",
Address1 = "Address1",
Address2 = "",
City = "New Jersey",
State = "NJ",
PostalCode = "007302",
ConsentDate = DateTime.Now,
ReferenceId = "ReferenceId"
};
ReassignedIDResponse reassignedIDResponse = client.ReassignedID(reassigned);
Residential or Business Phone Number Identification
CCCApi client = new CCCApi("--- API Key ---");
ResOrBusinessResponse resOrBusinessResponse = client.ResOrBusiness("7072842774");
ID Premium
CCCApi client = new CCCApi("--- API Key ---");
IDPremiumResponse idPremiumResponse = client.IDPremium("7072842774");
TCPA Reassigned Authority
- Check if a phone number was reassigned after a specific date.
- TCPA Reassigned Authority is our best method to check if a phone was reassigned and uses the most comprehensive data source going back further than RND.
var client = new CCCApi("--- API Key ---");
var dateOfConsent = DateTime.Parse("09/22/2020");
var response = client.ReassignedAuthority("7072390222", dateOfConsent);
if (response.IsReassigned == true)
{
Console.WriteLine("Phone number was reassigned after consent date. Do not call the phone's owner is likely different than the person that gave you consent to call.");
}
else
{
Console.WriteLine("Phone number was NOT reassigned after consent date. Okay to call if following all other applicable laws");
}
Console.ReadLine();
RND Basic
RND Basic returns if a mobile telephone number has been reassigned after a given date based on
the FCC Reassigned Number Database. The FCC Reassigned Number Database only has complete
data after January 27, 2021, so most numbers with dates prior to January 27, 2021 will be returned
with a null value in IsReassigned
indicating insufficient data.
Below are the fields returned for each phone number:
IsReassigned
- boolean field indicating if the phone was reassigned or not.true
indicates reassigned after the date;false
indicates not reassigned. Anull
value indicates insufficient information to determine if reassigned. Iftrue
, the caller should not call the number. The output is the value from the FCC Reassigned Number database.HasSafeHarbor
- boolean field indicating if an FCC safe harbor exemption may be available.
var client = new CCCApi("--- API Key ---");
var phonesAndDates = new List<BasicRNDRequestDTO>()
{
new BasicRNDRequestDTO()
{
PhoneNumber = "5039367187",
Date = DateTime.Parse("2021-10-14")
},
new BasicRNDRequestDTO()
{
PhoneNumber = "7075276405",
Date = DateTime.Parse("2021-11-22")
}
};
var results = client.RNDBasic(phonesAndDates);
foreach (var result in results)
{
Console.WriteLine("PhoneNumber={0} IsReassigned={1} HasSafeHarbor={2}", result.PhoneNumber, result.IsReassigned, result.HasSafeHarbor);
}
Enhanced RND
Enhanced RND returns if a mobile telephone number has been reassigned after a given date. It is based on a combination of authoritative data provided from mobile phone carriers since July 2018 and the FCC Reassigned Number Database. By combining CCC’s authoritative data plus the FCC Reassigned Number Database the most accurate response as to if a phone number is safe to call is provided. The FCC Reassigned Number Database does not have any data prior to January 27, 2021 whereas CCC’s reassigned data goes back to July 2018. CCC’s reassigned data is updated daily whereas the FCC Reassigned data is updated once per month.
Below are the fields returned for each phone number:
IsReassigned
- boolean field indicating if the phone was reassigned or not.true
indicates reassigned after the date;false
indicates not reassigned. Anull
value indicates insufficient information to determine if reassigned.If true, the caller should not call the number.
The output is the combined value of the FCC Reassigned Number database plus CCC’s internal data provided by mobile phone companies thus the most accurate response is provided. CCC internal data is updated daily while the FCC Reassigned Number data is only updated once per month. CCC’s internal data also goes back to July 2018 whereas the FCC data only goes back to October 15th 2021.
HasSafeHarbor
- boolean field indicating if an FCC safe harbor exemption may be available.CCCIsReassigned
- boolean field indicating whether CCC’s internal data from mobile phone carriers determine if the phone has been reassigned or not. This is for informational purposes. The IsReassigned field is what should be used to determine if to place the call.
var client = new CCCApi("--- API Key ---");
var phonesAndDates = new List<EnhancedRNDRequestDTO>()
{
new EnhancedRNDRequestDTO()
{
PhoneNumber = "5039367187",
Date = DateTime.Parse("2021-10-14")
},
new EnhancedRNDRequestDTO()
{
PhoneNumber = "7075276405",
Date = DateTime.Parse("2021-11-22")
}
};
var results = client.RNDEnhanced(phonesAndDates);
foreach (var result in results)
{
Console.WriteLine("PhoneNumber={0} IsReassigned={1} HasSafeHarbor={1} CCCIsReassigned={2}",
result.PhoneNumber, result.IsReassigned, result.HasSafeHarbor, result.CCCIsReassigned);
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- CsvHelper (>= 28.0.1)
- Newtonsoft.Json (>= 13.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.