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
benefitIdentifierIcstringSNAP/TANF identifier matched to warehouse
PortalID.guardianDateOfBirthDateOnlyGuardian DOB used with IC in the warehouse lookup.
guardianLoginEmailstringAuthenticated guardian email for the returned household envelope. DC also merges this into the GuardianIdentifiers JSON as
Emailso the state's data team can correlate warehouse calls.piiVisibilityPiiVisibilityidentityAssuranceLevelIdentityAssuranceLevelportalUserIdGuidThe 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.
socureReferenceIdstringSocure'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.cancellationTokenCancellationToken
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
guardianEmailstringThe guardian's email address used for OTP authentication.
piiVisibilityPiiVisibilityWhich PII elements the caller is allowed to receive. Required; no default.
identityAssuranceLevelIdentityAssuranceLevelThe IAL the user has achieved; used for backend policy such as whether to return address.
portalUserIdGuid?Portal
User.Id. DC merges this into@guardianIdentifiersasPortalUUIDfor PortalLog correlation; ignored by other states when null.includeCardServiceboolcancellationTokenCancellationTokenCancellation 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
identifierTypeHouseholdIdentifierTypeType of identifier (e.g. Email, Phone).
identifierValuestringNormalized value (e.g. email or phone number).
piiVisibilityPiiVisibilityWhich PII elements the caller is allowed to receive.
identityAssuranceLevelIdentityAssuranceLevelThe IAL the user has achieved.
portalUserIdGuid?Portal
User.Id. DC passes this asPortalUUIDin@guardianIdentifiersfor email lookups; ignored by other states when null.includeCardServiceboolcancellationTokenCancellationTokenCancellation 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
benefitIdentifierIcstringThe SNAP/TANF identifier value from onboarding (IC equivalent).
guardianDateOfBirthDateOnlyGuardian DOB from the ID proofing form.
portalUserIdGuidThe 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.
cancellationTokenCancellationTokenCancellation token.
Returns
- Task<bool>
truewhen the state warehouse reports at least one matching household case row (DC only).