API Docs - AML (Anti Money Laundering)

API Information

Title Anti Money Laundering

Version

v1.0

URL Sandbox

https://sandbox.partner.api.bri.co.id/

URL Production

https://sandbox.partner.api.bri.co.id/

Version Control

Versi Doc Versi API Tanggal Link Dokument Deskripsi

v1.0

v1.0

3 Mei 2024

Halaman Ini

Baseline version

 

Deskripsi Produk

Product Overview

Dokumen ini bertujuan untuk menjelaskan spesifikasi API dari pengembangan fitur Anti Money Laundering yang bertujuan untuk :

  • Proses screening transaksi international berdasarkan watchlist
  • Mengamankan transaksi BRI dari Tindak Pidana Pencucian Uang
  • Menghindari adanya temuan atau denda regulator

Endpoint

A. AML Prescreening

Endpoint Description

API AML Prescreening digunakan untuk melakukan prescreening Nasabah Internasional yang berTransaksi

General Information

HTTP Method POST
Path /v1.0/aml/similarity
Type Format JSON
Authentication OAuth 2.0 with Access Token

Header Structure

Key Value Mandatory Panjang Deskripsi Contoh

Authorization

Bearer {token}

M

N/A

Access Token

 

BRI-Timestamp  timestamp M - ISO 8601 format. Timestamp must be in UTC or GMT +0 timezone.  2021-1008T03:42:45.379Z
BRI-Signature signature M - -  
Content-Type application/json M - -  

Request Structure

Field

Data Type

Mandatory

Panjang

Deskripsi

Contoh

senderName

String

M

 

Sender Name

 

senderIdNumber String M   Sender ID Number  
senderCitizenship String M   Sender Citizenship  
senderPlaceOfBirth String M   Sender Place of Birth  
senderDateOfBirth String M   Sender Date of Birth  
receiverName String M   Receiver Name  
receiverCitizenship String M   Receiver citizenship  
threshold Number M   Threshold  

Response Structure

Field

Data Type

Mandatory

Panjang

Deskripsi

Contoh

statusCode

Number

M

 

Status Code

 

errorCode

String

M

 

Error Code

 

responseCode

String

M

 

Response Code

 

responseMessage String M   Message Response  
errors Array of String M   System error system  
data JSON Object M   Data Response  

Object "data"

Field

Data Type

Mandatory

Panjang

Deskripsi

Contoh

statusPrescreeningCode

String

M

 

Status Prescreening Code

 

statusPrescreeningDesc

String

M

 

Status Prescreening Desc

 

prescreeningMessageCode

String

M

 

Prescreening Message Code

 

prescreeningMessageDesc

String

O

 

Prescreening Message Desc

 

statusDowjonesDataCode

String

 

 

Status Dowjones Data Code

 

statusDowjonesDataDesc

String

 

 

Status Dowjones Data Desc

 

highestScoreSimilarity JSON Object     Highest Score Similarity  
dataInformation JSON Object     Data Information  
validationItem JSON Object     Validation Item  

Object "highestScoreSimilarity"

Field

Data Type

Mandatory

Panjang

Deskripsi

Contoh

sender

JSON Object

M

 

Data Response Sender, see below

 

receiver

JSON Object

M

 

Data Response Receiver, see below

 

Object "highestScoreSimilarity: sender"

Field

Data Type

Mandatory

Panjang

Deskripsi

Contoh

profileId

String

M

 

Profile ID

 

score

String

M

 

Score

 

Object "highestScoreSimilarity: receiver"

Field

Data Type

Mandatory

Panjang

Deskripsi

Contoh

profileId

String

M

 

Profile ID

 

score

String

M

 

Score

 

Object "dataInformation"

Field

Data Type

Mandatory

Panjang

Deksripsi

Contoh

sender

Array of Object

M

 

Data Response Sender, see below

 

receiver Array of Object

M

 

Data Response Receiver, see below

 

Object "dataInformation: sender"

Field

Data Type

Mandatory

Panjang

Deskrispsi

Contoh

profileId

String

M

 

Profile ID

 

fullName String

M

 

Full name

 

gender String M   Gender  
citizenship String M   Citizenship  
dateOfBirth String M   Date of Birth  
placeOfBirth String M   Place of Birth  
score String M   Score  
watchlist Array of Object M   Watchlist, see below  

Object "dataInformation: receiver"

Field

Data Type

Mandatory

Panjang

Deskripsi

Contoh

profileId

String

M

 

Profile ID

 

fullName String

M

 

Full name

 

gender String M   Gender  
citizenship String M   Citizenship  
dateOfBirth String M   Date of Birth  
placeOfBirth String M   Place of Birth  
score String M   Score  
watchlist Array of Object M   Watchlist, see below  

Object "dataInformation: receiver: watchlist"

Field

Data Type

Mandatory

Panjang

Deksripsi

Contoh

profileId

String

M

 

Profile ID

 

watchlist String

M

 

Watchlist

 

crime String M   Crime  
status2 String M   Status 2  

Object "validationItem"

Field

Data Type

Mandatory

Panjang

Deskripsi

Contoh

sender

Array of Object

M

 

Data Response Sender, see below

 

receiver Array of Object

M

 

Data Response Receiver, see below

 

Object "validationItem: sender"

Field

Data Type

Mandatory

Panjang

Deksripsi

Contoh

citizenship

String

M

 

Citizenship

 

placeOfBirth String

M

 

Place of Birth

 

dateOfBirth String M   Date of Birth  

Object "validationItem"

Field

Data Type

Mandatory

Panjang

Deksripsi

Contoh

citizenship

String

M

 

Citizenship

 

placeOfBirth String

M

 

Place of Birth

 

dateOfBirth String M   Date of Birth  

Request & Response Payload Sample

Request :

{
  "senderName": "Farkhad Ataullaevich Akilov",
  "senderIdNumber": "410061",
  "senderCitizenship": "Malaysia",
  "senderPlaceOfBirth": "",
  "senderDateOfBirth": "",
  "receiverName": "A. Alexandru Dan Darabonc",
  "receiverCitizenship": "Indonesia",
  "threshold": 80
}

Normal Response :

{
  "statusCode": 200,
  "errorCode": "000",
  "responseCode": "00",
  "responseMessage": "Success",
  "errors": null,
  "data": {
    "statusPrescreeningCode": "00",
    "statusPrescreeningDesc": "Transaksi Lolos Prescreening",
    "prescreeningMessageCode": "SD-04",
    "prescreeningMessageDesc": "Nama Penerima dan Pengirim terdeteksi mirip dengan list DowJones",
    "statusDowjonesDataCode": "NF",
    "statusDowjonesDataDesc": "Data tidak ditemukan",
    "highestScoreSimilarity": {
      "sender": {
        "profileId": 33862,
        "score": "93.10"
      },
      "receiver": {
        "profileId": 62895,
        "score": "88.00"
      }
    },
    "dataInformation": {
      "sender": [
        {
          "profileId": 33862,
          "fullName": "'farkhad':1 'ataullaevich':1 'akilov':1",
          "gender": "",
          "citizenship": "Uzbekistan",
          "dateOfBirth": "1955-Mar-",
          "placeOfBirth": "Tashkent,Uzbekistan",
          "score": "93.10",
          "watchlist": [
            {
              "profileId": 33862,
              "watchlist": "Politically Exposed Person (PEP)",
              "crime": "",
              "status2": ""
            }
          ]
        },
        {
          "profileId": 33862,
          "fullName": "'farkhad':1 'ataullaevich':1 'akilov':1",
          "gender": "Male",
          "citizenship": "Uzbekistan",
          "dateOfBirth": "1955-Mar-",
          "placeOfBirth": "Tashkent,Uzbekistan",
          "score": "93.10",
          "watchlist": [
            {
              "profileId": 33862,
              "watchlist": "Politically Exposed Person (PEP)",
              "crime": "",
              "status2": ""
            }
          ]
        },
        {
          "profileId": 33862,
          "fullName": "'farkhad':1 'ataullaevich':1 'akilov':1",
          "gender": "",
          "citizenship": "Uzbekistan",
          "dateOfBirth": "1955-Mar-",
          "placeOfBirth": "Tashkent,Uzbekistan",
          "score": "93.10",
          "watchlist": [
            {
              "profileId": 33862,
              "watchlist": "Politically Exposed Person (PEP)",
              "crime": "",
              "status2": ""
            }
          ]
        },
        {
          "profileId": 33862,
          "fullName": "'farkhad':1 'ataullaevich':1 'akilov':1",
          "gender": "Male",
          "citizenship": "Uzbekistan",
          "dateOfBirth": "1955-Mar-",
          "placeOfBirth": "Tashkent,Uzbekistan",
          "score": "93.10",
          "watchlist": [
            {
              "profileId": 33862,
              "watchlist": "Politically Exposed Person (PEP)",
              "crime": "",
              "status2": ""
            }
          ]
        }
      ],
      "receiver": [
        {
          "profileId": 62895,
          "fullName": "'dan':1 'alexandru':1 'darabonc':1",
          "gender": "Male",
          "citizenship": "Romania",
          "dateOfBirth": "1964-Sep-",
          "placeOfBirth": "Bucharest,Romania",
          "score": "88.00",
          "watchlist": [
            {
              "profileId": 62895,
              "watchlist": "Politically Exposed Person (PEP)",
              "crime": "",
              "status2": ""
            }
          ]
        },
        {
          "profileId": 62895,
          "fullName": "'dan':1 'alexandru':1 'darabonc':1",
          "gender": "",
          "citizenship": "Romania",
          "dateOfBirth": "1964-Sep-",
          "placeOfBirth": "Bucharest,Romania",
          "score": "88.00",
          "watchlist": [
            {
              "profileId": 62895,
              "watchlist": "Politically Exposed Person (PEP)",
              "crime": "",
              "status2": ""
            }
          ]
        },
        {
          "profileId": 62895,
          "fullName": "'alexandru':1 'dan':1 'darabonc':1",
          "gender": "",
          "citizenship": "Romania",
          "dateOfBirth": "1964-Sep-",
          "placeOfBirth": "Bucharest,Romania",
          "score": "88.00",
          "watchlist": [
            {
              "profileId": 62895,
              "watchlist": "Politically Exposed Person (PEP)",
              "crime": "",
              "status2": ""
            }
          ]
        },
        {
          "profileId": 62895,
          "fullName": "'alexandru':1 'dan':1 'darabonc':1",
          "gender": "Male",
          "citizenship": "Romania",
          "dateOfBirth": "1964-Sep-",
          "placeOfBirth": "Bucharest,Romania",
          "score": "88.00",
          "watchlist": [
            {
              "profileId": 62895,
              "watchlist": "Politically Exposed Person (PEP)",
              "crime": "",
              "status2": ""
            }
          ]
        },
        {
          "profileId": 62895,
          "fullName": "'alexandru':1 'dan':1 'darabonc':1",
          "gender": "Male",
          "citizenship": "Romania",
          "dateOfBirth": "1964-Sep-",
          "placeOfBirth": "Bucharest,Romania",
          "score": "88.00",
          "watchlist": [
            {
              "profileId": 62895,
              "watchlist": "Politically Exposed Person (PEP)",
              "crime": "",
              "status2": ""
            }
          ]
        }
      ]
    },
    "validationItem": {
      "sender": {
        "citizenship": "NOT MATCH (Malaysia-Uzbekistan)",
        "placeOfBirth": "NOT MATCH (-Tashkent,Uzbekistan)",
        "dateOfBirth": "NOT MATCH (-1955-Mar-)"
      },
      "receiver": {
        "citizenship": "NOT MATCH (Indonesia-Romania)",
        "placeOfBirth": "",
        "dateOfBirth": ""
      }
    }
  }
}

Erorr Response :

{
  "statusCode": 400,
  "errorCode": "010",
  "responseCode": "01",
  "responseMessage": "Invalid Body Request",
  "errors": [
    "senderName tidak boleh kosong"
  ],
  "data": null
}

List of Error/Response Code

HTTP Status

Response Code

Status

Error Code

Response Description

200

00

Success

000

Success

400

01

Failed

010

Invalid Body Request

400

01

Failed

011

Body Request Empty

400

01

Failed

012

Invalid Data Type

400

01

Failed

013

Invalid Date Format

400

01

Failed

014

Invalid Time Format

400

01

Failed

015

Invalid Header Request

400

01

Failed

016

Invalid Query Parameters

200

01

Failed

017

Data Already Exist

401

02

Failed

020

Invalid Auth Token

401

02

Failed

021

Auth Token Expired

401

02

Failed

022 Auth Token Empty

200

03

Failed

030

Data Not Found

500 05 Failed 050 Database Error
408 05 Failed 059 Timeout
500 88 Failed 888 Undefined Error
500 99 Failed 999 General Error