API Documentation

Transact Comply offers a transaction monitoring platform with an API-style output tailored for developer documentation. It enables users to analyze and evaluate transactions to detect suspicious activity using flexible scenarios and a comprehensive rule library. This document provides an overview of the API, authentication process, details on Transact Comply API usage, sample request and response structures, and specifications of data fields.

API Overview

The Transact Comply API is designed to seamlessly integrate with third-party platforms, providing comprehensive transaction monitoring functionalities across various use cases.

The aim is to enable transaction monitoring functions in partners platform where monitoring can be done for single or multiple entities (via batch upload) for individuals and organizations..

Please contact us for API related information.

API displayed in the documentation is for representation purpose.

Authentication

It follows standard OAuth2.0 architecture for authentication and authorization. OAuth is a delegated authorization framework for REST/APIs. It enables apps to obtain limited access (scopes) to a user's datawithout giving away a user's password. It decouples authentication from authorization and supports multiple use cases addressing different device capabilities.

Base URL: https://api.transactcomply.com/tmprocessor/tp/

End point : GetToken

Content-Type : application/x-www-form-urlencoded

Method: POST

Example Request

                                
{
    "username": "abc@123",
    "password": "123456",
    "grant_type": "client_credentials"
}
                            
Example Response:

                                
{
    "token": 
    {
        "access_token": "***************************************",
        "expires_in": 240,
        "token_type": "Bearer"
    }
}
                            
Transact Comply API

Base URL: https://api.transactcomply.com/tmprocessor/tp/

End point : TransactionProcessorAPI

Method: POST

Authentication: access token recieved from authentication API

Example Request

    
{
    "projectId": 1,
    "transaction_details": {
        "transaction_id": "TRN-122",
        "transaction_date": "14-04-2024",
        "transaction_time": "11:22:04:021",
        "type": "Deposit",
        "mode_of_payment": "Cash deposit",
        "status": "Completed",
        "channel": "MOBILE",
        "purpose": "Arms trafficking",
        "sender_transaction_amount": "1010010",
        "sender_transaction_country": "India",
        "sender_transaction_currency": "INR",
        "receiver_transaction_amount": "20202",
        "receiver_transaction_country": "India",
        "receiver_transaction_currency": "INR",
        "quantity": null,
        "price_per_unit": null,
        "scrip_Code": null,
        "scrip_id": null,
        "CrrEntityId": null,
        "CrrProjectId": 0
    },
    "entity_details": [
        {
        "entity_id": 0,
        "entity_cd": "ETRN-122",
        "entity_role": "Sender/Receiver",
        "type": "Individual",
        "name": "Sanyam Gill",
        "alias": null,
        "city": "Indore",
        "state": "Madhya Pradesh",
        "country": "India",
        "residence": null,
        "date_of_birth": null,
        "month_of_birth": null,
        "year_of_birth": null,
        "email": "sanyam123@gmail.com",
        "phone_number": "9645965667",
        "gender": "Male",
        "sector": "Hotels",
        "status": "Active",
        "date_of_registration": 12,
        "month_of_registration": 5,
        "year_of_registration": 2023,
        "cin": null,
        "din": null,
        "passport_number": null,
        "bank_name": "Bank of Madhya Pradesh",
        "account_number": "45678901289",
        "account_type": "Savings",
        "nationality": "India",
        "risk_profile": null,
        "ip_address": null,
        "device": "HP",
        "bank_country": "India",
        "bank_bic": null,
        "bank_iban": null,
        "annual_income_currency": null,
        "annual_income_amount": null,
        "annual_net_worth_currency": null,
        "annumal_net_worth_amount": null,
        "vpa_id": null
        }
    ]
}
Example Response:


{
    "isSuccess": false,
    "message": null,
    "transactionid": "TRN-122",
    "entityid": null,
    "batchId": 0,
    "monitoringstatus": "Flag",
    "MonitoredOn": "2024-12-19T10:39:56.077972+00:00",
    "TransactionMonitoringStatus": null,
    "SenderMonitoringStatus": "Flag",
    "ReceiverMonitoringStatus": "Flag",
    "TransactionMonitoringResultModels": 
    [{
        "RunId": 149,
        "MonitoringStatus": "Pass",
        "RuleSettings": "{\"ProjectId\":11,\"RuleId\":\"TMR4\",\"RuleName\":\"High-Risk Jurisdiction Transactions\",\"Description\":\"Transactions involving high-risk jurisdictions\",\"RuleType\":\"live\",\"Settings\":\"{\\\"action\\\": \\\"Flag\\\", \\\"default\\\": \\\"Pass\\\", \\\"defaultaction\\\": \\\"Pass\\\", \\\"threshold_amount\\\": 100000}\",\"RuleCd\":\"rule_high_risk_transaction_country\",\"Category\":\"Country\",\"Class\":\"transaction\",\"DisplayName\":\"High-Risk Jurisdiction Transactions\",\"RuleBuilderJson\":null,\"userid\":0}",
        "CheckResult": "{\"timestamp\":\"02-05-2024 01:16:08GMT\"}",
        "CheckCounts": 0
    }],
    "EntitesMonitoringResultModels": 
    [{
        "RunId": 149,
        "EntityId": 2,
        "MonitoringStatus": "Pass",
        "RuleSettings": "{\"ProjectId\":11,\"RuleId\":\"SCR2\",\"RuleName\":\"Politically Exposed Persons\",\"Description\":\"Name is a High Match against Politically Exposed Perosn List\",\"RuleType\":\"live\",\"Settings\":\"{\\\"action\\\": \\\"Flag\\\", \\\"default\\\": \\\"Pass\\\", \\\"fuzziness\\\": \\\"0.1\\\", \\\"defaultaction\\\": \\\"Pass\\\", \\\"confidencescore\\\": {\\\"nomatch\\\": 0, \\\"lowmatch\\\": 75, \\\"exactmatch\\\": 90}, \\\"threshold_amount\\\": 0}\",\"RuleCd\":\"rule_name_match_peps\",\"Category\":\"Name Based\",\"Class\":\"name_matching\",\"DisplayName\":\"Politically Exposed Persons\",\"RuleBuilderJson\":null,\"userid\":0}",
        "CheckResult": "[{\"RuleApplied\":null,\"Priority\":null,\"MatchStatus\":\"No Hit Found\",\"ConfidenceScore\":0.0,\"GivenId\":\"ETSN-122\",\"GivenName\":\"Sanyam Gill\",\"MatchedUID\":null,\"MatchedName\":null,\"Timestamp\":\"02-05-2024 01:16:08GMT\",\"MatchingCriteria\":\"PEPs\"}]",
        "CheckCounts": 0
    }]
}
Data Field Details
Data Field - Transaction
Datafield Name Type Required Length Single Multiple Description
quantity int Yes Yes Transaction
price_per_unit int Yes Yes Transaction
scrip_Code string Yes varchar(max) Yes Transaction
scrip_id string Yes varchar(max) Yes Transaction
scrip_id string Yes varchar(max) Yes Transaction
transaction_id string Yes varchar(max) Yes Transaction
transaction_date string Yes varchar(max) Yes Transaction
transaction_time string Yes varchar(max) Yes Transaction
type string Yes varchar(max) Yes Transaction
mode_Of_Payment string Yes varchar(max) Yes Transaction
status string Yes varchar(max) Yes Transaction
channel string Yes varchar(max) Yes Transaction
purpose string Yes varchar(max) Yes Transaction
sender_transaction_amount string Yes varchar(max) Yes Transaction
sender_transaction_country string Yes varchar(max) Yes Transaction
sender_transaction_currency string Yes varchar(max) Yes Transaction
receiver_transaction_amount string Yes varchar(max) Yes Transaction
receiver_transaction_country string Yes varchar(max) Yes Transaction
receiver_transaction_currency string Yes varchar(max) Yes Transaction
Data Field - Entity
Datafield Name Type Required Length Single Multiple Description
passport_number string No varchar(20) Yes Entities
nationality string No varchar(50) Yes Entities
risk_Profile string No varchar(50) Yes Entities
ip_address string No varchar(50) Yes Entities
device string No varchar(100) Yes Entities
bank_country string Yes varchar(max) Yes Entities
date_of_birth int32 No 2 Yes Entities
month_of_birth int32 No 2 Yes Entities
year_of_birth int32 No 4 Yes Entities
phone_number string No varchar(20) Yes Entities
bank_name string No varchar(100) Yes Entities
annual_income_currency string No varchar(20) Yes Entities
annual_income_amount int No Yes Entities
annual_net_worth_currency string No varchar(max) Yes Entities
annumal_net_worth_amount int No Yes Entities
entity_id int32 Yes varchar(max) Yes Entities
entity_Role string Yes varchar(max) Yes Entities
type string Yes varchar(50) Yes Entities
CIN string No 27 Yes Entities
DIN string No 15 Yes Entities
name string Yes varchar(1000) Yes Entities
alias string No varchar(1000) Yes Entities
city string No varchar(100) Yes Entities
state string No varchar(100) Yes Entities
country string Yes varchar(100) Yes Entities
residence string No varchar(100) Yes Entities
email string No varchar(100) Yes Entities
gender string No varchar(10) Yes Entities
sector string No varchar(100) Yes Entities
status string No varchar(50) Yes Entities
date_of_Registration int32 No 2 Yes Entities
month_of_Registration int32 No 2 Yes Entities
year_of_Registration int32 No 4 Yes Entities
account_number string No varchar(50) Yes Entities
account_type string No varchar(50) Yes Entities
bank_BIC string No varchar(max) Yes Entities
bank_IBAN string No varchar(max) Yes Entities
HTTP Response Code Description
Code Response Description
401 Error: response status is 401 The token expired
400 Bad request Invalid Type. Type can only be either Individual, Organization, Vessels or All.
408 Request Timeout Error The server did not receive a complete request from the client within the server's allotted timeout period.
409 Too Many Requests The user has sent too many requests
500 Internal Server Error The server has encountered a situation that it does not know how to handle
504 Gateway Timeout The server is acting as a gateway and cannot get a response in time for a request.
200 Ok Request recieved