- Client
- Initialize Client
- Update Headers
- Create User
- Get User
- Create Subscription
- Get Subscription
- Update Subscription
- Get All Users
- Get All Client Transactions
- Get All Client Nodes
- Get All Client Institutions
- Get All Client Subscriptions
- Get All Client Subscription Logs
- Issue Public Key
- View Crypto Quotes
- View Crypto Market Data
- Locate ATMs
- User
- Get New Oauth
- Register New Fingerprint
- Update User or Update/Add Documents
- Generate UBO
- Get All User Nodes
- Get All User Transactions
- Get All User Statements
Getting Started - Creating a Client
client = Client(
client_id='client_id_1239ABCdefghijk1092312309',
client_secret='client_secret_1239ABCdefghijk1092312309',
fingerprint='1023918209480asdf8341098',
ip_address='1.2.3.132',
devmode=True
)
client.update_headers(
client_secret='client_secret_1239ABCdefghijk1092312309',
fingerprint='1023918209480asdf8341098',
ip_address='1.2.3.132',
oauth_key='oauth_bo4WXMIT5V0zKSRLYcqNwGtHZEDaA1k3pBv7r20s',
idempotency_key='1234567'
)
ip = '1.2.3.132'
fingerprint = '1023918209480asdf8341098'
body = {
"logins": [
{
"email": "test@synapsefi.com"
}
],
"phone_numbers": [
"901.111.1111",
"test@synapsefi.com"
],
"legal_names": [
"Test User"
],
...
}
client.create_user(body, ip, fingerprint=fingerprint)
user_id = '594e0fa2838454002ea317a0'
ip = '1.2.3.132'
fingerprint = '1023918209480asdf8341098'
client.get_user(user_id, ip=ip, fingerprint=fingerprint, full_dehydrate=True)
body = {
"scope": [
"USERS|POST",
"USER|PATCH",
"NODES|POST",
"NODE|PATCH",
"TRANS|POST",
"TRAN|PATCH"
],
"url": "https://requestb.in/zp216zzp"
}
subs = client.create_subscription(body)
subs_id = '589b6adec83e17002122196c'
subs = client.get_subscription(subs_id)
body = {
'url': 'https://requestb.in/zp216zzp'
'scope': [
"USERS|POST",
"USER|PATCH",
"NODES|POST",
...
]
}
subs = client.update_subscription(body)
allusers = client.get_all_users(show_refresh_tokens=True)
alltrans = client.get_all_trans()
allnodes = client.get_all_nodes()
allinst = client.get_all_inst()
allsubs = client.get_all_subs()
Get All Client Subcription Webhook Logs
allsublogs = client.webhook_logs()
scope = [
"USERS|POST",
"USER|PATCH",
"NODES|POST",
...
]
pubkey = client.issue_public_key(scope)
crypto_quotes = client.crypto_quotes()
market_data = client.crypto_market_data(limit=5, currency='BTC')
market_data = client.locate_atms(zip='94114', lat=None, rad=None, page=None, per_page=None)
body = {
"refresh_token":"refresh_Y5beJdBLtgvply3KIzrh72UxWMEqiTNoVAfDs98G",
"scope":[
"USER|PATCH",
"USER|GET",
...
]
}
user.oauth(body)
- Supply the new fingerprint:
client.update_headers(fingerprint='e83cf6ddcf778e37bfe3d48fc78a6502062fcxx')
user.oauth()
- Supply 2FA device from the list
user.select_2fa_device('test@synapsefi.com')
- Verify the pin sent to the 2FA device
user.confirm_2fa_pin('594230')
body = {
"update":{
"login":{
"email":"test2@synapsefi.com"
},
"remove_login":{
"email":"test@synapsefi.com"
},
"phone_number":"901-111-2222",
"remove_phone_number":"901.111.1111"
}
}
user.update_info(body)
body = {
"entity_info": {
"cryptocurrency": True,
"msb": {
"federal": True,
"states": ["AL"]
},
"public_company": False,
"majority_owned_by_listed": False,
"registered_SEC": False,
"regulated_financial": False,
"gambling": False,
"document_id": "2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8"
...
}
user.create_ubo(body)
user.get_duplicate_users()
body = {
"swap_to_user_id": "5ddc57cb3c4e2800756baa97"
}
user.swap_duplicate_user(body)
user.get_all_nodes(page=4, per_page=10, type='DEPOSIT-US')
user.get_all_trans(page=4, per_page=10)
user.get_statements(page=4, per_page=10)
Refer to the following docs for how to setup the payload for a specific Node type:
- Direct Deposit Accounts
- Issue Card
- ACH-US with Logins
- ACH-US with AC/RT
- INTERCHANGE-US
- CHECK-US
- WIRE-US
- WIRE-INT
body = {
"type": "DEPOSIT-US",
"info":{
"nickname":"My Checking"
}
}
user.create_node(body, idempotency_key='123456')
node_id = '594e606212e17a002f2e3251'
node = user.get_node(node_id, full_dehydrate=True, force_refresh=True)
nodes = user.get_nodes(page=1, per_page=5, type='ACH-US')
node_id = '5ba05ed620b3aa005882c52a'
body = {
"supp_id":"new_supp_id_1234"
}
nodes = user.update_node(node_id, body)
node_id = '5ba05ed620b3aa005882c52a'
body = {
"fee_node_id":"5ba05e7920b3aa006482c5ad",
"expedite":True
}
nodes = user.ship_card_node(node_id, body)
node_id = '5ba05ed620b3aa005882c52a'
nodes = user.reset_card_node(node_id)
node_id = '5ba05ed620b3aa005882c52a'
body = {
"micro":[0.1,0.1]
}
nodes = user.verify_micro(node_id, body)
node_id = '5ba05ed620b3aa005882c52a'
nodes = user.reinit_micro(node_id)
node_id = '5ba05ed620b3aa005882c52a'
body = {
"certificate": "your applepay cert",
"nonce": "9c02xxx2",
"nonce_signature": "4082f883ae62d0700c283e225ee9d286713ef74"
}
nodes = user.generate_apple_pay(node_id)
node_id = '594e606212e17a002f2e3251'
user.delete_node(node_id)
node_id = '594e606212e17a002f2e3251'
user.get_all_subnets(node_id, page=4, per_page=10)
node_id = '594e606212e17a002f2e3251'
user.get_all_node_trans(node_id, page=4, per_page=10)
node_id = '594e606212e17a002f2e3251'
user.get_statements(node_id, page=4, per_page=10)
node_id = '594e606212e17a002f2e3251'
body = {
"nickname":"Test AC/RT"
}
user.create_subnet(node_id, body)
node_id = '594e606212e17a002f2e3251'
subn_id = '59c9f77cd412960028b99d2b'
user.get_subnet(node_id, subn_id)
node_id = '594e606212e17a002f2e3251'
subn_id = '59c9f77cd412960028b99d2b'
body = {
"status": "ACTIVE",
"card_pin": "1234",
"preferences": {
"allow_foreign_transactions": True,
"daily_atm_withdrawal_limit": 10,
"daily_transaction_limit": 1000
}
}
user.update(node_id, subn_id)
node_id = '594e606212e17a002f2e3251'
subn_id = '59c9f77cd412960028b99d2b'
body = {
"fee_node_id":"5bba781485411800991b606b",
"expedite":False,
"card_style_id":"555"
}
user.ship_card(node_id, subn_id, body)
node_id = '594e606212e17a002f2e3251'
subn_id = '59c9f77cd412960028b99d2b'
page = 1
per_page = 10
user.view_all_card_shipments(node_id,subn_id,per_page=per_page,page=page)
node_id = '594e606212e17a002f2e3251'
subn_id = '59c9f77cd412960028b99d2b'
ship_id = '6101f4062846db14581f19e6'
user.view_card_shipment(node_id,subn_id,ship_id)
node_id = '594e606212e17a002f2e3251'
subn_id = '59c9f77cd412960028b99d2b'
ship_id = '6101f4062846db14581f19e6'
user.cancel_card_shipment(node_id,subn_id,ship_id)
node_id = '594e606212e17a002f2e3251'
body = {
"to": {
"type": "ACH-US",
"id": "594e6e6c12e17a002f2e39e4"
},
"amount": {
"amount": 20.1,
"currency": "USD"
},
"extra": {
"ip": "192.168.0.1"
}
}
user.create_trans(node_id, body)
node_id = '594e606212e17a002f2e3251'
trans_id = '594e72124599e8002fe62e4f'
user.get_trans(node_id, trans_id)
node_id = '594e606212e17a002f2e3251'
trans_id = '594e72124599e8002fe62e4f'
user.comment_status(node_id, trans_id, 'Pending verification...')
node_id = '594e606212e17a002f2e3251'
trans_id = '594e72124599e8002fe62e4f'
dispute_reason = 'Chargeback...'
dispute_meta = {
"type_of_merchandise_or_service": "groceries",
"merchant_contacted": true,
"contact_method": "phone",
"contact_date": 1563474864000
}
certification_date = 1579308186000
dispute_attachments = [
"data:image/gif;base64,SUQs=="
]
user.dispute_trans(node_id, trans_id, dispute_reason, dispute_meta, certification_date, dispute_attachments)
node_id = '594e606212e17a002f2e3251'
trans_id = '594e72124599e8002fe62e4f'
user.cancel_trans(node_id, trans_id)
node_id = '594e606212e17a002f2e3251'
subnet_id = '594e606212e17a002f2e3251'
user.dummy_tran(node_id, subnet_id=subnet_id, type='INTERCHANGE', foreign_transaction=False, is_credit=True)