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'
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 -