Skip to main content

Results Screen UI Guide

The Entrupy iOS SDK offers an optional "Results Screen" that can be displayed immediately after a user successfully completes the Capture Flow UI. This screen provides instant feedback to the user regarding their submission while the full authentication process continues in the background.

Purpose

The primary goals of the Results Screen are:

  • Submission Acknowledgment: To confirm to the user that their item and images were successfully submitted to Entrupy.
  • Expectation Setting: To provide an Estimated Time of Arrival (ETA) for the final authentication results if the standard ETA flow is used.
  • Quick Feedback (Screening): To display an initial pass/fail outcome if the "Pass/Fail Mode (Screening)" is active for the item.
  • Clear Transition: To offer a clear path back to the integrating application.

This screen is distinct from the more comprehensive Detail View Controller, which is designed for ongoing status tracking and viewing detailed final results.

When is it Displayed?

The Results Screen is optional. Its display is typically configured by Entrupy per integrator or per specific workflow. If enabled for a given submission:

  • It appears automatically after the SDK successfully uploads the data from the Capture Flow.
  • It precedes any transition to the Detail View Controller or back to a custom part of your application.

Information Presented

The content displayed on the Results Screen adapts based on the authentication flow configured for the item:

1. Standard ETA Flow

If the item is being processed using the standard ETA-based authentication:

  • Submission Confirmation: A clear message confirming successful submission (e.g., "Item Submitted Successfully!").
  • ETA Display: A prominent display of the Estimated Time of Arrival for the full authentication results. This might be presented as a time range (e.g., "Results expected in approximately 10-15 minutes") or a specific ETA if available.
  • Item Identifier (Optional): May display a reference to the item, such as the Entrupy ID or customer_item_id.
  • Next Steps/Call to Action: Typically a button like "Done" or "Continue" that dismisses the Results Screen and returns control to the application. The application can then decide to navigate the user to a list of their submissions, the item's Detail View, or another relevant section.

2. Pass/Fail Mode (Screening)

If the item was submitted using the "Pass/Fail Mode (Screening)" and an immediate AI-driven preliminary result is available:

  • Submission Confirmation: Similar confirmation of submission.
  • Immediate Screening Result: A clear indication of the screening outcome. Terminology might be, for example:
    • "Screening Result: Pass"
    • "Screening Result: Refer" (or similar, indicating further review is needed)
    • (The exact terminology for screening results should be confirmed based on the current SDK version and product specifications.)
  • Guidance/Next Steps: Information on what the screening result implies. For instance:
    • A "Pass" might allow the user or platform to proceed with a certain workflow.
    • A "Refer" might indicate that the item will undergo a full ETA-based review, and an ETA might be displayed.
  • Call to Action: A button to dismiss the screen.

(Functionality and UI for the Results Screen, including mock images and exact terminology, should be verified against the latest SDK and product documentation from Entrupy.)

Configuration

Specific SDK configuration options related to the Results Screen (e.g., flags to enable/disable its display, or define its behavior upon user interaction) are typically managed by Entrupy during the integration setup. If any client-side configuration is available, it will be detailed in the main SDK initialization or Capture Flow invocation documentation.

Potential areas of configuration could include:

  • Enable/Disable: A flag to explicitly show or hide this screen post-capture.
  • Customization: Limited customization options for text or appearance, if any.
  • Behavior on Dismissal: How the SDK transitions control back to the host application.

Handling Navigation

After the user interacts with the Results Screen (e.g., taps a "Done" button), or if it dismisses automatically after a timeout (if applicable), the SDK will transition control back to your application.

This transition is typically handled via the same EntrupyCaptureDelegate methods that report the overall success or failure of the capture process:

  • didCaptureCompleteSuccessfully(_ result:forItem:): This delegate method is called when the submission is successful. The data in the result dictionary will indicate the outcome, which your app can use to decide its next steps, whether the Results Screen was shown or not.

Your application logic within didCaptureCompleteSuccessfully would then decide whether to navigate to the Detail View Controller, an items list, or another appropriate part of your app.

// Swift - Example within EntrupyCaptureDelegate

extension YourViewController: EntrupyCaptureDelegate {
// ... other delegate methods ...

func didCaptureCompleteSuccessfully(_ result: [AnyHashable : Any], forItem item: [AnyHashable : Any]) {
// This method is called after successful submission, regardless of whether
// the optional Results Screen was displayed by the SDK.

// The SDK will have dismissed the Results Screen (if shown) before or by the time
// this delegate is called.

print("Submission successful. Result data: \(result)")

// Decode the result to get Entrupy ID, initial status, ETA, etc.
// Let's assume you have an EntrupyCaptureResult struct as shown in capture-flow-ui.md
do {
let decoder = JSONDecoder()
let jsonData = try JSONSerialization.data(withJSONObject: result)
let parsedResult = try decoder.decode(EntrupyCaptureResult.self, from: jsonData)
let entrupyId = parsedResult.item.entrupyId

// Now, navigate to your desired screen, e.g., the Detail View
if let id = entrupyId {
// self.showDetailViewForSubmission(entrupy_id: id) // Your method to show Detail View
} else {
// Or navigate to a list of submissions, etc.
}
} catch {
print("Error decoding result: \(error)")
// Fallback navigation
}
}

// ... other delegate methods like didUserCancelCapture, didCaptureFailWithError ...
}

Benefits

  • Immediate User Feedback: Provides instant acknowledgment of a successful submission.
  • Manages Expectations: Clearly communicates ETAs for standard authentications or provides quick outcomes for screening.
  • Smooth User Experience: Offers a polished and informative transition point after the capture process.

When enabled, the Results Screen contributes to a more transparent and user-friendly authentication journey.

Next Steps