For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

Class
Field
Type
Applies to
Notes

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?