0 Replies Latest reply: May 24, 2013 12:23 PM by 1004973 RSS

    How to use ExternalId in ConstituentSearchMatch service

    1004973
      I am trying to use the ConstituentSearchMatch service to retrieve data based on information coming from other integrated systems.

      Short version: I need a way to call SearchMatch based only on the External ID.

      Long version – additional information:

      (Note: in the below cases I am using DeDupFlg=false in the request.)

      I attempted to call SearchMatch by sending the ID from the external system into ListOfSwiPersonQueryIO/Contact/ExternalId, but when I only populate the ExternalId, I get the error, “Unable to Query MDM tables: input fields are missing”.

      If I happen to know the name (or even a single letter of the name), then I can query on both name & External ID, but the service does not match based on the External ID; it only matches on the [partial] name. For example, a constituent J. Doe has External ID 12345, but if I search for (ExternalID=12345 & firstname=J), I get back >200 results – all first names that contain a J. Only one of these results matches the External ID that I sent in the input. The External ID field is being ignored during the match. Just for comparison purposes, I changed DeDupFlg=true, but I still got the same >200 results.

      What is needed in order to have the ConstituentSearchMatch service return results based on the ExternalId that I input?