Fix M3 multi-artifact polling: pollNatGateway now passes consent_request_id (not single resolved artifact id) to data_fetch, so the bridge returns merged sessions across ALL linked HIP facilities in one poll
This commit is contained in:
parent
9f2460fed9
commit
e783a57c4d
|
|
@ -242,11 +242,22 @@ class M3HiuWorkflowService
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IMPORTANT: use the UMBRELLA consent_request_id here, not a single
|
||||||
|
// resolved consent artifact id. Multi-facility ABDM M3 consents
|
||||||
|
// produce ONE consent artifact PER linked HIP facility under the
|
||||||
|
// same consent_request_id. Per the bridge's own contract, calling
|
||||||
|
// GET /v1/hiu/data/fetch with the consent_request_id (instead of
|
||||||
|
// one specific artifact id) returns ALL sessions/artifacts merged
|
||||||
|
// in a single response (verified 2026-07-28: querying by
|
||||||
|
// consent_request_id surfaced a sibling artifact that had NEVER
|
||||||
|
// been seen by HMS before, alongside the originally-tracked one).
|
||||||
|
// Falls back to a single artifact id only if no request id is
|
||||||
|
// available (should not normally happen for a granted consent).
|
||||||
$resolvedConsentId = trim((string) (
|
$resolvedConsentId = trim((string) (
|
||||||
$consentResult['abdm_consent_artifact_id']
|
$consentResult['abdm_consent_request_id']
|
||||||
?? $consentResult['consent_id']
|
|
||||||
?? $consentResult['abdm_consent_request_id']
|
|
||||||
?? $consentResult['consent_request_id']
|
?? $consentResult['consent_request_id']
|
||||||
|
?? $consentResult['abdm_consent_artifact_id']
|
||||||
|
?? $consentResult['consent_id']
|
||||||
?? ''
|
?? ''
|
||||||
));
|
));
|
||||||
if ($resolvedConsentId === '' || $this->isGatewayRequestIdPattern($resolvedConsentId)) {
|
if ($resolvedConsentId === '' || $this->isGatewayRequestIdPattern($resolvedConsentId)) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user