Advisor SFTP
We provide an SFTP interface to simplify and secure the transfer of your top accounts; users, including both advisors and clients; entitlements, i.e., which top accounts an advisor or client can access; important people, trusts, and entities; and assets. That is, this SFTP interface supports all of the following methods:
- Add/Update/Delete Users
- Add/Update Top Accounts
- Add/Update/Delete Entitlements
- Add/Update People/Trusts/Entities
- Add/Update Assets
File Transfer Process
1. Uploading Files
All files must be uploaded to the appropriate directory within our SFTP server. Wealth.com will coordinate with your team in terms of when to expect and process the files; this way we can also alert you in case the files, for example, do not arrive.
The server is organized into the following directories for each operation:
- Name
/users
- Type
- Description
- Upload files for user-related operations (Add/Update/Delete Users).
- Name
/top-accounts
- Type
- Description
- Upload files for top account-related operations (Add/Update Top Accounts).
- Name
/entitlements
- Type
- Description
Upload files for entitlement-related operations (Add/Update/Delete Entitlements).
- Name
/people-trusts-entities
- Type
- Description
Upload files for people, trust, and entity-related operations (Add/Update People/Trusts/Entities).
- Name
/assets
- Type
- Description
- Upload files for asset-related operations (Add/Update Assets).
- Name
/errors
- Type
- Description
Files that fail validation are moved here, along with a corresponding error report.
- Name
/processed
- Type
- Description
- Successfully processed files are moved to this directory for your reference.
Wealth.com will remove old files from /errors
and /processed
after some time.
2. Full Load (vs. Incremental Load)
All files should be full loads, not incremental loads. Wealth.com will take care of determining when to create, update, or delete based on comparison to the previous day's files.
3. File Naming Convention
All files must be named according to the following convention, where operation
is one of users
, top-accounts
, entitlements
, people-trusts-entities
, or assets
; date
is provided in YYYYMMDD
format; and unique_id
is any unique identifier for the specific file that you choose to provide. The unique_id
exists to help troubleshoot in case we receive multiple files of a given type on a particular day.
Naming Convention
[operation]-[date]-[unique_id].jsonl
Examples:
users-20241220-001.jsonl
top-accounts-20241220-002.jsonl
4. File Processing
All files must be provided for a given date in order for any of them to be processed. That means a blank file should be sent in case there is no data of a particular type to be sent.
After you upload a file, our system validates it against the specified format and constraints for the operation:
- Only valid rows are processed.
- Rows with errors are logged in an error report.
Processing Sequence
To ensure proper data association, files are always processed in the following order:
/users
/top-accounts
/entitlements
/people-trusts-entities
/assets
This sequence ensures that users and top accounts are added, updated, or deleted before processing any entitlements changes. Also, people, trusts, and entities are handled after the top accounts in which they belong are handled; but before assets, which may reference them as owners, are handled.
Processing Outcome
- Successful Processing: Files are moved to the
/processed
directory. - Errors Found: Files are moved to the
/errors
directory, along with a detailed error report.
Error Reports
Each file in /errors
is accompanied by an error report with row-by-row details of issues.
Error Report: users-20241220-001.jsonl
-------------------------------------------------
Row 3: Missing required field 'id'.
Row 5: Missing required field 'first_name'.
Optional: PGP Encryption for File Transfers
To enhance data security, we offer the option to use PGP encryption for file transfers. This ensures that file contents remain encrypted and accessible only by authorized parties during processing.
How It Works
1. Customer Provides a PGP Public Key:
- If you already have a PGP key pair, you can share your PGP public key with us. We will use this key to securely decrypt the files you encrypt with your private key before uploading them to our SFTP server.
2. We Provide a PGP Public Key:
- If you do not have a PGP key pair, we can generate and provide you with a unique PGP public key specific to your account. You will use this public key to encrypt your files before uploading them to our SFTP server.
Steps for Using PGP Encryption
1. If You Provide a PGP Public Key:
- Share your PGP public key with our support team via a secure method (e.g., encrypted email or secure upload).
- Ensure your key meets the following requirements:
- Key Type: RSA or ECC
- Key Length: 2048-bit or higher recommended
- Expiration: Set an appropriate expiration date for enhanced security.
- Once we confirm receipt, encrypt your files using your private key before uploading them to the SFTP server.
2. If We Provide a PGP Public Key:
- Request a PGP public key from our team.
- Use the provided public key to encrypt your files.
- Ensure the encryption process produces a
.gpg
or.pgp
file extension.
3. File Naming for Encrypted Files:
Encrypted files should include .pgp
in the file name to indicate their format.
Example: users-20241220-001.jsonl.pgp
File Processing with PGP Encryption
- Encrypted files will be decrypted automatically upon receipt using the corresponding private key stored securely on our servers.
- Decryption is logged, and the original files remain encrypted during transit and until processing.
PGP Key Management
- We securely store and manage PGP keys, limiting access to authorized personnel.
- Key rotation is supported and recommended periodically for enhanced security.