Paramètres pour NetSuite

Cette rubrique décrit comment configurer une connexion NetSuite pour DataSync.

Important

Avant de configurer la connexion, assurez-vous que :

NetSuite offre deux schémas API pour le retrait des données : SuiteQL et SuiteTalk. Chaque API a différentes options de connexion disponibles, comme décrit ci-dessous.

  • SuiteTalk : SuiteTalk est l'ancien service basé sur SOAP utilisé pour communiquer avec NetSuite. Le regroupement et l'agrégation des données ne sont pas disponibles avec cette API, ce qui signifie que pour les prendre en charge, ils doivent être effectués entièrement côté client. SuiteTalk supporte un accès complet aux enregistrements, champs et listes personnalisés. Les recherches sauvegardées sont prises en charge à la fois par l'API SOAP et par les RESTLets.

  • SuiteQL : SuiteQL est l'API la plus récente. Elle offre une méthode de communication avec le service de type SQL, qui permet une prise en charge plus riche des jointures, des regroupements et des agrégations. Elle permet également de récupérer uniquement les colonnes que vous souhaitez sélectionner. Cependant, il ne prend en charge que la sélection des données. Il est recommandé d'utiliser SuiteQL si vous souhaitez uniquement récupérer des données.

Pour configurer une nouvelle connexion

Pour remplir les propriétés de votre connexion DataSync, vous devez créer une application NetSuite personnalisée dans l'interface de configuration NetSuite. Cela vous permettra de récupérer les propriétés nécessaires dans DataSync pour établir une connexion avec NetSuite.

  1. Connectez-vous à NetSuite.

  2. Ouvrez Setup Manager et sélectionnez Integration menu > Manage Integrations.

  3. Dans la page des intégrations, cliquez sur New pour créer une intégration.

  4. Dans la page de l'intégration :

    1. Saisissez un nom pour votre intégration.

    2. Entrez le nombre de sessions simultanées dans le champ Concurrency Limit. NetSuite permet un maximum de 5 sessions simultanées.

    3. Sélectionnez ces options :

      • Token-Based Authentication

      • TBA: Issue token endpoint

      • TBA: Authorization Flow

  5. Ouvrez DataSync et créez une nouvelle connexion source pour NetSuite.

    Si vous optez pour OAuth comme mode d'authentification pour la connexion, vous devez récupérer l'URL de rappel de DataSync avant de créer votre application personnalisée NetSuite. À partir du champ Callback URL, copiez l'URL de rappel qui vous a été donné.

  6. Retournez dans la page d'intégration NetSuite :

    1. Collez votre URL de rappel dans les champs Callback URL et Redirect URI.

    2. Sélectionnez les options Authorization Code Grant et Public Client.

    3. Réglez le paramètre OAuth 2.0 Consent Policy à Always Ask (recommandé).

    4. Sélectionnez votre Scope. Le Scope vous permettra de récupérer le jeton d'accès et de rafraîchissement avec OAuth. Il est recommandé de sélectionner RESTLETS et REST WEB SERVICES.

    5. Sélectionnez l'option User Credentials.

    6. Cliquez sur Save.

  7. Après avoir enregistré, NetSuite affiche vos identifiants de client et d'application (Client ID, Client Secret, et Application ID). Vous pouvez maintenant finaliser votre connexion DataSync.

    Note:  Enregistrez vos Client ID et Client Secret dans un fichier car ils ne sont affichés qu'une seule fois.

  8. Retournez dans DataSync :

    1. Remplissez les propriétés de la connexion. Les propriétés de la connexion changent en fonction du mode d'authentification.

    2. Cliquez sur Enregistrer.

  9. Vous serez redirigé vers une page web d'autorisation vous demandant d'autoriser OAuth. Cliquez sur Continue et votre connecteur sera autorisé et prêt pour l'utilisation.

Propriétés de connexion NetSuite

Paramètre Description
Description Entrez un nom donné par l'utilisateur pour identifier la connexion dans DataSync.
Schema

Le schéma utilisé pour s'authentifier à NetSuite. Les schémas disponibles sont SuiteQL (recommandé) et SuiteTalk.

Note:  Pour SuiteTalk, l'authentification avec un jeton (Token Based) devrait être utilisée ; vous devez dans ce cas créer un jeton dans l'interface de NetSuite. Assurez-vous d'avoir les permissions d'accès précisées dans le rôle du jeton.

Account ID Entrez votre numéro de compte. Vous pouvez le trouver dans NetSuite sous Setup > Company > Company Information sous la forme d'une combinaison alphanumérique dans Account ID.
Application ID Entrez l'identifiant de l'application qui vous a été donné lorsque vous avez enregistré votre application (voir l'étape 7). Il est recommandé de toujours le saisir pour s'assurer que vous disposez des autorisations appropriées. Vous pouvez trouver vos applications dans NetSuite sous Setup > Integration > Manage Integrations.
Scope

Précisez le scope pour obtenir le jeton d'accès initial et de rafraîchissement avec OAuth. Utilisez le scope que vous avez sélectionné lorsque vous avez créé votre application. Les valeurs possibles sont :

  • restlets,

  • rest_webservices, ou

  • les deux séparés par un espace : restlets rest_webservices.

Mode d'authentification

Sélectionnez votre mode d'authentification :

  • TokenBased (recommandé pour SuiteTalk)

  • OAuthHeadless

URL de rappel Ce paramètre s'affiche quand vous sélectionnez OAuthHeadless comme mode d'authentification. Entrez l'URL de rappel qui vous a été donné.
Identité du client L'identifiant du client attribué lorsque vous avez enregistré votre application avec le serveur d'autorisation OAuth (voir l'étape 7).
Secret du client Mot de passe du client attribué lorsque vous avez enregistré votre application avec le serveur d'autorisation OAuth (voir l'étape 7).
Jeton d'accès Ce paramètre s'affiche quand vous sélectionnez TokenBased comme mode d'authentification. Il devrait être utilisé pour le schéma SuiteTalk. Le jeton d'accès est utilisé à la place de votre nom d'utilisateur et de votre mot de passe. Le jeton d'accès protège vos informations d'identification en les conservant sur le serveur.
Secret du jeton d'accès Mot de passe utilisé avec Jeton d'accès pour l'authentification avec TokenBased. Il devrait être utilisé pour le schéma SuiteTalk.
Analyse des lignes Nombre de rangées à balayer lors de la détermination dynamique des colonnes de la table. Analyse des lignes doit être égal ou supérieur à 1 et inférieur à 1000. La valeur par défaut est 50 pour une meilleure performance.
Délai d'attente

Durée en secondes de l'attente d'une connexion au serveur avant de mettre fin à la tentative et de générer une erreur. Dans NetSuite, les opérations peuvent prendre beaucoup de temps pour revenir si elles récupèrent des données dans des tables enfant ou si elles récupèrent des données dans une table avec des colonnes agrégées.

Par exemple, la récupération de 1000 commandes pourrait prendre plus de 10 minutes en une seule requête de NetSuite lorsque AggregateColumnMode est réglé à ListAndRetrieve. Malheureusement, il s'agit d'une limitation des services Web de NetSuite pour laquelle il n'existe aucune solution connue.

Si vous avez besoin de travailler avec des colonnes agrégées ou des tables enfant, il est recommandé de régler le délai d'attente à 0.

Inclure les tables enfants

Si cette option est sélectionnée, les tableaux seront affichés pour toutes les listes enfants d'une entité.

Par exemple, la table CashRefund dans l'environnement de développement de NetSuite a une liste enfant appelée ItemList. Par conséquent, une nouvelle table appelée CashRefund_ItemList sera affiché si cette propriété est activée. Cela peut être utile pour afficher chaque élément de la liste sur sa propre ligne. En raison du nombre de collections enfant, leur activation entraînera une augmentation significative du nombre total de tables, de plusieurs centaines.

Inclure des colonnes de champs personnalisées En sélectionnant cette option, les champs personnalisés seront affichés directement sur les tables comme leurs propres colonnes. Toutefois, cela entraînera une baisse de la performance lors de la première récupération des informations de métadonnées de la table sur une connexion ouverte. Les métadonnées de tables sont stockées sur la connexion et effacées lorsque la connexion est fermée.
Inclure des tables de liste personnalisés En sélectionnant cette option, les types de listes personnalisées seront inclus comme leurs propres tables. Toutefois, les performances seront moindres lors de la première récupération des informations de métadonnées de la table sur une connexion ouverte. Les métadonnées de tables sont stockées sur la connexion et effacées lorsque la connexion est fermée.
Inclure des tables d'enregistrement personnalisées En sélectionnant cette option, les types d'enregistrements personnalisés seront inclus comme leurs propres tables. Cependant, les performances seront moindres lors de la première récupération des informations de métadonnées de la table sur une connexion ouverte. Les métadonnées de tables sont stockées sur la connexion et effacées lorsque la connexion est fermée.
Colonnes agrégées Les colonnes agrégées sont les colonnes qui apparaîtront sur les tables de base qui agrègent toutes les données contenues dans les collections enfant. En sélectionnant cette option, les colonnes agrégées seront listées et affichées. Les collections enfant ne peuvent être affichées que si Inclure les tables enfants est activé.
Autres propriétés de la connexion Ces options peuvent être ajoutées manuellement à la connexion au cas où l'utilisateur aurait besoin de plus de personnalisation.

Pour créer un jeton dans NetSuite

  1. Connectez-vous à NetSuite avec un rôle d'administrateur et naviguez vers Setup > Company > Enable Features > SuiteCloud > Manage Authentication.

  2. Assurez-vous que les options Token-Based Authentication et TBA: Authorization Flow sont sélectionnées et enregistrez les changements.

  3. Naviguez vers Setup > Integration > Manage Integrations.

  4. Créez une nouvelle intégration avec Token-Based Authentication.

  5. Naviguez vers Setup > User/Roles > Manage Roles et créez un nouveau rôle ou modifiez un rôle existant.

  6. Sous Permissions > Setup, sélectionnez les permissions suivantes pour le rôle :

    • User Access Token: Full

    • Access Token Management: Full

    • Web Services: Full

  7. Naviguez vers Lists > Employees > Employees et ajoutez le rôle à un utilisateur.

  8. Sous Access > Roles, modifiez un employé et ajoutez le nouveau rôle de jeton.

  9. Naviguez vers Setup > User/Roles > Access Tokens et créez un nouveau jeton d'accès. Sélectionnez le nom de l'application comme l'intégration qui a été créée plus tôt, ainsi que le même utilisateur et le même rôle qui ont été mis à jour dans les étapes précédentes.

  10. Après avoir créé le jeton d'accès, un ID de jeton (Token ID) et un secret de jeton (Token Secret) seront affichés. Ils correspondent directement à OAuthAccessToken et OAuthAccessTokenSecret. Prenez-les en note.

Permissions de NetSuite

Un compte Administrateur est nécessaire pour établir une connexion NetSuite et extraire les données pour NetSuite. Cependant, dans certaines occasions, les autorisations d'accès aux données de certaines tables peuvent manquer. Voici une liste des autorisations communément requises pour utiliser le connecteur. La plupart des permissions suivantes se trouvent sous le menu Permissions menu pour le rôle spécifié.

Pour accéder aux permissions de NetSuite pour le rôle :

  1. Allez à Setup > User/Roles > Manage Roles.

  2. Sélectionnez le rôle désiré ou créez-en un nouveau.

  3. Cliquez sur le bouton Edit dans votre rôle pour modifier les permissions de votre connexion.

  4. Dans la section General, sélectionnez Core Administration Permissions pour disposer de la plupart des autorisations d'administration. Pour les autres autorisations, View reflète le niveau minimum d'autorisation requis pour l'autorisation spécifique.

  5. Cliquez sur l'onglet Permissions et configurez les permissions tel que décrit dans le tableau ci-dessous.

  6. Certains paramètres de NetSuite exigent la permission des services web.

    Pour activer les services web :

    1. Allez dans votre rôle > Permissions > Setup.

    2. Ajoutez la permission SOAP WEB SERVICES (pour SuiteTalk) et REST WEB SERVICES (pour SuiteQL).

  7. Pour récupérer des tables personnalisées, vous devez activer l'autorisation de table personnalisée pour la table souhaitée.

    Pour activer l'autorisation de table personnalisée :

    1. Allez dans votre rôle > Permissions > Lists.

    2. Ajouter les vues ou les tables que vous voulez récupérer.

Permission Description
Onglet Reports

SuiteAnalytics Workbook (VIEW) Permet d'accéder à SuiteQL.
Onglet Lists

Customer (VIEW) Utilisée pour tester la connexion dans RESTlets.
Onglet Setup
Access Token Management Permet aux utilisateurs de créer des jetons d'accès pour l'authentification basée sur des jetons (TokenBased).
Custom <type> Fields (VIEW)

Permet aux utilisateurs de voir des champs personnalisés du type spécifié, comprenant:

  • Champs de colonnes personnalisés

  • Champs d'entité personnalisés

  • Champs d'entrée personnalisés

  • Champs d'éléments personnalisés

  • Champs de transaction personnalisés

  • Champs personnalisés

Cette permission est utilisée avec Inclure des colonnes de champs personnalisées.

Other Custom Fields (VIEW) Permet aux utilisateurs de voir des champs personnalisés du type Autre. Cette permission est utilisée avec Inclure des colonnes de champs personnalisées.
Custom Lists (VIEW) Affiche les métadonnées des tables de listes personnalisées. Cette permission est utilisée avec Inclure des tables de liste personnalisés.
Custom Record Types (VIEW) Affiche les métadonnées des tables d'enregistrement personnalisées. Cette permission est utilisée avec Inclure des tables d'enregistrement personnalisées.
Deleted Records (VIEW) Récupère les informations sur les enregistrements supprimés.
Log in Using Access Tokens Permet aux utilisateurs de se connecter aux services REST / SOAP avec un jeton.
Log In using OAuth 2.0 Access Tokens Permet aux utilisateurs de se connecter aux services REST avec OAuth 2.0.
REST Web Services Les requêtes REST sont utilisées pour supporter RESTLets. Les services web REST sont utilisés quand le schéma est réglé à SuiteQL.
SOAP Web Services Les requêtes SOAP sont utilisées pour tester les connections et pour certains champs personnalisés. Les services web SOAP sont utilisés quand le schéma est réglé à SuiteTalk (par défaut).
User Access Tokens Permet aux utilisateurs d'avoir des jetons créés pour eux avec l'authentification TokenBased ou OAuthHeadless.
Onglet Custom Record
[Nom de l'enregistrement personnalisé] Donne aux utilisateurs l'accès à la table des enregistrements personnalisés.