Configuration de la connexion NetSuite
Cette rubrique explique comment configurer une connexion NetSuite pour DataSync.12126
Avant de commencer, assurez-vous que :
-
DataSync est installé avec le protocole HTTPS.
-
Vous disposez d'un compte NetSuite avec les droits d'administrateur.
NetSuite prend en charge deux schémas d'API pour extraire les données : SuiteTalk et SuiteQL. Chaque schéma offre des options de connexion différentes.
-
SuiteTalk : Ancien service basé sur SOAP utilisé pour communiquer avec NetSuite. Le regroupement et l'agrégation ne sont pas pris en charge côté serveur et doivent être effectués côté client. SuiteTalk permet un accès complet aux enregistrements, champs et listes personnalisés. Les recherches sauvegardées sont prises en charge via l'API SOAP et les RESTLets.
Note: SuiteTalk prend uniquement en charge l'authentification basée sur un jeton (Token-Based Authentication). OAuthHeadless n’est pas compatible.
-
SuiteQL : Nouvelle API de type SQL qui prend en charge les jointures, les regroupements, les agrégations et la sélection de colonnes spécifiques. Cette API ne prend en charge que la sélection des données et est recommandé uniquement pour récupérer des données.
Contenu
Configurer une connexion NetSuite
Pour configurer une connexion dans DataSync, vous devez d’abord créer une application personnalisée dans l’interface de NetSuite. Cela vous permettra d’obtenir les informations nécessaires pour remplir les propriétés de connexion dans DataSync.
Pour Authentification basée sur un jeton
-
Connectez-vous à NetSuite.
-
Dans le menu Configuration, ouvrez Gestionnaire de configuration, puis sélectionnez Intégration > Gérer les intégrations.
-
Sur la page Intégrations, cliquez sur Nouveau pour créer une nouvelle intégration.
-
Sur la page Intégrations:
-
Entrez un nom pour l’intégration et une description si nécessaire.
-
Dans le champ Limite d'accès simultané, entrez le nombre de sessions simultanées (maximum de 5).
-
-
Sous Authentification basée sur un jeton, sélectionnez Authentification basée sur un jeton.
-
Enregistrez l’intégration. Une fois l’enregistrement terminé, NetSuite affiche votre ID et votre Clé secrète du client. Conservez-les en lieu sûr, car ils ne seront affichés qu’une seule fois.
-
Poursuivez avec les étapes suivantes pour finaliser la configuration du jeton :
-
Accédez à Configuration > Société > Activer les fonctions > SuiteCloud > Gérer l'authentification.
-
Assurez-vous que l'option Authentification basée sur un jeton est activée, puis enregistrez les modifications.
-
Accédez à Configuration > Utilisateurs/Rôles > Gérer les rôles, puis créez un nouveau rôle ou modifiez un rôle existant.
-
Dans la section Général, activez Autorisations d'administration de base pour disposer de la plupart des autorisations d'administration.
-
Sous Restrictions pour la filiale, sélectionnez Tout et cochez Autoriser la consultation d'enregistrement entre filiales.
-
Sous Permissions > Configuration, ajoutez les permissions suivantes :
-
Gestion des jetons d'accès: Complète
-
Configurer les services Web SOAP : Complète
-
Services Web REST: Complète (pour SuiteQL)
-
Services Web SOAP : Complète (pour SuiteTalk)
-
Se connecter à l'aide de jetons d'accès: Complète
-
Jetons d'accès utilisateur : Complète
-
-
Sous Rapports, ajoutez la permission suivante :
-
Classeur SuiteAnalytics: Modifier
Les permissions dans Transactions et Listes sous Transactions et Listes varient selon les tables que vous souhaitez utiliser. Pour plus de détails, voir Permissions NetSuite.
-
-
Accédez à Listes > Employees > Employés et assignez le nouveau rôle à un utilisateur.
-
Sous Accès > Rôles, modifiez l'employé et ajoutez le rôle personnalisé.
-
Accédez à Configuration > Utilisateurs/Rôles > Jetons d'accès, puis créez un nouveau jeton d'accès. Sélectionnez l'application, l'utilisateur et le rôle définis aux étapes précédentes.
-
Une fois le jeton créé, NetSuite affiche un ID et un Clé secret du jeton. Ils correspondent aux champs OAuthAccessToken et OAuthAccessTokenSecret. Conservez-les en lieu sûr.
-
Dans DataSync, créez une nouvelle connexion source pour NetSuite.
-
Remplissez les propriétés de connexion NetSuite.
-
Cliquez sur Enregistrer.
Pour OAuthHeadless
-
Connectez-vous à NetSuite.
-
Dans le menu Configuration, ouvrez Gestionnaire de configuration, puis sélectionnez Intégration > Gérer les intégrations.
-
Sur la page Intégrations, cliquez sur Nouveau pour créer une nouvelle intégration.
-
Sur la page Intégrations:
-
Entrez un nom pour l’intégration et une description si nécessaire.
-
Dans le champ Limite d'accès simultané, entrez le nombre de sessions simultanées (maximum de 5).
-
-
Sous Authentification basée sur un jeton, sélectionnez les options suivantes :
-
Dans SEI, ouvrez DataSync, et créez une nouvelle connexion source pour NetSuite.
-
Copiez l'URL de rappel générée par DataSync.
-
Retournez dans la page Intégration de NetSuite.
-
Sous OAuth 2.0 :
-
Collez l'URL de rappel dans les champs URL de rappel et URI de redirection.
-
Sélectionnez les options Octroi du code d'autorisation et Client public.
-
Définissez la Politique de consentement OAuth 2.0 à Toujours demander (recommandé).
-
Sélectionnez la Portée. Il est recommandé de choisir RESTLETS et SERVICES WEB REST.
-
Sous Données d'identification de l'utilisateur, sélectionnez Données d'identification de l'utilisateur.
-
-
Cliquez sur Enregistrer.
-
NetSuite affiche votre ID et Clé secrète du client. Conservez-les en lieu sûr, car ils ne seront affichés qu’une seule fois.
-
Retournez dans DataSync :
-
Remplissez les propriétés de la connexion.
-
Cliquez sur Enregistrer.
-
-
Une page d’autorisation s’ouvrira. Cliquez sur Continuer pour autoriser la connexion.
Propriétés de connexion
Paramètre | Description |
---|---|
Description | Entrez un nom pour identifier la connexion dans DataSync. |
Schema |
Définit le schéma NetSuite utilisé pour la connexion. Ce choix détermine le mode d’authentification. Options : SuiteQL (recommandé) ou SuiteTalk. Note : Pour SuiteTalk, l’authentification par jeton est requise. Vous devez créer un jeton et vérifier que le rôle dispose des permissions nécessaires. |
Account ID | Se trouve dans NetSuite sous Configuration > Société > Informations sur la société. |
Application ID | Généré lors de l’enregistrement de l’application dans NetSuite. À saisir systématiquement pour garantir les accès requis. Vous pouvez retrouver vos applications via Configuration > Intégration > Gérer les intégrations. |
Portée (Scope) |
Utilisez avec OAuthHeadless pour obtenir les jetons d'accès et de rafraîchissement. Valeurs possibles :
|
Mode d'authentification |
Sélectionnez l'un des modes suivants :
|
URL de rappel | Requise pour OAuthHeadless. Entrez l’URL fournie par DataSync. |
Identité du client | Fourni lors de l’enregistrement de l’application OAuthHeadless. |
Secret du client | Fourni lors de l’enregistrement de l’application OAuthHeadless. |
Jeton d'accès | Utilisé avec le mode basée sur un jeton. Remplace le nom d’utilisateur et le mot de passe pour SuiteTalk. |
Secret du jeton d'accès | Utilisé avec le jeton d’accès pour l’authentification basée sur un jeton. |
Analyse des lignes | Nombre de lignes analysées pour détecter dynamiquement les colonnes. Doit être compris entre 1 et 999. Par défaut : 50. |
Délai |
Durée (en secondes) pendant laquelle le système tente de se connecter avant d’abandonner. Dans NetSuite, la récupération des données peut être très lente lorsqu’il s’agit de tables enfants ou de colonnes d’agrégation. Par exemple, extraire 1 000 commandes avec AggregateColumnMode défini sur ListAndRetrieve peut prendre plus de 10 minutes. Il s’agit d’une limitation connue des services Web de NetSuite. Si vous utilisez des colonnes d’agrégation ou des tables enfants, il est recommandé de définir ce délai à 0. |
Inclure les tables enfants |
Affiche les tables associées à toutes les listes enfants d’une entité. Par exemple, la table CashRefund contient une liste enfant appelée ItemList, qui apparaîtra comme table distincte nommée CashRefund_ItemList. Cette option permet d’afficher chaque élément dans sa propre ligne. L’activer peut augmenter le nombre total de tables de plusieurs centaines. |
Inclure des colonnes de champs personnalisées |
Affiche les champs personnalisés directement dans les tables comme colonnes distinctes. Cela peut réduire les performances lors du premier chargement des métadonnées sur une connexion ouverte. Les métadonnées sont stockées temporairement et supprimées à la fermeture de la connexion. |
Inclure des tables de liste personnalisés |
Ajoute les types de listes personnalisées comme tables distinctes. Cela peut réduire les performances lors du premier chargement des métadonnées sur une connexion ouverte. Les métadonnées sont stockées temporairement et supprimées à la fermeture de la connexion. |
Inclure des tables d'enregistrement personnalisées |
Ajoute les types d’enregistrements personnalisés comme tables distinctes. Cela peut réduire les performances lors du premier chargement des métadonnées sur une connexion ouverte. Les métadonnées sont stockées temporairement et supprimées à la fermeture de la connexion. |
Colonnes agrégées | Affiche les colonnes qui regroupent les données des collections enfants. Nécessite que l’option Inclure les tables enfants soit activée. |
Autres propriétés de la connexion | Options avancées configurables manuellement selon les besoins. |
Permissions NetSuite
Cette section s’applique uniquement si vous utilisez un rôle personnalisé, requis pour l’authentification basée sur un jeton et optionnel pour OAuthHeadless. Si vous utilisez le rôle Administrateur avec OAuthHeadless, aucune modification n’est nécessaire—ce rôle inclut déjà tous les accès requis.
Dans certains cas, des autorisations supplémentaires peuvent être nécessaires pour accéder à certaines tables. La liste ci-dessous présente les autorisations couramment requises pour utiliser le connecteur. La plupart se trouvent dans le menu Permissions du rôle sélectionné.
Propriétés des permissions
Onglet | Permission | Description |
---|---|---|
Rapports | Classeurs SuiteAnalytics (View) | Autorise l’accès à SuiteQL. |
Listes | Clients (View) | Utilisé pour tester les connexions via RESTlets. |
Configuration | Gestion des jetons d'accès | Permet aux utilisateurs de créer des jetons d’accès pour l’authentification basée sur un jeton. |
Champs <type> personnalisés (View) |
Autorise l’accès aux champs personnalisés du type spécifié, y compris :
Cette autorisation est requise avec Inclure des colonnes de champs personnalisées. |
|
Autres champs d'articles personnalisés (View) | Autorise l’accès à d’autres types de champs personnalisés. Utilisé avec Inclure des colonnes de champs personnalisées. | |
Listes personnalisées (View) | Affiche les métadonnées des listes personnalisées. Utilisé avec Inclure des tables de liste personnalisés. | |
Types d'enregistrement personnalisé (View) | Affiche les métadonnées des enregistrements personnalisés. Utilisé avec Inclure des tables d'enregistrement personnalisées. | |
Enregistrements supprimés (View) | Récupère les informations sur les enregistrements supprimés. | |
Se connecter à l'aide de jetons d'accès | Autorise l’authentification aux services REST ou SOAP avec un jeton. | |
Se connecter à l'aide de jetons d'accès OAuth 2.0 | Autorise l’authentification aux services REST avec OAuth 2.0. | |
Services Web REST | Requis pour les RESTlets. Utilisé lorsque le schéma est défini sur SuiteQL. | |
Services Web SOAP | Requis pour les tests de connexion et certains champs personnalisés. Utilisé lorsque le schéma est défini sur SuiteTalk (par défaut). | |
Jetons d'accès utilisateur | Permet la création de jetons d’accès pour les utilisateurs via l’authentification basée sur un jeton. | |
Enregistrement personnalisé | [Nom de l'enregistrement personnalisé] | Autorise l’accès à la table d’enregistrement personnalisée spécifiée. |