SDKs overview
Complete Criminal Checks offers software development kits (SDKs) and libraries designed to facilitate the integration of its background check services into various software applications. These tools abstract the complexity of direct API interactions, providing language-specific interfaces for common tasks such as submitting new check requests, retrieving results, and managing applicant data. The primary goal of these SDKs is to reduce development time and effort by handling authentication, data serialization, and error handling according to the Complete Criminal Checks API specifications. Developers can utilize these resources to embed criminal record searches, sex offender registry queries, and other screening functionalities directly into their platforms without needing to manage raw HTTP requests and responses.
The SDKs are typically maintained by Complete Criminal Checks itself, ensuring compatibility with the latest API versions and features. Community-contributed libraries may also exist, offering alternative implementations or support for additional programming languages. Adherence to standards like the Fair Credit Reporting Act (FCRA) is a key aspect of background check services, and integrating via official SDKs can help ensure that data handling and reporting align with regulatory requirements, as noted by organizations like the Consumer Financial Protection Bureau regarding FCRA compliance.
For detailed information on the available services and their pricing structure, developers can refer to the Complete Criminal Checks pricing page. The platform's core offerings include various types of criminal searches and motor vehicle records, enabling comprehensive background screening for use cases such as pre-employment and tenant screening.
Official SDKs by language
Complete Criminal Checks provides official SDKs to support direct integration with their API. These SDKs are developed and maintained by Complete Criminal Checks to ensure full compatibility with the platform's features and to provide a consistent development experience. Each SDK is tailored to a specific programming language, offering idiomatic interfaces and handling underlying API communication details.
The following table outlines the official SDKs available, including their respective programming languages, package names, typical installation commands, and current maturity levels. Developers are encouraged to consult the Complete Criminal Checks developer documentation for the most up-to-date information regarding SDK versions and specific feature support.
| Language | Package Name | Install Command | Maturity |
|---|---|---|---|
| Python | completecriminalchecks-python |
pip install completecriminalchecks-python |
Stable |
| Node.js | @completecriminalchecks/node |
npm install @completecriminalchecks/node |
Stable |
| PHP | completecriminalchecks/php-sdk |
composer require completecriminalchecks/php-sdk |
Stable |
These SDKs are designed to manage API authentication, request serialization, and response deserialization, simplifying the process of interacting with the Complete Criminal Checks API. They typically follow standard practices for their respective language ecosystems, such as using pip for Python or npm for Node.js, making them familiar to developers in those environments.
Installation
Installing the Complete Criminal Checks SDKs involves using the standard package managers for each supported programming language. The process is designed to be straightforward, allowing developers to quickly add the necessary libraries to their projects.
Python SDK Installation
To install the Python SDK, use pip, the Python package installer. Ensure you have Python and pip installed on your system.
pip install completecriminalchecks-python
After installation, you can import the library into your Python scripts:
import completecriminalchecks
Node.js SDK Installation
For Node.js projects, use npm (Node Package Manager) or yarn to install the SDK. Navigate to your project directory in the terminal.
npm install @completecriminalchecks/node
Or, if using Yarn:
yarn add @completecriminalchecks/node
You can then require or import the module in your JavaScript/TypeScript files:
// CommonJS
const CompleteCriminalChecks = require('@completecriminalchecks/node');
// ES Modules
import CompleteCriminalChecks from '@completecriminalchecks/node';
PHP SDK Installation
The PHP SDK is installed via Composer, the dependency manager for PHP. Ensure Composer is installed globally on your system.
composer require completecriminalchecks/php-sdk
After running this command, Composer will generate an autoloader file. Include this file in your PHP scripts:
<?php
require 'vendor/autoload.php';
use CompleteCriminalChecks\Client;
// Your code here
?>
Proper installation ensures that all necessary dependencies are resolved and the SDK classes are available for use within your application, enabling seamless interaction with the Complete Criminal Checks API.
Quickstart example
This quickstart example demonstrates how to initiate a national criminal database search using the Python SDK. This process typically involves initializing the client with your API key, specifying the applicant's details, and then making the request. The example assumes you have already installed the completecriminalchecks-python package.
Python Quickstart
First, ensure you have your API key. You can typically find this in your Complete Criminal Checks account dashboard.
import completecriminalchecks
# Replace with your actual API key
API_KEY = 'YOUR_API_KEY_HERE'
# Initialize the client
client = completecriminalchecks.Client(api_key=API_KEY)
try:
# Define the parameters for the national criminal check
# This example uses minimal required fields. Consult API documentation for all options.
check_params = {
'first_name': 'John',
'last_name': 'Doe',
'date_of_birth': '1985-01-15',
'address': '123 Main St',
'city': 'Anytown',
'state': 'CA',
'zip_code': '90210',
'email': '[email protected]' # Email is often used for applicant notification
}
# Request a national criminal database search
print("Initiating national criminal check for John Doe...")
result = client.criminal_checks.national_database_search(check_params)
# Process the result
if result.status == 'pending':
print(f"Check initiated successfully. Status: {result.status}. Check ID: {result.check_id}")
print("Results will be available shortly. You can poll the API or use webhooks.")
elif result.status == 'complete':
print(f"Check completed. Check ID: {result.check_id}")
print("Summary:")
print(f" Criminal Records Found: {result.data.criminal_records_found}")
# Access detailed criminal records if available
if result.data.criminal_records:
for record in result.data.criminal_records:
print(f" Case: {record.case_number}, Offense: {record.offense_description}, Date: {record.offense_date}")
else:
print(f"Check status: {result.status}. Message: {result.message}")
except completecriminalchecks.exceptions.APIError as e:
print(f"API Error: {e.status_code} - {e.message}")
except Exception as e:
print(f"An unexpected error occurred: {e}")
This example demonstrates the basic flow: client initialization, defining check parameters, making the API call, and handling the response. Real-world applications would include more robust error handling, asynchronous processing (e.g., webhooks for result notification), and potentially storing the check_id for later retrieval of results. For comprehensive details on all available parameters and response structures, refer to the official API documentation.
Community libraries
While Complete Criminal Checks provides official SDKs for Python, Node.js, and PHP, the developer community may also contribute unofficial libraries or wrappers for other languages or specific frameworks. These community-driven projects can offer additional flexibility, support for niche use cases, or alternative architectural patterns.
Community libraries are typically found on platforms like GitHub, npm (for JavaScript), PyPI (for Python), or Packagist (for PHP), and are often developed by individual developers or teams who require integration with Complete Criminal Checks in environments not directly supported by official SDKs. For example, a developer building an application in Ruby or Go might create a wrapper that mimics the behavior of the official SDKs, translating API requests and responses into language-specific objects.
When considering a community library, it is important to evaluate its maintenance status, documentation quality, and community support. Key factors include:
- Active Maintenance: Is the library regularly updated to keep pace with API changes?
- Documentation: Is the usage clearly documented, with examples?
- Test Coverage: Does the library have a comprehensive suite of tests?
- Community Support: Are there active discussions or issue trackers for assistance?
- Security Audit: Has the library undergone any security reviews, especially crucial for sensitive data like background check information?
Developers should exercise caution and conduct due diligence when using unofficial libraries, as their stability, security, and long-term support are not guaranteed by Complete Criminal Checks. It is always recommended to check the official Complete Criminal Checks developer resources first for any updates on official SDKs or recommended community projects.
For projects requiring integration with specific frameworks or languages not covered by official SDKs, developers might also consider using generic HTTP client libraries (e.g., requests in Python, axios in JavaScript) to interact directly with the RESTful API endpoints. This approach provides maximum control but requires manual handling of authentication, request formatting, and response parsing, which the SDKs typically automate.