ANS-0828 · SERVICES WEB ET INTéGRATIONS
Comment récupérer les rôles des contacts et les clients associés via les services Web NetSuite ?
Maîtrisez le processus de recherche dans les fiches « Contact », de jointure avec les données « Client » et de filtrage des résultats à l’aide de l’API SOAP SuiteTalk.
Solution courte
Pour récupérer les rôles des contacts et les clients qui leur sont associés via les services Web NetSuite, effectuez une recherche sur les enregistrements de contacts. Incluez le champ « ContactRole » et effectuez une jointure de la recherche avec les enregistrements de clients. Filtrez les résultats afin de vous assurer que le client issu de la jointure correspond bien au client spécifié dans le champ « Corps du contact », ce qui permet une association précise des rôles.
Scénario
Les utilisateurs doivent accéder par programmation aux rôles de contact associés à des clients spécifiques au sein de NetSuite. Le défi consiste à identifier les critères de recherche et les opérations de jointure appropriés à l’aide des services Web NetSuite (API SOAP SuiteTalk) afin de relier avec précision les rôles de contact à leurs fiches clients respectives.
Solution
Pour récupérer les rôles de contact et les clients qui leur sont associés à l'aide des services Web NetSuite, procédez comme suit :
Lancez une recherche sur les enregistrements de contact, qui incluent par défaut le champ « ContactRole ». Ce champ renverra tous les rôles associés à un client donné.
Pour déterminer à quel client spécifique s’applique un rôle, effectuez une jointure avec l’enregistrement client. Cela permettra de relier le rôle de contact au client correspondant.
Pour vous assurer que seul le rôle applicable au client spécifié dans le champ « Contact Body » est renvoyé, affinez la recherche. Cela implique d’effectuer une jointure sur n’importe quel client, puis de filtrer les résultats de recherche afin de ne conserver que ceux pour lesquels le client de la jointure correspond à celui défini dans le champ « Contact Body ». Les extraits de code Java suivants illustrent comment définir les colonnes de recherche et filtrer les résultats. Veuillez noter qu’en raison des mises à jour apportées au WSDL de NetSuite et à la génération de la bibliothèque cliente depuis 2017, les signatures précises des méthodes et les chemins de navigation permettant de récupérer les valeurs peuvent varier dans les implémentations actuelles.
crsrb.setContactRole(new SearchColumnSelectField[] { new SearchColumnSelectField() });crsrb.setCompany(new SearchColumnSelectField[] { new SearchColumnSelectField() });CustomerSearchRowBasic customerJoinColumn = new CustomerSearchRowBasic();customerJoinColumn.setInternalId(new SearchColumnSelectField[] { new SearchColumnSelectField() });Plus tard dans le processus, lors de la récupération de la valeur de la réponse, une condition de filtrage peut être appliquée :
if (!((ContactSearchRow) row).getBasic().getCompany(0).getSearchValue().getInternalId().equals(((ContactSearchRow)row).getCustomerJoin().getInternalId(0).getSearchValue().getInternalId())){ continue;}Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Services Web et intégrations
