Success factor Reconciliation not working with specific user filter

Diwakar
New Contributor III
New Contributor III

We have Successfactor url that is being used for all users reconciliation to Saviynt. However when same url is being used for single user then reconciliation is not working. We already checked the url in postman its giving the response. Below is the url we are using for single user recon.

https://api2.successfactors.eu/odata/v2/EmpJob?$select=businessUnit,businessUnitNav/name,companyNav/... eq 'a85****')&userNav/status%20in%20't','f' &$format=json

 

Please help to check if we are missing something when using the url for specific user.

17 REPLIES 17

SB
Saviynt Employee
Saviynt Employee

Can you add the url value in a text file and share. Looks like some values are getting trimmed. Also, can you share the log file for the import where you ran for 1 user.


Regards,
Sahil

Diwakar
New Contributor III
New Contributor III

@SB Please find the attached url value in the text file and logs. Please suggest next.

DixshantValecha
Saviynt Employee
Saviynt Employee

Hi @Diwakar,

There are a few things you might want to check:

  1. User ID: Ensure that the user ID ‘a85****’ you’re using in the URL is correct and exists in SuccessFactors.
  2. API Permissions: Check if the API user has the necessary permissions to access the data of the specific user.
  3. Data Availability: The user might not have any data under the ‘EmpJob’ entity in SuccessFactors. You can check this by logging into SuccessFactors and manually checking the user’s data.
  4. Filtering: The filters you’re using in the URL might be too restrictive, causing no data to be returned. You can try removing some filters to see if that helps.
  5. Postman Settings: Since the URL is working in Postman, make sure that the same headers and settings are being used in Saviynt.

Please share details requested by @SB further assitance.

Diwakar
New Contributor III
New Contributor III

@SB @DixshantValecha 

There are a few things you might want to check:

  1. User ID: Ensure that the user ID ‘a85****’ you’re using in the URL is correct and exists in SuccessFactors.---It Exists in Successfactors.
  2. API Permissions: Check if the API user has the necessary permissions to access the data of the specific user...API got all necessary permissions.
  3. Data Availability: The user might not have any data under the ‘EmpJob’ entity in SuccessFactors. You can check this by logging into SuccessFactors and manually checking the user’s data....We verified user is present in SF.
  4. Filtering: The filters you’re using in the URL might be too restrictive, causing no data to be returned. You can try removing some filters to see if that helps.-------The same filter is working in postman and we are getting the user response.
  5. Postman Settings: Since the URL is working in Postman, make sure that the same headers and settings are being used in Saviynt.-----Exactly same headers and settings are used in Saviynt as well.

Logs and url are shared in the text file as well. Please suggest next.

GSR
New Contributor III
New Contributor III
 

 

Please try

$filter=employmentNav/userNav/username+eq+'a85****'+and+employmentNav/userNav/status%20in%20't','f' &$format=json

 

Hi @GSR,

Please let me know what you are requesting for.

DixshantValecha
Saviynt Employee
Saviynt Employee

Hi @Diwakar,

The logs show an attempt to make a request to the SuccessFactors API endpoint https://api2.successfactors. with a complex query involving various select, expand, and filter parameters. However, the logs indicate an error related to an illegal character in the query at index 2699.

Here are a few observations and suggestions based on the provided logs:

  1. Illegal Character Error: The error suggests there is an illegal character in the query at index 2699. You may want to review the query at that position in the URL to identify and fix any issues with special characters or formatting.

  2. Query Complexity: The query being sent to the SuccessFactors API is quite complex and involves multiple parameters. Ensure that the query is correctly formatted, and all parameters are specified according to the SuccessFactors API documentation.

DixshantValecha
Saviynt Employee
Saviynt Employee

Hi @Diwakar,

Kindly review the updated URL I have provided, where I have implemented some changes. Please validate the modifications and inform us if additional details are required for further clarification. Your prompt feedback is appreciated.

Diwakar
New Contributor III
New Contributor III

@DixshantValecha 

I tried with your updated url however its still not working and got some different error in postman only. Please suggest next.

Diwakar_0-1701185006815.png

 

SB
Saviynt Employee
Saviynt Employee

Can you escape the $ in your url and then try

\\$


Regards,
Sahil

Diwakar
New Contributor III
New Contributor III

@SB I removed $ from the url and then run the postman but its giving some wierd output with some junk values and in Saviynt job is failing. Attaching the url.

SB
Saviynt Employee
Saviynt Employee

We don't need to remove the $ but just escape it using \\. So your url value would look something like below only in the JSON created for Saviynt. Please update the $ where ever it is used in the url and then try. If it still does not work, share the url value you tried with in notepad file.

status in ('t','f')&\\$format=json

 


Regards,
Sahil

Diwakar
New Contributor III
New Contributor III

@SB Its still the same, attaching updated url. Please suggest next.

Thanks,

Diwakar.

can you try encoded url

 

https://api2.successfactors.eu/odata/v2/EmpJob?$select=businessUnit,businessUnitNav/name,companyNav/countryOfRegistrationNav/externalName_defaultValue,companyNav/countryOfRegistrationNav/numericCountryCode,companyNav/externalCode,companyNav/name,costCenter,customString22Nav/externalCode,customString22Nav/externalName_defaultValue,customString44,customString50Nav/externalCode,customString50Nav/externalName,department,departmentNav/name,division,divisionNav/name,emplStatusNav/picklistLabels/label,employeeClassNav/picklistLabels/label,employmentNav/empJobRelationshipNav/lastModifiedOn,employmentNav/endDate,employmentNav/lastModifiedOn,employmentNav/personNav/customString1Nav/externalCode,employmentNav/personNav/emergencyContactNav/lastModifiedOn,employmentNav/personNav/homeAddressNavDEFLT/lastModifiedOn,employmentNav/personNav/lastModifiedOn,employmentNav/personNav/personalInfoNav/customString7Nav/picklistLabels/label,employmentNav/personNav/personalInfoNav/firstName,employmentNav/personNav/personalInfoNav/lastName,employmentNav/personNav/personalInfoNav/middleName,employmentNav/personNav/personalInfoNav/salutationNav/localeLabel,employmentNav/personNav/personalInfoNav/suffixNav/localeLabel,employmentNav/personNav/phoneNav/areaCode,employmentNav/personNav/phoneNav/countryCode,employmentNav/personNav/phoneNav/lastModifiedOn,employmentNav/personNav/phoneNav/phoneNumber,employmentNav/personNav/phoneNav/phoneTypeNav/externalCode,employmentNav/userNav/defaultLocale,employmentNav/userNav/lastModified,eventNav/externalCode,hireDate,isHomeWorker,jobTitle,lastModifiedOn,location,locationNav/addressNavDEFLT/address1,locationNav/addressNavDEFLT/address2,locationNav/addressNavDEFLT/city,locationNav/addressNavDEFLT/zipCode,locationNav/name,managerId,position,positionNav/employeeClassNav/label_defaultValue,positionNav/parentPosition/code,seqNumber,startDate,userId,userNav/email,userNav/lastModified,userNav/teamMembersSize,userNav/status,userNav/username&$expand=businessUnitNav,companyNav/countryOfRegistrationNav,customString22Nav,customString50Nav,departmentNav,divisionNav,emplStatusNav/picklistLabels,employeeClassNav/picklistLabels,employmentNav/empJobRelationshipNav,employmentNav/personNav/customString1Nav,employmentNav/personNav/emergencyContactNav,employmentNav/personNav/homeAddressNavDEFLT,employmentNav/personNav/personalInfoNav/customString7Nav/picklistLabels,employmentNav/personNav/personalInfoNav/salutationNav,employmentNav/personNav/personalInfoNav/suffixNav,employmentNav/personNav/phoneNav/phoneTypeNav,employmentNav/userNav,eventNav,locationNav/addressNavDEFLT,positionNav/employeeClassNav,positionNav/parentPosition,userNav&$filter=startswith(userNav/username,%27a%27)&(userNav/username

Regards,
Rushikesh Vartak
If the response is helpful, please click Accept As Solution and kudos it.

Diwakar
New Contributor III
New Contributor III

@rushikeshvartak  I tried but again same error, pls suggest next.

Diwakar_0-1701373095893.png

 

Please recheck url on above post vs what you have updated/


Regards,
Rushikesh Vartak
If the response is helpful, please click Accept As Solution and kudos it.

Diwakar
New Contributor III
New Contributor III

@rushikeshvartak Can you please re-confirm the url, as it seems to be incomplete, check the last line. Please clarify.

 

https://api2.successfactors.eu/odata/v2/EmpJob?$select=businessUnit,businessUnitNav/name,companyNav/...