SlideShare a Scribd company logo
1 of 11
Application program interface
(API)
Version 1.0
Background
• Search and download functionality often used at
Financial Institution (FI) front office level (branch
end) before onboarding customer.
• FIs can search or download KYC details from the
CKYC Registry post login using credentials and digital
signature.
• CKYC registry introduced API services (Application
programming Interface) to registered financial
institutions for search and download functionality.
Note: API services are available for reporting entities internal use only, reporting
entity should not extend API services in public domain
Your
Application
Application Programming Interface
• An application program interface (API) is code that
allows two software programs to communicate with
each other.
CKYC
Application
API
Request
Response
Internet
Application Programming Interface
Branch 1
Branch 2
Branch 3
Branch 4
CKYC Application
RM 1
• Encrypted Request
file
• Digitally Signed file
• Through Registered IP
addresses only
FI Central
Server Internet
Request
Response
Optional : Secured VPN Tunnel or
P2P leased line Connectivity
Pre-requisites
• API Configuration:
oAdmin user have access of API configuration page to
configure below items:
• Digital Signature Public Key (.CER format)
• Public IP*
• Download CERSAI Public Key
*Note: currently CKYC system allows only one IP to configure, will provide option
of 5 IPs to be configure shortly
Important points
• FI Digital Signature:
oPrivate Key will use for signing API request file
oPublic Key needs to be upload in CKYC application,
system will check authenticity of request file by uploaded
public Key of FI
• CERSAI Digital Signature:
oPubic Key is available on the CKYC website, this will be
use in the request file encryption process
• Request and Response Type : Application/XML
• API Type: Rest
• Multi threading: Available (TBD)
Service URL
oTestbed:
https://testbed.ckycindia.in/Search/ckycverificationservice/verify
oProduction:
https://www.ckycindia.in/Search/ckycverificationservice/verify
oTestbed:
https://testbed.ckycindia.in/Search/ckycverificationservice/download
oProduction :
https://www.ckycindia.in/Search/ckycverificationservice/download
Search
Download
<?xml version="1.0" encoding="UTF-8"?>
<REQ_ROOT>
<HEADER>
<FI_CODE>IN0001</FI_CODE>
<REQUEST_ID>02<REQUEST_ID />
<VERSION>1.0</VERSION>
</HEADER>
<CKYC_INQ>
<SESSION_KEY> </REQUEST_ID>
<PID>
<PID_DATA>
<DATE_TIME />
<ID_TYPE />
<ID_NO />
</PID_DATA>
</PID>
</CKYC_INQ>
</REQ_ROOT
Request file
Step 1: Generate a random 256 bit session key
Step 2: Encrypt PID using this session key by AES
algorithm
Step 3: Encode the encrypted PID to Base64 string
Step 4: Encrypt the session key using public key provided
by CERSAI using RSA algorithm
Step 5: Encode the encrypted session key to Base64
string
Step 6: Add this encrypted and encoded session key in
request xml
Step 7: Sign entire request using FI's private key
PID
Encode
String (PID)
Encrypted
PID
Search : ID & Number
Download : CKYC number & Date of Birth 256 bit session Key CERSAI public Key
Encode String
(Session Key)
Encrypted
Session Key
XML Request file
Encode
String (PID)
Encode
String (PID)
FI DSC Private Key
Encode
String (PID)
Encode
String (PID)
PID
Response file
Step 1: Verify response file signature using CERSAI’s
public key.
Step 2: Parse key parameter from request message
Step 3: Decode the session key from Base64 string
Step 4: Decrypt encrypted session key using FI’s private
key with RSA algorithm
Step 5: Decode the PID from Base64 string
Step 6: Decrypt data using session key with AES
algorithm
PID
Response from CERSAI
256 bit session Key
CERSAI public Key
XML Response file
Encode
String (PID)
Encode
String (PID)
FI DSC Private Key
Encode String
(Session Key)
Encrypted
Session Key
Encode
String (PID)
Encrypted
PID
<REQ_ROOT>
<HEADER>
<FI_CODE>IN0001</FI_CODE>
<REQUEST_ID>02<REQUEST_ID />
<VERSION>1.0</VERSION>
</HEADER>
<CKYC_INQ>
<SESSION_KEY> </REQUEST_ID>
<PID>
<PID_DATA>
<CKYC_NO />
<NAME />
<FATHERS_NAME />
<AGE />
<PHOTO />
<IMAGE_TYPE />
<KYC_DATE />
<UPDATED_DATE />
</PID_DATA>
</PID>
<ERROR />
</CKYC_INQ>
</REQ_ROOT>
<REQ_ROOT>
<HEADER>
<FI_CODE>IN0001</FI_CODE>
<REQUEST_ID>02<REQUEST_ID />
<VERSION>1.0</VERSION>
</HEADER>
<CKYC_INQ>
<SESSION_KEY>BDu4Zi02ct0kxehSJyiblRF7FsjyJc6e6FTzeXPXwmF5nCMypIXMDfxL+zTcopy++6mZmXPCltIrJFM
2f9GcP14aohnqDqIHyG7WJhGel6ipgwcKNEivrKbpBvzc5B3CCSDlh9WYUVj6V4</REQUEST_ID>
<PID>
BDu4Zi02ct0kxehSJyiblRF7FsjyJc6e6FTzeXPXwmF5nCMypIXMDfxL+zTcopy++6mZmXPCltI
rJFM2f9GcP14aohnqDqIHyG7WJhGel6ipgwcKNEivrKbpBvzc5B3CCSDlh9WYUVj6V4BDu4
Zi02ct0kxehSJyiblRF7FsjyJc6e6FTzeXPXwmF5nCMypIXMDfxL+zTcopy++6mZmXPCltIrJFM2
f9GcP14aohnqDqIHyG7WJhGel6ipgwcKNEivrKbpBvzc5B3CCSDlh9WYUVj6V4BDu4Zi02ct
0kxehSJyiblRF7FsjyJc6e6FTzeXPXwmF5nCMypIXMDfxL+zTcopy++6mZmXPCltIrJFM2f9GcP
14aohnqDqIHyG7WJhGel6ipgwcKNEivrKbpBvzc5B3CCSDlh9WYUVj6V4BDu4Zi02ct0kxeh
SJyiblRF7FsjyJc6e6FTzeXPXwmF5nCMypIXMDfxL+zTcopy++6mZmXPCltIrJFM2f9GcP14a
</PID>
<ERROR />
</CKYC_INQ>
</REQ_ROOT>
Error Messages
Scenario Error Message
Digital signature verification
failed
Digital signature cannot be verified. Please sign document
with proper key
Incorrect ID type or ID Number Validation failure
Request Id size greater than 8 Request Id should not exceed more than 8 digits
Request Id is not unique
throughout the day for an FI.
Request Id is not unique
Incorrect FI Code Institution does not exists
No records found No records found
Time difference between request
and response is more than 5
minute
Time difference should be less than 5 minutes
IP not registered Please configure your IP address.
IP does not match with the
registered IP
The given IP does not match with the institution’s
registered IP.
Thank you!!
For any clarification / support, please email on helpdesk@ckycindia.in or call on 022 6110 2592

More Related Content

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
 

Featured (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

API.pptx

  • 2. Background • Search and download functionality often used at Financial Institution (FI) front office level (branch end) before onboarding customer. • FIs can search or download KYC details from the CKYC Registry post login using credentials and digital signature. • CKYC registry introduced API services (Application programming Interface) to registered financial institutions for search and download functionality. Note: API services are available for reporting entities internal use only, reporting entity should not extend API services in public domain
  • 3. Your Application Application Programming Interface • An application program interface (API) is code that allows two software programs to communicate with each other. CKYC Application API Request Response Internet
  • 4. Application Programming Interface Branch 1 Branch 2 Branch 3 Branch 4 CKYC Application RM 1 • Encrypted Request file • Digitally Signed file • Through Registered IP addresses only FI Central Server Internet Request Response Optional : Secured VPN Tunnel or P2P leased line Connectivity
  • 5. Pre-requisites • API Configuration: oAdmin user have access of API configuration page to configure below items: • Digital Signature Public Key (.CER format) • Public IP* • Download CERSAI Public Key *Note: currently CKYC system allows only one IP to configure, will provide option of 5 IPs to be configure shortly
  • 6. Important points • FI Digital Signature: oPrivate Key will use for signing API request file oPublic Key needs to be upload in CKYC application, system will check authenticity of request file by uploaded public Key of FI • CERSAI Digital Signature: oPubic Key is available on the CKYC website, this will be use in the request file encryption process • Request and Response Type : Application/XML • API Type: Rest • Multi threading: Available (TBD)
  • 8. <?xml version="1.0" encoding="UTF-8"?> <REQ_ROOT> <HEADER> <FI_CODE>IN0001</FI_CODE> <REQUEST_ID>02<REQUEST_ID /> <VERSION>1.0</VERSION> </HEADER> <CKYC_INQ> <SESSION_KEY> </REQUEST_ID> <PID> <PID_DATA> <DATE_TIME /> <ID_TYPE /> <ID_NO /> </PID_DATA> </PID> </CKYC_INQ> </REQ_ROOT Request file Step 1: Generate a random 256 bit session key Step 2: Encrypt PID using this session key by AES algorithm Step 3: Encode the encrypted PID to Base64 string Step 4: Encrypt the session key using public key provided by CERSAI using RSA algorithm Step 5: Encode the encrypted session key to Base64 string Step 6: Add this encrypted and encoded session key in request xml Step 7: Sign entire request using FI's private key PID Encode String (PID) Encrypted PID Search : ID & Number Download : CKYC number & Date of Birth 256 bit session Key CERSAI public Key Encode String (Session Key) Encrypted Session Key XML Request file Encode String (PID) Encode String (PID) FI DSC Private Key Encode String (PID) Encode String (PID)
  • 9. PID Response file Step 1: Verify response file signature using CERSAI’s public key. Step 2: Parse key parameter from request message Step 3: Decode the session key from Base64 string Step 4: Decrypt encrypted session key using FI’s private key with RSA algorithm Step 5: Decode the PID from Base64 string Step 6: Decrypt data using session key with AES algorithm PID Response from CERSAI 256 bit session Key CERSAI public Key XML Response file Encode String (PID) Encode String (PID) FI DSC Private Key Encode String (Session Key) Encrypted Session Key Encode String (PID) Encrypted PID <REQ_ROOT> <HEADER> <FI_CODE>IN0001</FI_CODE> <REQUEST_ID>02<REQUEST_ID /> <VERSION>1.0</VERSION> </HEADER> <CKYC_INQ> <SESSION_KEY> </REQUEST_ID> <PID> <PID_DATA> <CKYC_NO /> <NAME /> <FATHERS_NAME /> <AGE /> <PHOTO /> <IMAGE_TYPE /> <KYC_DATE /> <UPDATED_DATE /> </PID_DATA> </PID> <ERROR /> </CKYC_INQ> </REQ_ROOT> <REQ_ROOT> <HEADER> <FI_CODE>IN0001</FI_CODE> <REQUEST_ID>02<REQUEST_ID /> <VERSION>1.0</VERSION> </HEADER> <CKYC_INQ> <SESSION_KEY>BDu4Zi02ct0kxehSJyiblRF7FsjyJc6e6FTzeXPXwmF5nCMypIXMDfxL+zTcopy++6mZmXPCltIrJFM 2f9GcP14aohnqDqIHyG7WJhGel6ipgwcKNEivrKbpBvzc5B3CCSDlh9WYUVj6V4</REQUEST_ID> <PID> BDu4Zi02ct0kxehSJyiblRF7FsjyJc6e6FTzeXPXwmF5nCMypIXMDfxL+zTcopy++6mZmXPCltI rJFM2f9GcP14aohnqDqIHyG7WJhGel6ipgwcKNEivrKbpBvzc5B3CCSDlh9WYUVj6V4BDu4 Zi02ct0kxehSJyiblRF7FsjyJc6e6FTzeXPXwmF5nCMypIXMDfxL+zTcopy++6mZmXPCltIrJFM2 f9GcP14aohnqDqIHyG7WJhGel6ipgwcKNEivrKbpBvzc5B3CCSDlh9WYUVj6V4BDu4Zi02ct 0kxehSJyiblRF7FsjyJc6e6FTzeXPXwmF5nCMypIXMDfxL+zTcopy++6mZmXPCltIrJFM2f9GcP 14aohnqDqIHyG7WJhGel6ipgwcKNEivrKbpBvzc5B3CCSDlh9WYUVj6V4BDu4Zi02ct0kxeh SJyiblRF7FsjyJc6e6FTzeXPXwmF5nCMypIXMDfxL+zTcopy++6mZmXPCltIrJFM2f9GcP14a </PID> <ERROR /> </CKYC_INQ> </REQ_ROOT>
  • 10. Error Messages Scenario Error Message Digital signature verification failed Digital signature cannot be verified. Please sign document with proper key Incorrect ID type or ID Number Validation failure Request Id size greater than 8 Request Id should not exceed more than 8 digits Request Id is not unique throughout the day for an FI. Request Id is not unique Incorrect FI Code Institution does not exists No records found No records found Time difference between request and response is more than 5 minute Time difference should be less than 5 minutes IP not registered Please configure your IP address. IP does not match with the registered IP The given IP does not match with the institution’s registered IP.
  • 11. Thank you!! For any clarification / support, please email on helpdesk@ckycindia.in or call on 022 6110 2592