ANS-0647 · SERVICES WEB ET INTéGRATIONS

Comment manipuler les listes personnalisées NetSuite à l’aide des services Web SOAP

Ce guide explique comment effectuer une opération de mise à jour sur une liste personnalisée NetSuite à l'aide des services Web SOAP, y compris les configurations d'en-tête indispensables.

Solution courte

Oui, les listes personnalisées NetSuite peuvent être modifiées à l’aide des services Web SOAP. Cela implique de créer une enveloppe SOAP comportant les en-têtes appropriés pour les préférences et l’authentification, ainsi qu’un corps contenant l’opération « update » pour le type d’enregistrement « CustomList ». Veillez à préciser l’identifiant interne de la liste ainsi que les valeurs à modifier. Veuillez noter que les services Web SOAP sont en voie d’être abandonnés au profit de SuiteTalk REST.

Scénario

Un administrateur ou un développeur NetSuite doit mettre à jour ou ajouter des entrées par programmation à une liste personnalisée existante dans NetSuite. Les mises à jour manuelles s’avèrent inefficaces pour les modifications à grande échelle ou récurrentes. L’objectif est de réaliser cette manipulation à l’aide des services Web de NetSuite.

Solution

Les listes personnalisées NetSuite peuvent être modifiées via les services Web SOAP. L’exemple suivant illustre une opération de mise à jour d’une liste personnalisée. Il est important de noter que la plateforme de services Web SOAP de NetSuite doit être progressivement supprimée, sa dépréciation complète étant prévue d’ici la version 2028.2. Pour les nouvelles intégrations, il est recommandé de les remplacer par les services Web REST SuiteTalk. L’exemple fourni utilise une méthode d’authentification obsolète. NetSuite recommande vivement d’utiliser l’authentification par jeton (TBA) pour les services Web SOAP. Pour connaître les pratiques d’authentification actuelles, veuillez vous reporter à la documentation officielle de NetSuite relative aux services Web SuiteTalk. Vous trouverez ci-dessous un exemple de corps de requête SOAP permettant de mettre à jour une liste personnalisée, avec les espaces de noms WSDL mis à jour :

xml
<soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
        <soapenv:Header>
            <ns1:Preferences soapenv:mustUnderstand="0"
soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
xmlns:ns1="urn:messages.platform.webservices.netsuite.com">
                <ns2:warningAsError
xmlns:ns2="urn:messages_2025_2_0.platform.webservices.netsuite.com">false</ns2:warningAsError>
                <ns3:disableMandatoryCustomFieldValidation
xmlns:ns3="urn:messages_2025_2_0.platform.webservices.netsuite.com">true</ns3:disableMandatoryCustomFieldValidation>
                <ns4:ignoreReadOnlyFields
xmlns:ns4="urn:messages_2025_2_0.platform.webservices.netsuite.com">true</ns4:ignoreReadOnlyFields>
            </ns1:Preferences>
            <ns5:searchPreferences soapenv:mustUnderstand="0"
soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
xmlns:ns5="urn:messages.platform.webservices.netsuite.com">
                <ns6:bodyFieldsOnly
xmlns:ns6="urn:messages_2025_2_0.platform.webservices.netsuite.com">false</ns6:bodyFieldsOnly>
                <ns7:pageSize
xmlns:ns7="urn:messages_2025_2_0.platform.webservices.netsuite.com">500</ns7:pageSize>
            </ns5:searchPreferences>
            <!-- The original example used an outdated passport-based authentication method. -->
            <!-- NetSuite strongly recommends using Token-Based Authentication (TBA) for SOAP web services. -->
            <!-- For current authentication practices, refer to NetSuite's official SuiteTalk Web Services documentation. -->
        </soapenv:Header>
        <soapenv:Body>
            <update
xmlns="urn:messages_2025_2_0.platform.webservices.netsuite.com">
                <record xsi:type="ns13:CustomList" internalId="2"
xmlns:ns13="urn:customization_2025_2_0.setup.webservices.netsuite.com">
                    <ns13:name xsi:type="xsd:string">Advertising
Preferences</ns13:name>
                    <ns13:isOrdered xsi:type="xsd:boolean">false</ns13:isOrdered>
                    <ns13:isMatrixOption
xsi:type="xsd:boolean">false</ns13:isMatrixOption>
                    <ns13:scriptId
xsi:type="xsd:string">customlist2</ns13:scriptId>
                    <ns13:convertToCustomRecord
xsi:type="xsd:boolean">false</ns13:convertToCustomRecord>
                    <ns13:isInactive
xsi:type="xsd:boolean">false</ns13:isInactive>
                    <ns13:customValueList
xsi:type="ns13:CustomListCustomValueList" replaceAll="true">
                        <ns13:customValue xsi:type="ns13:CustomListCustomValue">
                            <ns13:value xsi:type="xsd:string">E-mail</ns13:value>
                            <ns13:isInactive
xsi:type="xsd:boolean">false</ns13:isInactive>
                            <ns13:valueId xsi:type="xsd:long">2</ns13:valueId>
                        </ns13:customValue>
                        <ns13:customValue xsi:type="ns13:CustomListCustomValue">
                            <ns13:value xsi:type="xsd:string">Mail</ns13:value>
                            <ns13:isInactive
xsi:type="xsd:boolean">false</ns13:isInactive>
                            <ns13:valueId xsi:type="xsd:long">3</ns13:valueId>
                        </ns13:customValue>
                        <ns13:customValue xsi:type="ns13:CustomListCustomValue">
                            <ns13:value xsi:type="xsd:string">No
advertisements</ns13:value>
                            <ns13:isInactive
xsi:type="xsd:boolean">false</ns13:isInactive>
                        </ns13:customValue>
                    </ns13:customValueList>
                </record>
            </update>

Support expert NetSuite

Besoin d’aide pour cet enjeu NetSuite ?

Accompagnement-conseil et configuration pour Services Web et intégrations

Parler à un consultant