Can you provide an example of calling addSiteAccount1 with FieldInfoMultiFixed?

328 views Asked by At

For example, site 19632 (Navient) requires a mix of text/passwords fields and a Multi Fixed field (three text fields that make up the SSN).

Can you provide an example of how credentialFields need to look like for this site? I've tried without success:

  • returning the login form from getSiteLoginForm with the values property filled with the 3 values as an array (does not match documentation, but matches the login form)
  • appending the 3 sub fields into one field (this matches the docs better, but which valueIdentifier do I choose?)
  • promoting the 3 sub fields to top level fields and renaming properties to match the documentation.

Also, one of the fields is optional. Does that mean I can omit that field when calling addSiteAccount1, or should I return it anyway with value = null?

API Endpoint Doc: https://developer.yodlee.com/Aggregation_API/Aggregation_Services_Guide/Aggregation_REST_API_Reference/addSiteAccount1

Edit 6/16/2015:

Error message:

  "exceptionType": "Exception Occurred",

Current request that does not work:

siteId: 19632,
'credentialFields.enclosedType': 'com.yodlee.common.FieldInfoSingle',
'credentialFields[0].valueIdentifier': 'LOGIN',
'credentialFields[0].valueMask': 'LOGIN_FIELD',
'credentialFields[0].fieldType.typeName': 'IF_LOGIN',
'credentialFields[0].size': 20,
'credentialFields[0].maxlength': 40,
'credentialFields[0].fieldInfoType': 'com.yodlee.common.FieldInfoSingle',
'credentialFields[0].name': 'LOGIN',
'credentialFields[0].displayName': 'User ID:',
'credentialFields[0].isEditable': true,
'credentialFields[0].isOptional': false,
'credentialFields[0].isEscaped': false,
'credentialFields[0].helpText': '165362',
'credentialFields[0].isOptionalMFA': false,
'credentialFields[0].isMFA': false,
'credentialFields[0].value': <username>,
'credentialFields[1].valueIdentifier': 'PASSWORD',
'credentialFields[1].valueMask': 'LOGIN_FIELD',
'credentialFields[1].fieldType.typeName': 'IF_PASSWORD',
'credentialFields[1].size': 20,
'credentialFields[1].maxlength': 40,
'credentialFields[1].fieldInfoType': 'com.yodlee.common.FieldInfoSingle',
'credentialFields[1].name': 'PASSWORD',
'credentialFields[1].displayName': 'Password:',
'credentialFields[1].isEditable': true,
'credentialFields[1].isOptional': false,
'credentialFields[1].isEscaped': false,
'credentialFields[1].helpText': '165363',
'credentialFields[1].isOptionalMFA': false,
'credentialFields[1].isMFA': false,
'credentialFields[1].value': <password>,
'credentialFields[2].defaultValues[0]': null,
'credentialFields[2].defaultValues[1]': null,
'credentialFields[2].defaultValues[2]': null,
'credentialFields[2].values[0]': <SSN1>,
'credentialFields[2].values[1]': <SSN2>,
'credentialFields[2].values[2]': <SSN3>,
'credentialFields[2].validValues[0]': null,
'credentialFields[2].validValues[1]': null,
'credentialFields[2].validValues[2]': null,
'credentialFields[2].displayValidValues[0]': null,
'credentialFields[2].displayValidValues[1]': null,
'credentialFields[2].displayValidValues[2]': null,
'credentialFields[2].valueIdentifiers[0]': 'LOGIN1',
'credentialFields[2].valueIdentifiers[1]': 'LOGIN2',
'credentialFields[2].valueIdentifiers[2]': 'LOGIN3',
'credentialFields[2].valueMasks[0]': 'LOGIN_FIELD',
'credentialFields[2].valueMasks[1]': 'LOGIN_FIELD',
'credentialFields[2].valueMasks[2]': 'LOGIN_FIELD',
'credentialFields[2].fieldTypes[0].typeName': 'IF_LOGIN',
'credentialFields[2].fieldTypes[1].typeName': 'IF_LOGIN',
'credentialFields[2].fieldTypes[2].typeName': 'IF_LOGIN',
'credentialFields[2].validationRules[0]': null,
'credentialFields[2].validationRules[1]': null,
'credentialFields[2].validationRules[2]': null,
'credentialFields[2].sizes[0]': 20,
'credentialFields[2].sizes[1]': 20,
'credentialFields[2].sizes[2]': 20,
'credentialFields[2].maxlengths[0]': 3,
'credentialFields[2].maxlengths[1]': 2,
'credentialFields[2].maxlengths[2]': 4,
'credentialFields[2].userProfileMappingExpressions[0]': null,
'credentialFields[2].userProfileMappingExpressions[1]': null,
'credentialFields[2].userProfileMappingExpressions[2]': null,
'credentialFields[2].realMetaFields[0]': null,
'credentialFields[2].realMetaFields[1]': null,
'credentialFields[2].realMetaFields[2]': null,
'credentialFields[2].fieldInfoType': 'com.yodlee.common.FieldInfoMultiFixed',
'credentialFields[2].name': 'Social Security Number',
'credentialFields[2].displayName': 'Social Security Number',
'credentialFields[2].isEditable': true,
'credentialFields[2].isOptional': false,
'credentialFields[2].isEscaped': false,
'credentialFields[2].helpText': '165364',
'credentialFields[2].isOptionalMFA': false,
'credentialFields[2].isMFA': false,
'credentialFields[3].valueIdentifier': 'OP_LOGIN4',
'credentialFields[3].valueMask': 'LOGIN_FIELD',
'credentialFields[3].fieldType.typeName': 'IF_LOGIN',
'credentialFields[3].size': 20,
'credentialFields[3].maxlength': 10,
'credentialFields[3].fieldInfoType': 'com.yodlee.common.FieldInfoSingle',
'credentialFields[3].name': 'OP_LOGIN4',
'credentialFields[3].displayName': 'Account Number',
'credentialFields[3].isEditable': true,
'credentialFields[3].isOptional': true,
'credentialFields[3].isEscaped': false,
'credentialFields[3].helpText': '165365',
'credentialFields[3].isOptionalMFA': false,
'credentialFields[3].isMFA': false,
'credentialFields[3].value': null,
'credentialFields[4].valueIdentifier': 'LOGIN5',
'credentialFields[4].valueMask': 'LOGIN_FIELD',
'credentialFields[4].fieldType.typeName': 'IF_LOGIN',
'credentialFields[4].size': 20,
'credentialFields[4].maxlength': 2,
'credentialFields[4].fieldInfoType': 'com.yodlee.common.FieldInfoSingle',
'credentialFields[4].name': 'LOGIN5',
'credentialFields[4].displayName': 'Date of Birth-mm',
'credentialFields[4].isEditable': true,
'credentialFields[4].isOptional': false,
'credentialFields[4].isEscaped': false,
'credentialFields[4].helpText': '165366',
'credentialFields[4].isOptionalMFA': false,
'credentialFields[4].isMFA': false,
'credentialFields[4].value': <MM>,
'credentialFields[5].valueIdentifier': 'LOGIN6',
'credentialFields[5].valueMask': 'LOGIN_FIELD',
'credentialFields[5].fieldType.typeName': 'IF_LOGIN',
'credentialFields[5].size': 20,
'credentialFields[5].maxlength': 2,
'credentialFields[5].fieldInfoType': 'com.yodlee.common.FieldInfoSingle',
'credentialFields[5].name': 'LOGIN6',
'credentialFields[5].displayName': 'Date of Birth - dd',
'credentialFields[5].isEditable': true,
'credentialFields[5].isOptional': false,
'credentialFields[5].isEscaped': false,
'credentialFields[5].helpText': '165367',
'credentialFields[5].isOptionalMFA': false,
'credentialFields[5].isMFA': false,
'credentialFields[5].value': <DD>,
'credentialFields[6].valueIdentifier': 'LOGIN7',
'credentialFields[6].valueMask': 'LOGIN_FIELD',
'credentialFields[6].fieldType.typeName': 'IF_LOGIN',
'credentialFields[6].size': 20,
'credentialFields[6].maxlength': 4,
'credentialFields[6].fieldInfoType': 'com.yodlee.common.FieldInfoSingle',
'credentialFields[6].name': 'LOGIN7',
'credentialFields[6].displayName': 'Date of Birth - YYYY',
'credentialFields[6].isEditable': true,
'credentialFields[6].isOptional': false,
'credentialFields[6].isEscaped': false,
'credentialFields[6].helpText': '165368',
'credentialFields[6].isOptionalMFA': false,
'credentialFields[6].isMFA': false,
'credentialFields[6].value': <YYYY>,
'credentialFields[7].valueIdentifier': 'LOGIN8',
'credentialFields[7].valueMask': 'LOGIN_FIELD',
'credentialFields[7].fieldType.typeName': 'IF_LOGIN',
'credentialFields[7].size': 20,
'credentialFields[7].maxlength': 40,
'credentialFields[7].fieldInfoType': 'com.yodlee.common.FieldInfoSingle',
'credentialFields[7].name': 'LOGIN8',
'credentialFields[7].displayName': 'Last Name',
'credentialFields[7].isEditable': true,
'credentialFields[7].isOptional': false,
'credentialFields[7].isEscaped': false,
'credentialFields[7].helpText': '166348',
'credentialFields[7].isOptionalMFA': false,
'credentialFields[7].isMFA': false,
'credentialFields[7].value': <LAST>

Edit 6/17/2015

Got it to work with these changes: - Copy fieldInfoType to enclosedType for multi field - Remove extra array fields in multi field

 siteId: 19632,
 'credentialFields.enclosedType': 'com.yodlee.common.FieldInfoSingle',
 'credentialFields[0].valueIdentifier': 'LOGIN',
 'credentialFields[0].valueMask': 'LOGIN_FIELD',
 'credentialFields[0].fieldType.typeName': 'IF_LOGIN',
 'credentialFields[0].size': 20,
 'credentialFields[0].maxlength': 40,
 'credentialFields[0].fieldInfoType': 'com.yodlee.common.FieldInfoSingle',
 'credentialFields[0].name': 'LOGIN',
 'credentialFields[0].displayName': 'User ID:',
 'credentialFields[0].isEditable': true,
 'credentialFields[0].isOptional': false,
 'credentialFields[0].isEscaped': false,
 'credentialFields[0].helpText': '165362',
 'credentialFields[0].isOptionalMFA': false,
 'credentialFields[0].isMFA': false,
 'credentialFields[0].value': 'sdfsd',
 'credentialFields[1].valueIdentifier': 'PASSWORD',
 'credentialFields[1].valueMask': 'LOGIN_FIELD',
 'credentialFields[1].fieldType.typeName': 'IF_PASSWORD',
 'credentialFields[1].size': 20,
 'credentialFields[1].maxlength': 40,
 'credentialFields[1].fieldInfoType': 'com.yodlee.common.FieldInfoSingle',
 'credentialFields[1].name': 'PASSWORD',
 'credentialFields[1].displayName': 'Password:',
 'credentialFields[1].isEditable': true,
 'credentialFields[1].isOptional': false,
 'credentialFields[1].isEscaped': false,
 'credentialFields[1].helpText': '165363',
 'credentialFields[1].isOptionalMFA': false,
 'credentialFields[1].isMFA': false,
 'credentialFields[1].value': 'sdfsdf',
 'credentialFields[2].values[0]': '234',
 'credentialFields[2].values[1]': '23',
 'credentialFields[2].values[2]': '2345',
 'credentialFields[2].valueIdentifiers[0]': 'LOGIN1',
 'credentialFields[2].valueIdentifiers[1]': 'LOGIN2',
 'credentialFields[2].valueIdentifiers[2]': 'LOGIN3',
 'credentialFields[2].valueMasks[0]': 'LOGIN_FIELD',
 'credentialFields[2].valueMasks[1]': 'LOGIN_FIELD',
 'credentialFields[2].valueMasks[2]': 'LOGIN_FIELD',
 'credentialFields[2].fieldTypes[0].typeName': 'IF_LOGIN',
 'credentialFields[2].fieldTypes[1].typeName': 'IF_LOGIN',
 'credentialFields[2].fieldTypes[2].typeName': 'IF_LOGIN',
 'credentialFields[2].sizes[0]': 20,
 'credentialFields[2].sizes[1]': 20,
 'credentialFields[2].sizes[2]': 20,
 'credentialFields[2].maxlengths[0]': 3,
 'credentialFields[2].maxlengths[1]': 2,
 'credentialFields[2].maxlengths[2]': 4,
 'credentialFields[2].fieldInfoType': 'com.yodlee.common.FieldInfoMultiFixed',
 'credentialFields[2].name': 'Social Security Number',
 'credentialFields[2].displayName': 'Social Security Number',
 'credentialFields[2].isEditable': true,
 'credentialFields[2].isOptional': false,
 'credentialFields[2].isEscaped': false,
 'credentialFields[2].helpText': '165364',
 'credentialFields[2].isOptionalMFA': false,
 'credentialFields[2].isMFA': false,
 'credentialFields[2].enclosedType': 'com.yodlee.common.FieldInfoMultiFixed',
 'credentialFields[3].valueIdentifier': 'OP_LOGIN4',
 'credentialFields[3].valueMask': 'LOGIN_FIELD',
 'credentialFields[3].fieldType.typeName': 'IF_LOGIN',
 'credentialFields[3].size': 20,
 'credentialFields[3].maxlength': 10,
 'credentialFields[3].fieldInfoType': 'com.yodlee.common.FieldInfoSingle',
 'credentialFields[3].name': 'OP_LOGIN4',
 'credentialFields[3].displayName': 'Account Number',
 'credentialFields[3].isEditable': true,
 'credentialFields[3].isOptional': true,
 'credentialFields[3].isEscaped': false,
 'credentialFields[3].helpText': '165365',
 'credentialFields[3].isOptionalMFA': false,
 'credentialFields[3].isMFA': false,
 'credentialFields[3].value': null,
 'credentialFields[4].valueIdentifier': 'LOGIN5',
 'credentialFields[4].valueMask': 'LOGIN_FIELD',
 'credentialFields[4].fieldType.typeName': 'IF_LOGIN',
 'credentialFields[4].size': 20,
 'credentialFields[4].maxlength': 2,
 'credentialFields[4].fieldInfoType': 'com.yodlee.common.FieldInfoSingle',
 'credentialFields[4].name': 'LOGIN5',
 'credentialFields[4].displayName': 'Date of Birth-mm',
 'credentialFields[4].isEditable': true,
 'credentialFields[4].isOptional': false,
 'credentialFields[4].isEscaped': false,
 'credentialFields[4].helpText': '165366',
 'credentialFields[4].isOptionalMFA': false,
 'credentialFields[4].isMFA': false,
 'credentialFields[4].value': '11',
 'credentialFields[5].valueIdentifier': 'LOGIN6',
 'credentialFields[5].valueMask': 'LOGIN_FIELD',
 'credentialFields[5].fieldType.typeName': 'IF_LOGIN',
 'credentialFields[5].size': 20,
 'credentialFields[5].maxlength': 2,
 'credentialFields[5].fieldInfoType': 'com.yodlee.common.FieldInfoSingle',
 'credentialFields[5].name': 'LOGIN6',
 'credentialFields[5].displayName': 'Date of Birth - dd',
 'credentialFields[5].isEditable': true,
 'credentialFields[5].isOptional': false,
 'credentialFields[5].isEscaped': false,
 'credentialFields[5].helpText': '165367',
 'credentialFields[5].isOptionalMFA': false,
 'credentialFields[5].isMFA': false,
 'credentialFields[5].value': '11',
 'credentialFields[6].valueIdentifier': 'LOGIN7',
 'credentialFields[6].valueMask': 'LOGIN_FIELD',
 'credentialFields[6].fieldType.typeName': 'IF_LOGIN',
 'credentialFields[6].size': 20,
 'credentialFields[6].maxlength': 4,
 'credentialFields[6].fieldInfoType': 'com.yodlee.common.FieldInfoSingle',
 'credentialFields[6].name': 'LOGIN7',
 'credentialFields[6].displayName': 'Date of Birth - YYYY',
 'credentialFields[6].isEditable': true,
 'credentialFields[6].isOptional': false,
 'credentialFields[6].isEscaped': false,
 'credentialFields[6].helpText': '165368',
 'credentialFields[6].isOptionalMFA': false,
 'credentialFields[6].isMFA': false,
 'credentialFields[6].value': '111',
 'credentialFields[7].valueIdentifier': 'LOGIN8',
 'credentialFields[7].valueMask': 'LOGIN_FIELD',
 'credentialFields[7].fieldType.typeName': 'IF_LOGIN',
 'credentialFields[7].size': 20,
 'credentialFields[7].maxlength': 40,
 'credentialFields[7].fieldInfoType': 'com.yodlee.common.FieldInfoSingle',
 'credentialFields[7].name': 'LOGIN8',
 'credentialFields[7].displayName': 'Last Name',
 'credentialFields[7].isEditable': true,
 'credentialFields[7].isOptional': false,
 'credentialFields[7].isEscaped': false,
 'credentialFields[7].helpText': '166348',
 'credentialFields[7].isOptionalMFA': false,
 'credentialFields[7].isMFA': false,
 'credentialFields[7].value': 'dsfsd'
1

There are 1 answers

1
Shreyans On BEST ANSWER

Here is the document on how to construct the request for multi fixed login form. https://developer.yodlee.com/Aggregation_API/Aggregation_Services_Guide/Aggregation_REST_API_Reference/addSiteAccount1/Sample_Request_for_Different_Login_Forms#Login_form_with_multiple_fixed_field_information

Adding the request parameters for the site 19632 , try this out -

        credentialFields.enclosedType=com.yodlee.common.FieldInfoSingle
        credentialFields[0].name=LOGIN
        credentialFields[0].displayName=User ID:
        credentialFields[0].isEditable=true
        credentialFields[0].isOptional=false
        credentialFields[0].value=test1
        credentialFields[0].valueIdentifier=LOGIN
        credentialFields[0].valueMask=LOGIN_FIELD
        credentialFields[0].fieldType.typeName=IF_LOGIN
        credentialFields[0].size=20
        credentialFields[0].maxlength=40

        credentialFields[1].name=PASSWORD
        credentialFields[1].displayName=Password:
        credentialFields[1].isEditable=true
        credentialFields[1].isOptional=false
        credentialFields[1].value=test2
        credentialFields[1].valueIdentifier=PASSWORD
        credentialFields[1].valueMask=LOGIN_FIELD
        credentialFields[1].fieldType.typeName=IF_PASSWORD
        credentialFields[1].size=20
        credentialFields[1].maxlength=40


        credentialFields[2].enclosedType=com.yodlee.common.FieldInfoMultiFixed
        credentialFields[2].name=Social Security Number
        credentialFields[2].displayName=Social Security Number
        credentialFields[2].isEditable=true
        credentialFields[2].isOptional=false

        credentialFields[2].values[0]=121
        credentialFields[2].values[1]=23
        credentialFields[2].values[2]=1232

        credentialFields[2].valueIdentifiers[0]=LOGIN1
        credentialFields[2].valueIdentifiers[1]=LOGIN2
        credentialFields[2].valueIdentifiers[2]=LOGIN3

        credentialFields[2].valueMasks[0]=LOGIN_FIELD
        credentialFields[2].valueMasks[1]=LOGIN_FIELD
        credentialFields[2].valueMasks[2]=LOGIN_FIELD

        credentialFields[2].fieldTypes[0].typeName=IF_LOGIN
        credentialFields[2].fieldTypes[1].typeName=IF_LOGIN
        credentialFields[2].fieldTypes[2].typeName=IF_LOGIN

        credentialFields[2].sizes[0]=20
        credentialFields[2].sizes[1]=20
        credentialFields[2].sizes[2]=20

        credentialFields[2].maxlengths[0]=3
        credentialFields[2].maxlengths[1]=2
        credentialFields[2].maxlengths[2]=4

        credentialFields[3].name=OP_LOGIN4
        credentialFields[3].displayName=Account Number
        credentialFields[3].isEditable=true
        credentialFields[3].isOptional=false
        credentialFields[3].value=92828
        credentialFields[3].valueIdentifier=OP_LOGIN4
        credentialFields[3].valueMask=LOGIN_FIELD
        credentialFields[3].fieldType.typeName=IF_LOGIN
        credentialFields[3].size=20
        credentialFields[3].maxlength=10


        credentialFields[4].name=LOGIN5
        credentialFields[4].displayName=Date of Birth-mm
        credentialFields[4].isEditable=true
        credentialFields[4].isOptional=false
        credentialFields[4].value=04
        credentialFields[4].valueIdentifier=LOGIN5
        credentialFields[4].valueMask=LOGIN_FIELD
        credentialFields[4].fieldType.typeName=IF_LOGIN
        credentialFields[4].size=20
        credentialFields[4].maxlength=2

        credentialFields[5].name=LOGIN6
        credentialFields[5].displayName=Date of Birth - dd
        credentialFields[5].isEditable=true
        credentialFields[5].isOptional=false
        credentialFields[5].value=01
        credentialFields[5].valueIdentifier=LOGIN6
        credentialFields[5].valueMask=LOGIN_FIELD
        credentialFields[5].fieldType.typeName=IF_LOGIN
        credentialFields[5].size=20
        credentialFields[5].maxlength=2


        credentialFields[6].name=LOGIN7
        credentialFields[6].displayName=Date of Birth - YYYY
        credentialFields[6].isEditable=true
        credentialFields[6].isOptional=false
        credentialFields[6].value=1989
        credentialFields[6].valueIdentifier=LOGIN7
        credentialFields[6].valueMask=LOGIN_FIELD
        credentialFields[6].fieldType.typeName=IF_LOGIN
        credentialFields[6].size=20
        credentialFields[6].maxlength=4


        credentialFields[7].name=LOGIN8
        credentialFields[7].displayName=Last Name
        credentialFields[7].isEditable=true
        credentialFields[7].isOptional=false
        credentialFields[7].value=YSL
        credentialFields[7].valueIdentifier=LOGIN8
        credentialFields[7].valueMask=LOGIN_FIELD
        credentialFields[7].fieldType.typeName=IF_LOGIN
        credentialFields[7].size=20
        credentialFields[7].maxlength=40

        siteId=19632