When I am doing a lookup using the visaMerchantId as a parameter, sometimes I get merchants in the response who do not have that matching id.
Are the visaMerchantIds unique? And if they are, how can I restrict the response to only return records with matching merchant IDs?
Also as a side question,
Is there a way that we can look up visaStoreLocations based on terminal IDs?
visaMerchantId are unique. The search is performed based on the parameters provided inside searchAttrList. The reason you are getting other visaMerchantId in the response is because there was a match in another parameter provided inside searchAttrList.
For example the following request params will try to match the visaMechantId and the merchantCountryCode:
In the response we will see parameters that matched the search with the score:
If you only wants to match the visaMerchantId then merchantCountryCode should be removed from request.
The matchIndicator response param will let you know if we found a matching visaMechantId.
If no startIndex is specified in the request, the store with the highest matchScore is retuned, meaning the one that match the most parameters in the search list.
To search for a specific store id add the visaStoreId parameter to the search list
"visaStoreId" : "134309503"
I hope thsi is helpful,
Also, is there a way that we can look up visaStoreLocations based on a store's terminal IDs?