admin08077's picture
Create app.py
80b8cfc verified
import streamlit as st
import requests
import json
# Function to create user onboarding via API
def api_create_user_onboarding(org_id, api_key, name, email):
url = "https://app.moderntreasury.com/api/user_onboardings"
headers = {
"Content-Type": "application/json",
"Authorization": f"Basic {org_id}:{api_key}"
}
payload = {
"flow_alias": "default-individual",
"metadata": {
"name": name,
"email": email
}
}
response = requests.post(url, headers=headers, json=payload)
return response.json()
# Streamlit UI
st.title("James O'Callaghan Private Bank")
# API Credentials Form
st.subheader("API Credentials")
org_id = st.text_input("Enter your Organization ID")
api_key = st.text_input("Enter your API Key", type="password")
# User Onboarding Form
st.subheader("User Onboarding")
name = st.text_input("Enter your name")
email = st.text_input("Enter your email")
# Trigger user onboarding
if st.button("Start Onboarding"):
if name and email and org_id and api_key:
# API call for user onboarding
onboarding_data = api_create_user_onboarding(org_id, api_key, name, email)
# Display user onboarding ID
user_onboarding_id = onboarding_data.get("id", "No ID returned")
st.write("User Onboarding ID:", user_onboarding_id)
# Embed Modern Treasury's user onboarding flow
embed_code = f"""
<script src="https://example.com/onboarding.js?onboarding_id={user_onboarding_id}"></script>
"""
st.markdown(embed_code, unsafe_allow_html=True)
else:
st.warning("Please fill out all the fields.")