2014-11-05 81 views
0

根据Yodlee公司过程MFA与空mfaInfo.fieldInfo

https://developer.yodlee.com/Aggregation_API/Aggregation_Services_Guide/API_Flow/Refresh_Account

一旦我收到的响应与isMessageAvailable =真实的errorCode是空的,我应该叫getMFAResponse(其实我使用getMFAResponseForSite)

此响应应该包含非空mfaRefreshInfo.fieldInfo。不幸的是,我能够测试fieldInfo的所有情况都是空的。

你能帮我理解我做错了什么吗? SiteAccountId是10038630.

回答

0

如果您正在使用getMFAResponseForSite然后用这个refresh flow

现在getMFAResponseForSite的响应取决于登录尝试的MFA后多久Yodlee公司遭遇。

有3种类型的反应,你可以得到 -

{ "isMessageAvailable": false, "timeOutTime": 0, "itemId": 0, 
"memSiteAccId": 10000502, "retry": true } 

在您第一次调用MFA API,你可能会得到这样如果在使MFA数据的延迟,因此你需要回去并再次调用该API(如循环流程中所建议的)。在这种情况下,如果使用messageAvailable(如果为false且timeoutTime> 0),则意味着Yodlee已超时请求,并且可以中止刷新并尝试重新启动它。

{ 
    "isMessageAvailable": true, 
    "fieldInfo": { 
    "responseFieldType": "text", 
    "minimumLength": -1, 
    "maximumLength": 6, 
    "displayString": "Security Key" 
    }, 
    "timeOutTime": 97640, 
    "itemId": 0, 
    "memSiteAccId": 10000052, 
    "retry": false 
} 

这就是您获得MFA响应的情况。在这里,您可以看到isMessageAvailable为true,并且您填充了字段信息。此响应可以在第一次调用getMFAResponseForSite或1或2循环后发生。

{ 
    "isMessageAvailable": true, 
    "fieldInfo": { 
    "questionAndAnswerValues": [], 
    "numOfMandatoryQuestions": -1 
    }, 
    "timeOutTime": 98480, 
    "itemId": 0, 
    "errorCode": 0, 
    "memSiteAccId": 10039332, 
    "retry": false 
} 

在那意味着登录这种情况下,你可以看到,有一个存在错误代码,如果是0(零)成功没有MFA和Yodlee公司是能够导航到帐户摘要页。如果错误代码不为零,那么请参考error code页面

现在你的情况siteAccountID失败,错误代码429,因此你应该得到getMFAResponseForSite API中的信息。

您是否可以确保遵循正确的刷新流程并进行正确的API调用,理想情况下该行为不会从流程图中表示的行为发生变化。

+0

图的唯一问题是我理解它,因为当我收到响应类型2时,我需要再次调用getMFAResponseForSite。Aster再次调用getMFAResponseForSite,我将fieldInfo作为null接收。我消除了额外的getMFAResponseForSite调用后,它盯着工作。 – 2014-11-06 10:36:09

+0

实际上,当您看到图2所示的响应后,您需要向用户呈现MFA,然后使用putMFARequestForSite将答案传递给Yodlee,此步骤后需要再次调用getMFAResponseForSite。 – Shreyans 2014-11-06 12:12:28

+0

是的,现在我明白我的错误了。谢谢。 – 2014-11-06 14:05:53