Table of Contents

Interface ISummerEbtCaseService

Namespace
SEBT.Portal.StatesPlugins.Interfaces
Assembly
SEBT.Portal.StatesPlugins.Interfaces.dll
public interface ISummerEbtCaseService : IStatePlugin

Methods

GetHouseholdByBenefitIdentifierAndDobAsync(string, DateOnly, string, PiiVisibility, IdentityAssuranceLevel, Guid, string?, CancellationToken)

Retrieves household data when warehouse rows are keyed by benefit IC + guardian DOB (DC co-loaded path). Populates Email with guardianLoginEmail (portal login email) because source rows may not include it. Implementations should respect identityAssuranceLevel for address surfacing the same way as GetHouseholdByGuardianEmailAsync(string, PiiVisibility, IdentityAssuranceLevel, Guid?, bool, CancellationToken).

Task<HouseholdData?> GetHouseholdByBenefitIdentifierAndDobAsync(string benefitIdentifierIc, DateOnly guardianDateOfBirth, string guardianLoginEmail, PiiVisibility piiVisibility, IdentityAssuranceLevel identityAssuranceLevel, Guid portalUserId, string? socureReferenceId = null, CancellationToken cancellationToken = default)

Parameters

benefitIdentifierIc string

SNAP/TANF identifier matched to warehouse PortalID.

guardianDateOfBirth DateOnly

Guardian DOB used with IC in the warehouse lookup.

guardianLoginEmail string

Authenticated guardian email for the returned household envelope. DC also merges this into the GuardianIdentifiers JSON as Email so the state's data team can correlate warehouse calls.

piiVisibility PiiVisibility
identityAssuranceLevel IdentityAssuranceLevel
portalUserId Guid

The portal's User.Id (Guid V7). DC merges this into the GuardianIdentifiers JSON as PortalUUID so the warehouse can correlate calls back to portal records.

socureReferenceId string

Socure's reference ID (UUID) from the guardian's identity verification, when one exists. DC merges this into the GuardianIdentifiers JSON as SocureUUID; omitted from the JSON when null or whitespace.

cancellationToken CancellationToken

Returns

Task<HouseholdData>

GetHouseholdByGuardianEmailAsync(string, PiiVisibility, IdentityAssuranceLevel, Guid?, bool, CancellationToken)

Retrieves household data for the given guardian email (OTP/authentication email). Convenience for email-only lookups; implementations may delegate to GetHouseholdByIdentifierAsync(HouseholdIdentifierType, string, PiiVisibility, IdentityAssuranceLevel, Guid?, bool, CancellationToken).

Task<HouseholdData?> GetHouseholdByGuardianEmailAsync(string guardianEmail, PiiVisibility piiVisibility, IdentityAssuranceLevel identityAssuranceLevel, Guid? portalUserId = null, bool includeCardService = true, CancellationToken cancellationToken = default)

Parameters

guardianEmail string

The guardian's email address used for OTP authentication.

piiVisibility PiiVisibility

Which PII elements the caller is allowed to receive. Required; no default.

identityAssuranceLevel IdentityAssuranceLevel

The IAL the user has achieved; used for backend policy such as whether to return address.

portalUserId Guid?

Portal User.Id. DC merges this into @guardianIdentifiers as PortalUUID for PortalLog correlation; ignored by other states when null.

includeCardService bool
cancellationToken CancellationToken

Cancellation token.

Returns

Task<HouseholdData>

Household data with Summer EBT cases, or null if none found.

GetHouseholdByIdentifierAsync(HouseholdIdentifierType, string, PiiVisibility, IdentityAssuranceLevel, Guid?, bool, CancellationToken)

Retrieves household data by identifier type and value (e.g. phone from JWT, email from OTP). Preferred entry point for state lookups; supports CO phone-from-claims without persisting PII.

Task<HouseholdData?> GetHouseholdByIdentifierAsync(HouseholdIdentifierType identifierType, string identifierValue, PiiVisibility piiVisibility, IdentityAssuranceLevel identityAssuranceLevel, Guid? portalUserId = null, bool includeCardService = true, CancellationToken cancellationToken = default)

Parameters

identifierType HouseholdIdentifierType

Type of identifier (e.g. Email, Phone).

identifierValue string

Normalized value (e.g. email or phone number).

piiVisibility PiiVisibility

Which PII elements the caller is allowed to receive.

identityAssuranceLevel IdentityAssuranceLevel

The IAL the user has achieved.

portalUserId Guid?

Portal User.Id. DC passes this as PortalUUID in @guardianIdentifiers for email lookups; ignored by other states when null.

includeCardService bool
cancellationToken CancellationToken

Cancellation token.

Returns

Task<HouseholdData>

Household data with Summer EBT cases, or null if none found or type not supported.

TryMatchCoLoadedGuardianByBenefitIdAndDobAsync(string, DateOnly, Guid, CancellationToken)

For co-loaded ID proofing with SNAP/TANF: attempts to match the submitted benefit identifier (mapped to the state warehouse IC field) and the guardian's date of birth against state data. Only the DC plugin implements this (e.g. GetHouseholdByGuardian with JSON {"IC":...,"DOB":...,"PortalUUID":...}); other states should return false.

Task<bool> TryMatchCoLoadedGuardianByBenefitIdAndDobAsync(string benefitIdentifierIc, DateOnly guardianDateOfBirth, Guid portalUserId, CancellationToken cancellationToken = default)

Parameters

benefitIdentifierIc string

The SNAP/TANF identifier value from onboarding (IC equivalent).

guardianDateOfBirth DateOnly

Guardian DOB from the ID proofing form.

portalUserId Guid

The portal's User.Id (Guid V7). DC merges this into the GuardianIdentifiers JSON as PortalUUID so the warehouse can correlate calls back to portal records.

cancellationToken CancellationToken

Cancellation token.

Returns

Task<bool>

true when the state warehouse reports at least one matching household case row (DC only).