Flutter
Unified Flutter Mobile SDK Integration Guide
Overview
Personal Loans and Credit Cards use the same Flutter SDK and the same EngineSDK widget — under the hood, it's identical. You choose which product to render by passing the matching channel, zone, and productTypes for your integration.
Sample Basic Implementation
You cannot pass two bearer tokens to one EngineSDK instance. Use separate launches for product-specific tokens, or one token configured for a combined marketplace.
import 'package:engine_mobile_flutter_sdk/engine_mobile_flutter_sdk.dart';
import 'package:engine_mobile_flutter_sdk/api_models.dart' as engine;
EngineSDK(
// channel, zone, and productTypes depend on the product you're integrating.
// Get your channel and zone values from your Partner Manager.
channel: 'your-channel',
zone: 'your-zone',
productTypes: const [engine.ProductType.loan], // or [engine.ProductType.creditCard] for Credit Cards
onExit: (_) {
debugPrint("Exit triggered from SDK");
Navigator.pop(context);
},
// ...optional prefill props and event handlers
)Prepopulating Lead Data
A bearerToken is required when using prefill. If your Personal Loans and Credit Cards experiences are configured separately, use the corresponding bearer token for each product.
Pass only the fields you have — omitted fields are collected from the user in-flow. The comment beside each class/field notes which product it applies to.
Using Bearer Tokens
Each bearer token is associated with a marketplace configuration in Engine. When launching the SDK, the bearer token, channel, zone, and productTypes must all belong to the same configuration.
An EngineSDK instance accepts one bearer token:
For separate Personal Loans and Credit Cards experiences, launch a separate SDK instance with the token and configuration for the selected product.
For a combined marketplace, use a single token configured for both products and include both values in
productTypes.If you are not using prefill, omit
bearerToken.
Your Engine representative will provide the appropriate values for each marketplace.
Fields Available for Prepopulation
LeadPersonalInformation
firstName
String?
Both
lastName
String?
Both
email
String?
Both
dateOfBirth
DateTime?
Both
primaryPhone
String?
Both
10 digits, no "+" or "-" chars
address1
String?
Both
address2
String?
Both
Optional apartment / suite
city
String?
Both
state
State?
Both
Enum, 2-letter (e.g. State.DC)
zipcode
String?
Both
ssn
String?
Personal Loans only
9 digits, hyphens optional
LeadFinancialInformation
annualIncome
int?
Both
Raw integer value (e.g. 20000)
employmentStatus
EmploymentStatus?
Personal Loans only
Enum
employmentPayFrequency
EmploymentPayFrequency?
Personal Loans only
Enum
bankRoutingNumber
String?
Personal Loans only
Exactly 9 digits
bankAccountNumber
String?
Personal Loans only
LeadCreditInformationJson
providedCreditRating
ProvidedCreditRating?
Both
Enum
LeadLoanInformationJson
purpose
LoanPurpose?
Personal Loans only
Enum
loanAmount
int?
Personal Loans only
Whole numbers only
LeadMortgageInformationJson
propertyStatus
PropertyStatus?
Personal Loans only
Enum
LeadEmploymentInformationJson
directDeposit
bool?
Personal Loans only
LeadLegalInformationJson
consentsToSms
bool?
Personal Loans only
Lead agrees to receive SMS
LeadEducationInformationJson
educationLevel
EducationLevel?
Personal Loans only
Enum
LeadCreditCardInformationJson
cardPurposes
List<CardPurpose>?
Credit Cards only
Enum
Additional Information
For full setup steps, prefill examples, accepted enum values, client tags, and event handlers, see the product-specific guides:
Last updated
Was this helpful?

