NOTICE: All information contained herein is, and remains
the property of TechnoCore Automate.
Updated : 2026-03-16
ObjServiceTruValidate integrates with the TransUnion TruValidate
API for identity verification — PEP (Politically Exposed Persons)
screening, sanctions list checking, and watchlist monitoring.
All configuration (solution set name, table names, FCRA categories,
bloom table names) is read from ObjServiceTruValidate.yaml so
the service is package-agnostic. Credentials are stored in the
def_truvalidate_credentials database table.
settings:
solution_set_name: "TSO_FullHouse1_AGSS"
solution_set_version: "2"
external_application_id: "SDKApp02"
message_type: "P"
service_input_queue: "TSO_ServiceInput"
fcra_categories:
- "ALLPP"
- "ALLWL"
bloom_tables:
fcra_detail: "bloom_truvalidate_fcra_detail"
fcra_results: "bloom_truvalidate_fcra_results"
org_result: "bloom_truvalidate_org_result"
org_details: "bloom_truvalidate_org_details"
application_table: "data_application"
error_table: "data_error_truvalidate"
| Setting | Description |
|---|---|
solution_set_name |
TransUnion solution set identifier |
solution_set_version |
Solution set version |
external_application_id |
External app ID for TransUnion |
message_type |
Application message type (P=production) |
service_input_queue |
TransUnion queue name |
fcra_categories |
FCRA search categories (ALLPP=PEP, ALLWL=Sanctions, ALMKC=AML/KYC) |
bloom_tables |
Bloom storage table names for results |
application_table |
Source table for applicant data |
error_table |
Error logging table |
Credentials are stored in def_truvalidate_credentials:
| Column | Description |
|---|---|
| Username | TransUnion API username |
| Password | TransUnion API password |
| Url | TruValidate API base URL |
| GrantType | OAuth grant type |
| Package | Axion package |
1. get_access_token()
→ POST {url}/Token (OAuth bearer token)
2. start_application()
→ POST {url}/applications (create application)
→ returns ApplicationId
3. search_fcra(application_id, category)
→ POST {url}/applications/{id}/queues/{queue}
→ PEP/sanctions/watchlist results
→ bloom to fcra_detail + fcra_results
4. organisation_search(application_id, org_name)
→ POST {url}/applications/{id}/queues/{queue}
→ organisation watchlist results
→ bloom to org_result + org_details
Obtains OAuth bearer token from TransUnion.
Creates a new TransUnion application. Returns
(ApplicationId, SolutionSetInstanceId, CurrentQueue).
Runs FCRA watchlist/PEP search for a category. Stores
results via bloom_table_data_structure.
Runs organisation watchlist search. Stores results
via bloom.
Full verification flow — get token, then run all configured
FCRA categories. Returns status string.
Extract date of birth from 13-digit SA ID number.
Returns YYYY-MM-DD.
| Code | Description |
|---|---|
| ALLPP | PEP (Politically Exposed Persons) |
| ALLWL | All Sanctions Lists |
| ALMKC | Anti Money Laundering / Know Your Customer |
Results are stored via the bloom_table_data_structure pattern:
| Bloom Table | Content |
|---|---|
bloom_truvalidate_fcra_detail |
Individual PEP/sanctions matches |
bloom_truvalidate_fcra_results |
Aggregated FCRA results per category |
bloom_truvalidate_org_result |
Organisation watchlist summary |
bloom_truvalidate_org_details |
Organisation match details |
Errors are logged to data_error_truvalidate.
| Command | Context Keys | Result Key |
|---|---|---|
verify |
guid, param1 |
_truvalidate_result |
org_search |
guid, org_name |
_truvalidate_result |
parse_dob |
id_number |
_truvalidate_result |
# Run full FCRA verification
python ObjServiceTruValidate.py verify "app-guid-123"
# Organisation watchlist search
python ObjServiceTruValidate.py org-search "app-guid-123" --org-name "CompanyXYZ"
# Parse date of birth from SA ID
python ObjServiceTruValidate.py parse-dob "6912145059085"
from ObjServiceTruValidate import ObjServiceApi
svc = ObjServiceApi()
# Full verification
result = svc.run_verification("application-guid")
print(result)
# Parse SA ID
dob = svc.parse_dob_from_id("6912145059085")
print(f"DOB: {dob}") # 1969-12-14
Updated : 2026-03-16
cythonize -3 -a -i ObjServiceTruValidate.py
Compiling /home/axion/projects/axion/factory.service/package.core/ObjServiceTruValidate.py because it changed..[1/1] Cythonizing /home/axion/projects/axion/factory.service/package.core/ObjServiceTruValidate.py
Updated : 2026-03-16