Création d'un service de rapprochement universel
Un service de rapprochement universel est un service capable d'utiliser n'importe laquelle de vos règles de rapprochement pour effectuer un rapprochement et d'accepter tout champ d'entrée. Le service prend un nom de règle de rapprochement comme option d'entrée, vous permettant ainsi d'indiquer la règle de rapprochement que vous souhaitez utiliser dans l'appel de l'API ou la requête de service Web. Le service ne dispose pas de schéma d'entrée prédéfini, si bien que vous pouvez inclure tous les champs appropriés au type d'enregistrements que vous souhaitez rapprocher. En créant un service de rapprochement universel, vous pouvez éviter d'avoir des services distincts pour chaque règle de rapprochement, ce qui vous permet d'ajouter de nouvelles règles de rapprochement sans avoir à ajouter de service.
Cette procédure explique comment créer un service de rapprochement universel et inclut un exemple de requête de service Web envoyée au service de rapprochement universel.
Vous disposez à présent d'un service de rapprochement universel que vous pouvez utiliser pour effectuer un rapprochement à l'aide de n'importe laquelle des règles de rapprochement définies dans l'outil Gestion des règles de correspondance d'Enterprise Designer. Si vous appelez le service, indiquez la règle de rapprochement dans l'option MatchRule et les champs d'entrée comme champs définis par l'utilisateur.
Exemple : Appel du service de rapprochement universel
Vous avez créé une règle de rapprochement nommée AddressAndBirthday dans l'outil Gestion des règles de correspondance. Cette règle de rapprochement rapproche les enregistrements en fonction des champs Address et Birthday. Vous souhaitez utiliser le service de rapprochement universel pour effectuer un rapprochement à l'aide de cette règle via une requête de service Web SOAP.
Pour ce faire, vous devez disposer d'une requête SOAP qui indique AddressAndBirthday dans l'élément MatchRule et les champs d'enregistrement dans l'élément user_fields.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:univ="http://www.pb.com/spectrum/services/UniversalMatchingService">
<soapenv:Header/>
<soapenv:Body>
<univ:UniversalMatchingServiceRequest>
<univ:options>
<univ:MatchRule>AddressAndBirthday</univ:MatchRule>
</univ:options>
<univ:Input>
<univ:Row>
<univ:user_fields>
<univ:user_field>
<univ:name>Name</univ:name>
<univ:value>Bob Smith</univ:value>
</univ:user_field>
<univ:user_field>
<univ:name>Address</univ:name>
<univ:value>4200 Parliament Pl</univ:value>
</univ:user_field>
<univ:user_field>
<univ:name>Birthday</univ:name>
<univ:value>1973-6-15</univ:value>
</univ:user_field>
</univ:user_fields>
</univ:Row>
<univ:Row>
<univ:user_fields>
<univ:user_field>
<univ:name>Name</univ:name>
<univ:value>Robert M. Smith</univ:value>
</univ:user_field>
<univ:user_field>
<univ:name>Address</univ:name>
<univ:value>4200 Parliament Pl</univ:value>
</univ:user_field>
<univ:user_field>
<univ:name>Birthday</univ:name>
<univ:value>1973-6-15</univ:value>
</univ:user_field>
</univ:user_fields>
</univ:Row>
<univ:Row>
<univ:user_fields>
<univ:user_field>
<univ:name>Name</univ:name>
<univ:value>Bob Smith</univ:value>
</univ:user_field>
<univ:user_field>
<univ:name>Address</univ:name>
<univ:value>424 Washington Blvd</univ:value>
</univ:user_field>
<univ:user_field>
<univ:name>Birthday</univ:name>
<univ:value>1959-2-19</univ:value>
</univ:user_field>
</univ:user_fields>
</univ:Row>
</univ:Input>
</univ:UniversalMatchingServiceRequest>
</soapenv:Body>
</soapenv:Envelope>
Cette requête renvoie la réponse suivante :
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns3:UniversalMatchingServiceResponse xmlns:ns2="http://spectrum.pb.com/"
xmlns:ns3="http://www.pb.com/spectrum/services/UniversalMatchingService">
<ns3:Output>
<ns3:Row>
<ns3:MatchScore/>
<ns3:MatchRecordType>Suspect</ns3:MatchRecordType>
<ns3:user_fields>
<ns3:user_field>
<ns3:name>Name</ns3:name>
<ns3:value>Bob Smith</ns3:value>
</ns3:user_field>
<ns3:user_field>
<ns3:name>Birthday</ns3:name>
<ns3:value>1973-6-15</ns3:value>
</ns3:user_field>
<ns3:user_field>
<ns3:name>Address</ns3:name>
<ns3:value>4200 Parliament Pl</ns3:value>
</ns3:user_field>
</ns3:user_fields>
</ns3:Row>
<ns3:Row>
<ns3:MatchScore>100</ns3:MatchScore>
<ns3:MatchRecordType>Duplicate</ns3:MatchRecordType>
<ns3:user_fields>
<ns3:user_field>
<ns3:name>Name</ns3:name>
<ns3:value>Robert M. Smith</ns3:value>
</ns3:user_field>
<ns3:user_field>
<ns3:name>Birthday</ns3:name>
<ns3:value>1973-6-15</ns3:value>
</ns3:user_field>
<ns3:user_field>
<ns3:name>Address</ns3:name>
<ns3:value>4200 Parliament Pl</ns3:value>
</ns3:user_field>
</ns3:user_fields>
</ns3:Row>
</ns3:Output>
</ns3:UniversalMatchingServiceResponse>
</soap:Body>
</soap:Envelope>