Connecteur source NetSuite
Le connecteur source NetSuite permet à DataSync de récupérer les données de NetSuite et de les charger dans un entrepôt de données. Avant de créer une connexion dans DataSync, une application personnalisée dans NetSuite doit être configurée pour g énérer les identifiants nécessaires à la connexion.
Les connexions NetSuite reposent sur deux choix indépendants. Le schéma d'API contrôle la façon dont DataSync interroge les données : SuiteTalk donne un accès complet aux enregistrements, champs et listes personnalisés, tandis que SuiteQL est une interface de type SQL conçue pour la récupération de données. Le mode d'authentification est soit l'authentification basée sur un jeton, soit OAuthHeadless. SuiteTalk fonctionne uniquement avec l'authentification basée sur un jeton.
Une fois la connexion source créée, configurez la connexion de destination pour finaliser l'installation.
Un compte NetSuite avec des permissions d'Administration est requis pour configurer la connexion.
Schémas d'API
NetSuite supporte deux schémas d'API pour récupérer les données. Choisissez celui qui correspond à l'usage prévu avant de configurer la connexion.
| Schéma d'API | Description |
|---|---|
| SuiteQL | Interface de type SQL conçue pour interroger les données NetSuite, avec jointures, regroupement, agrégations et sélection de colonnes. Adapté lorsque seule la lecture des données est nécessaire. |
| SuiteTalk | Interface basée sur SOAP avec un accès complet aux enregistrements, champs et listes personnalisés, y compris les recherches enregistrées. Le regroupement et les agrégations sont traités côté client. Fonctionne uniquement avec Token-Based Authentication. |
Étape 1 : configurer NetSuite
La configuration dépend du mode d'authentification utilisé. L'authentification basée sur un jeton est requise pour les connexions SuiteTalk. OAuthHeadless est disponible pour SuiteQL et maintient les connexions actives jusqu'à 7 jours avant de nécessiter une nouvelle authentification.
- Authentification basée sur un jeton
- Authentification OAuthHeadless
Authentification basée sur un jeton
Créer une intégration
- Connectez-vous à NetSuite avec un compte administrateur.
- Sous Configuration, sélectionnez Intégrations, puis Gérer les intégrations.
- Cliquez sur Nouveau.
- Saisissez un nom et une description pour l'intégration.
- Définissez la Limite d'accès simultané (5 sessions maximum).
- Sous Authentification, activez Authentification basée sur un jeton.
- Cliquez sur Enregistrer et copiez l'ID et la Clé secrète du client. Ces deux valeurs seront nécessaires dans DataSync.
Activer la fonctionnalité d'authentification basée sur un jeton
- Dans l'onglet Configuration, cliquez sur Société.
- Sélectionnez Activer les fonctions.
- Sous SuiteCloud, sélectionnez Gérer l'authentification.
- Activez Authentification basée sur un jeton.
- Enregistrez les modifications.
Créer ou modifier un rôle
- Dans l'onglet Configuration, sélectionnez Utilisateurs/Rôles.
- Cliquez sur Gérer les rôles.
- Dans Général, activez Autorisations d'administration de base.
- Dans Restrictions, sélectionnez Tout et cochez Autoriser la consultation d'enregistrement entre filiales.
- Sous Permissions et Configuration, ajoutez :
- Gestion des jetons d'accès (Complet)
- Configurer les services Web SOAP (Complet)
- Services Web REST (Complet) SuiteQL uniquement
- Services Web SOAP (Complet) SuiteQL uniquement
- Se connecter à l'aide de jetons d'accès (Complet)
- Jeton d'accès utilisateur (Complet)
- Dans Rapports, ajoutez Classeur SuiteAnalytics (Modifier).
- (Facultatif) Ajoutez des permissions pour les tables ciblées sous Transactions et Lists.
Attribuer un rôle à un utilisateur
- Dans l'onglet Listes, sélectionnez Employés.
- Ouvrez la fiche de l'employé concerné.
- Sous Accès, puis Rôles, attribuez le rôle créé précédemment.
- Enregistrez.
Créer un jeton d'accès
- Dans l'onglet Configuration, sélectionnez Utilisateurs/Rôles, puis Jetons d'accès.
- Créez un nouveau jeton d'accès.
- Sélectionnez l'application d'intégration, l'utilisateur cible et le rôle.
- Cliquez sur Enregistrer et copiez le Jeton d'accès et le Secret du jeton. Ces deux valeurs seront nécessaires dans DataSync.
Authentification OAuthHeadless
- Connectez-vous à NetSuite avec un compte administrateur.
- Sous Configuration, sélectionnez Intégration, puis Gérer les intégrations.
- Sélectionnez Nouveau.
- Saisissez un nom et une description pour l'intégration.
- Définissez la Limite d'accès simultané (5 sessions maximum).
- Activez Authentification TBA : Point d'extrémité issuetoken et Authentification TBA : Flux d'autorisation.
- Ouvrez DataSync et commencez à créer la connexion source. Copiez l'URL de rappel depuis le panneau Propriétés de la connexion.
- De retour dans NetSuite, collez l'URL de rappel dans les champs URL de rappel et URI de redirection.
- Activez Octroi du code d'autorisation et Client public.
- Sélectionnez les portées appropriées. Restlets et Rest Web Services sont recommandés.
- Définissez la Politique de consentement OAuth 2.0 sur Toujours demander.
- Sélectionnez Données d'identification de l'utilisateur.
- Cliquez sur Enregistrer et copiez l'ID et la Clé secrète du client. Ces deux valeurs seront nécessaires dans DataSync.
Permissions NetSuite
Ces permissions s'appliquent à la création d'un rôle personnalisé pour Token-Based Authentication. Avec le rôle Administrateur et OAuthHeadless, toutes les permissions requises sont déjà incluses.
| Permission | Description | Niveau d'accès |
|---|---|---|
| Classeurs SuiteAnalytics | Accès aux requêtes SQL dans SuiteAnalytics. | View |
| Clients | Accès à un client exemple pour tester les connexions RESTlet. | View |
| Gestion des jetons d'accès | Création et gestion des jetons d'accès pour Token-Based Authentication. | |
| Champs <type> personnalisés | Accès aux champs personnalisés du type sélectionné. Requis avec Inclure des colonnes de champs personnalisées. Couvre les champs personnalisés de colonne, d'entité, d'entrée, d'article, de transaction et autres. | View |
| Autres champs d'articles personnalisés | Accès aux autres types de champs personnalisés. Utilisé avec Inclure des colonnes de champs personnalisées. | View |
| Listes personnalisées | Accès aux métadonnées des tables de listes personnalisées. Utilisé avec Inclure des tables de liste personnalisées. | View |
| Types d'enregistrement personnalisé | Accès aux métadonnées des tables d'enregistrements personnalisés. Utilisé avec Inclure des tables d'enregistrements personnalisées. | View |
| Enregistrements supprimés | Accès aux informations sur les enregistrements supprimés. | View |
| Se connecter à l'aide de jetons d'accès | Accès d'authentification aux services REST ou SOAP via un jeton. | |
| Se connecter à l'aide de jetons d'accès OAuth 2.0 | Accès d'authentification aux services REST via OAuth 2.0. | |
| Services Web REST | Accès RESTlet et aux services web. Requis lorsque le schéma est défini sur SuiteQL. | |
| Services Web SOAP | Accès aux services web SOAP. Requis pour les connexions SuiteTalk et certaines opérations sur les champs personnalisés. | |
| Jetons d'accès utilisateur | Création de jetons spécifiques à un utilisateur avec Token-Based Authentication. | |
| [Nom de l'enregistrement personnalisé] | Accès à la table d'enregistrement personnalisé spécifiée. |
Étape 2 : créer la connexion source dans DataSync
- Connectez-vous à DataSync.
- Depuis l'écran d'accueil, sélectionnez Connexions.
- À côté de Connexions de la source, cliquez sur Nouveau.
- Sélectionnez NetSuite.
- Complétez toutes les propriétés de connexion requises.
- (Facultatif) Dans le panneau Autres propriétés de la connexion, cliquez sur Ajouter une propriété et définissez les paramètres supplémentaires nécessaires.
- Configurez les paramètres avancés selon votre environnement, notamment le Type de suivi.
- Cliquez sur Enregistrer. Pour les connexions OAuthHeadless, une page d'autorisation s'affiche.
- Cliquez sur Continuer pour terminer.
Propriétés de la connexion
| Propriété | Description |
|---|---|
| Description | Nom unique attribué à la connexion. Exemple : NetSuite. |
| Schéma | Schéma NetSuite utilisé pour la connexion : SuiteQL ou SuiteTalk. Pour SuiteTalk, utiliser l'authentification basée sur les jetons. |
| Account ID | Identifiant de compte NetSuite. Disponible sous Configuration > Société > Informations sur la société. Exemple : 1234567_SB1. |
| Application ID | Identifiant d'application généré après l'enregistrement de l'intégration dans Configuration > Intégration > Gérer les intégrations. À toujours inclure pour garantir un accès approprié. |
| Mode d'authentification | Token-Based ou OAuthHeadless. Les connexions SuiteTalk nécessitent Token-Based. Les connexions OAuthHeadless expirent après 7 jours et nécessitent une nouvelle authentification manuelle. |
| Scope | OAuth uniquement Portées pour les connexions OAuthHeadless. Valeurs acceptées : restlets, rest_webservices, ou les deux séparées par un espace. |
| URL de rappel | OAuth uniquement URL de redirection générée automatiquement par DataSync pour les connexions OAuthHeadless. À coller dans la configuration de l'application NetSuite. |
| ID client | Identifiant client de l'application OAuth fourni par NetSuite. Exemple : abc123clientid. |
| Secret client | Secret client de l'application OAuth fourni par NetSuite. Exemple : xyz987secretkey. |
| Jeton d'accès | TokenBased uniquement Jeton utilisé pour l'authentification à la place du nom d'utilisateur et du mot de passe. Exemple : abc123accesstoken. |
| Secret du jeton d'accès | TokenBased uniquement Secret utilisé avec le jeton d'accès pour l'authentification. Exemple : xyz987tokensecret. |
| Analyse des lignes | Nombre de lignes analysées pour déterminer la structure des colonnes. Plage : 1 à 999. Valeur par défaut : 50. |
| Délai | Temps en secondes alloué avant l'expiration d'une tentative de connexion ou d'une requête. Les requêtes de longue durée peuvent prendre plus de 10 minutes. Pour les tables enfants ou les colonnes agrégées, définir cette valeur sur 0 pour désactiver l'expiration. |
| Inclure les tables enfants | Ajoute des tables pour toutes les listes enfants d'une entité. Par exemple, une table CashRefund avec un enfant ItemList apparaît comme CashRefund_ItemList. Utile pour afficher les articles sous forme de lignes individuelles. Peut augmenter considérablement le nombre total de tables. |
| Inclure des colonnes de champs personnalisés | Ajoute les champs personnalisés aux tables de base sous forme de colonnes individuelles. Peut ralentir le premier chargement des métadonnées. Les métadonnées sont mises en cache par connexion et effacées à la fermeture de la connexion. |
| Inclure les tables de listes personnalisées | Ajoute les types de listes personnalisées sous forme de tables distinctes. Peut ralentir le premier chargement des métadonnées. Les métadonnées sont mises en cache par connexion et effacées à la fermeture de la connexion. |
| Inclure les tables d'enregistrements personnalisés | Ajoute les types d'enregistrements personnalisés sous forme de tables distinctes. Peut ralentir le premier chargement des métadonnées. Les métadonnées sont mises en cache par connexion et effacées à la fermeture de la connexion. |
| Colonnes agrégées | Affiche les valeurs agrégées des collections enfants. Nécessite que Inclure les tables enfants soit activé. |
| Verbosité | Contrôle le niveau de détail écrit dans le journal. Chaque niveau inclut tout ce qui précède plus des informations supplémentaires.
|
| Activer le pooling | Active le pooling de connexions, qui conserve un ensemble de connexions ouvertes et les réutilise entre les extractions au lieu d'ouvrir une nouvelle connexion à chaque fois. Réduit la charge et améliore les performances lorsque plusieurs extractions s'exécutent en même temps. |
| Délai d'inactivité du pool | Temps d'inactivité maximal en secondes avant qu'une connexion soit retournée au pool. |
| Taille maximale du pool | Nombre maximum de connexions autorisées dans le pool en même temps. |
| Temps d'attente du pool | Temps d'attente maximal en secondes pour obtenir une connexion avant qu'une erreur ne soit générée. |
Autres propriétés de la connexion
Ce panneau permet d'ajouter des propriétés de chaîne de connexion qui ne figurent pas dans le panneau Propriétés de la connexion. Pour les valeurs sensibles comme les mots de passe, choisissez le type Crypté. La valeur reste alors masquée dans l'interface et stockée de façon chiffrée côté serveur.
| Propriété | Description |
|---|---|
| Propriété | Propriété de la chaîne de connexion définissant l'action ou le comportement. Exemple : ReadOnly. |
| Valeur | Valeur associée à la propriété. Exemple : True. |
| Type | Visibilité de la valeur : Visible ou Crypté. |
Paramètres avancés
Ces paramètres déterminent la façon dont le connecteur suit les modifications de données, gère l'heure et la région, et traite les enregistrements pendant l'extraction. Ajustez-les selon votre environnement NetSuite afin que les résultats restent exacts et cohérents.
| Paramètre | Description |
|---|---|
| Type de suivi | Méthode de suivi des modifications de données : Aucun ou Date. |
| Region | Paramètre régional du connecteur, si la configuration l'exige. |
| Fuseau horaire | Fuseau horaire correspondant à l'environnement NetSuite. |
| Décalage de temps | Décalage d'actualisation en secondes pour compenser les écarts de synchronisation lors de la sélection des enregistrements. Minimum 0, maximum 3600. |
| Taille du lot | Nombre d'enregistrements traités par lot lors de l'extraction. Des lots plus grands peuvent améliorer les performances mais consomment davantage de mémoire. La valeur par défaut est 2000, le maximum est 10000. À ajuster selon la vitesse du réseau et les performances du disque. La valeur par défaut convient dans la plupart des cas. |
Exemple de configuration
