Skip to content

ostdotcom/ost-kyc-sdk-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OST KYC Python SDK

The official OST KYC SDK.

Requirements

To use this node module, developers will need to:

  1. Login on https://kyc.ost.com/admin/login.
  2. Obtain an API Key and API Secret from https://kyc.ost.com/admin/settings/developer-integrations.

Documentation

https://dev.ost.com/docs/kyc

Installation

Install OST KYC Python SDK

> pip install ost_kyc_sdk_python

Example Usage

Require the SDK:

import ost_kyc_sdk_python

Initialize the SDK object:

// the latest valid API endpoint is "https://kyc.sandboxost.com", this may change in the future
kyc_sdk = ost_kyc_sdk_python.Services({'api_key': <api_key>, 'api_secret': <api_secret>, 'api_base_url': <api_secret>, 
'config': {'timeout': <desired_timeout_in_secs> }})

Here timeout for requests can be passed inside config, timeout is in seconds (default is 15 secs). 

Users Module

users_service = kyc_sdk.services.users

Create a new user:

r = users_service.create({'email': 'alice+1@ost.com'})
print (r)

Get an existing user:

r = users_service.get({'id': '11003'})
print (r)

Get a list of users and other data:

r = users_service.list()
print (r)

Users KYC module

users_kyc_service = kyc_sdk.services.users_kyc

Submit KYC:

r = users_kyc_service.submit_kyc({'user_id': 11035, 'first_name':'aniket','last_name':'ayachit', 'birthdate':'21/12/1991', 'country':'india', 'nationality':'indian', 'document_id_number':'arqpa7659a','document_id_file_path':'2/i/016be96da275031de2787b57c99f1471', 'selfie_file_path':'2/i/9e8d3a5a7a58f0f1be50b7876521aebc', 'residence_proof_file_path':'2/i/4ed790b2d525f4c7b30fbff5cb7bbbdb', 'ethereum_address': '0xdfbc84ccac430f2c0455c437adf417095d7ad68e', 'estimated_participation_amount':'2', 'street_address':'afawfveav ','city':'afawfveav', 'state':'afawfveav','postal_code':'afawfveav','investor_proof_files_path':['2/i/9ff6374909897ca507ba3077ee8587da', '2/i/4872730399670c6d554ab3821d63ebce']})
print (r)

List Users KYC:

r = users_kyc_service.list()
print (r)

Get Users KYC

r = users_kyc_service.get({'user_id':11003})
print (r)

Get PUT Presigned url

r = users_kyc_service.get_pre_signed_url_put ({'files': {
    'residence_proof': 'application/pdf',
    'investor_proof_file1': 'application/pdf',
    'investor_proof_file2': 'application/pdf',
    'document_id': 'image/jpeg',
    'selfie': 'image/jpeg'
}})
print (r)

Get POST Presigned url

r = users_kyc_service.get_pre_signed_url_post ({'files': {
    'residence_proof': 'application/pdf',
    'investor_proof_file1': 'application/pdf',
    'investor_proof_file2': 'application/pdf',
    'document_id': 'image/jpeg',
    'selfie': 'image/jpeg'
}})
print (r)

Send KYC approve email

r = users_kyc_service.email_approve({'user_id': 11003})
print (r)

Send KYC deny email

r = users_kyc_service.email_deny({'user_id': 11003})
print (r)

Send KYC report issue email

r = users_kyc_service.email_report_issue({'user_id': 11003})
print (r)

Users KYC details Module

users_kyc_details_service = kyc_sdk.services.users_kyc_details

Get user's kyc details

r = users_kyc_details_service.get({'user_id':11003})
print (r)

Validation Module

validator_service = kyc_sdk.services.validators

Verify ethereum address

 r = validator_service.verify_ethereum_address({'ethereum_address': '0x32be343b94f860124dc4fee278fdcbd38c102d88'})
 print (r)
 

Note: If user want to use non english characters in Python 2, write # -*- coding: utf-8 -*- at the beginning of the file.