Introduction
This document provides an initial outline of the technical preferences, processes and ideal workflow for finance partners to seamlessly join and be integrated into the Valiant platform. Valiant offers a comprehensive integration framework to onboard finance partners that is designed to suit available tech capability while also supercharging any existing and required internal processes. This includes support for:- Multi-layered validations β Applications undergo three phases of validation (frontend, backend, and finance partner-specific) to ensure data quality and compliance before submission
- Multiple submission methods β Applications can be submitted via API (preferred) or email, with API submissions providing the most efficient and feature-rich experience and email helping fill the gaps where data may not be able to be accepted in a structure way via API
- Built-in document generation β Any required supporting documents (booking spreadsheets, etc.) can be generated dynamically at submission and formatted to finance partner specifications to help power and accelerate internal process
- Support for real-time status updates β Accurate application statuses can be maintained through push notifications (webhooks, preferred) or pull mechanisms (polling), with manual CSV imports available as a fallback
- Support for auto-decisioning β Valiantβs platform provides reactive and dynamic notifications and UI flows where auto-decisioning is available
Important: See below for a detailed sequence diagram that outlines a step-by-step overview of API submissions.
Validations
When a customer submits an application via the Valiant platform, before an application is submitted to a finance partner three phases of validation checks are run:- Frontend validations β basic input format and data quality validations run client-side where speed of communicating a validation fail to a customer is critical
- Backend validations β deeper and more robust security, model and database level validations
- Finance partner API requirement validations β input and mapping validations required for valid finance partner submission as outlined in finance partner API docs or discovered in testing β folded into our backend validations so we can move any validation issues further up the funnel
Application submissions
Valiant can submit applications to finance partners automatically via two mediums:- API β The preferred submission method, where Valiant maps our application format and submits applications directly to a finance partner
- Email β A backup submission method where an email with summary of application is sent to a nominated inbox
API submissions
API submissions are Valiantβs preferred method. BothJSON and XML SOAP APIs are supported.
API documentation is a must-have for an effective implementation. Documents in Swagger, OpenAPI or other formats are all accepted β please share with [email protected].
Ideal API capability
While submitting applications is the primary goal of any finance partner integration when joining the Valiant platform, the submission itself is ideally the first part of a broader suite of API capability offered by a finance partner to help manage interface with and manage application and the application pipeline. Example endpoints and the ideal API capability we would hope to be able to interface with includes:- Application create
- Application read
- Application index
- Document uploads
- Application update
e.g.,POSTto/application
- Primary app submission entry point
- Critical in any API implementation
- Must return a unique finance partner application ID for Valiant to reference across reporting and other processes
Email submissions
Email submissions are available to supplement API submissions.- Can be sent to a nominated finance partner inbox for processing / reference by a specific team or for automated parsing
- Allow Valiant to share additional application metadata collected during the quoting and application process, like risk factor assessments and other metadata, that might not be accepted in a structured way via API
- Often leveraged for audit and compliance record-keeping purposes
- Where supporting documents were uploaded or generated and are required as part of a submission, tokenised links to download the documents as attachments are included in the submission email
Supporting documents
When processing an application, Valiant can also generate and submit many supporting documents that might help facilitate or accelerate an internal process requirement. These include:- Spreadsheets β e.g., doc request, bill of materials or booking spreadsheets required for internal processes
- Documents β e.g., Word documents or PDFs application forms or other specifically formatted word processor documents
- Images β e.g., ID document captures or other images captured as part of the Valiant application journey
Status updates
Maintaining an accurate representation of the current status of a given Opportunity in the Valiant system is critical to providing a beautiful customer and team member experience. Changes in status trigger a number of UI features and real-time notifications on the Valiant platform.When automated updates are available
Where an automated solution via technology is available, we can support and process status updates via both:- Push
- Pull
Push β Updates are pushed from the finance partner via
webhooks or another event-driven pub/sub-style push notification protocol- Needs to be made available by the finance partner and provides real-time updates, reducing latency and ensuring immediate status accuracy when changes occur
- Any push notification received via a
webhookshould ideally include:- The finance partnerβs unique ID for the application / target object
- The event that was triggered β e.g., a status change or other event β and its value
- The full timestamp of the event β e.g.,
YYYY-MM-DDTHH:MM:SSZβ so we have the timestamp of the event from the source of truth system- All webhooks received are added to a processing queue so if there is a processing delay or we are processing a retried event, the event and processing time may be misaligned
- All requests made to subscription endpoint are processed via an API gateway layer (Cloudflare worker and Cloudflare queue) that receives the payload and then will pipe through to our platform. In case of platform unavailability, this service will keep retrying with exponential backoff until success
- In case of failure at our subscription endpoint worker (which should only really happen during planned maintenance) or we are receiving a retried β ideally the partner system should also continue attempts to push the update with an exponential backoff over a few hours before marking as failed
- Ideally we do not need to run a manual poll to fetch additional required data to process a status update after receipt of a push notification, however this can be implemented if required
When no automated solution is available
In the case where a push or pull solution via technology is not supported, we are able to backfill Opportunity statuses and events with relevant timestamps via a daily/weekly or monthlyCSV import where the CSV includes a relevant unique identifier that is tracked in Valiantβs system β e.g., Valiant app ID, vendor partner quote ID, etc., and timestamps for the events we are looking to track.
API submission sequence / interaction flow with both push / pull updates
You can view the full interactive sequence diagram for more details.