Aller au contenu principal

Connecteur Source NetSuite

Le connecteur source NetSuite dans DataSync vous permet de récupérer des données de NetSuite pour les charger ou les synchroniser dans votre entrepôt de données. Pour configurer une connexion dans DataSync, vous devez d'abord créer une application NetSuite personnalisée dans l'interface NetSuite. Les identifiants de l'application générés sont nécessaires pour remplir les propriétés de connexion dans DataSync. Après avoir créé toutes les connexions source requises, configurez votre source de destination pour compléter la configuration de la connexion.

Schémas API

NetSuite prend en charge deux schémas API pour récupérer des données : SuiteTalk et SuiteQL. Chaque schéma a des capacités et des options de connexion différentes.

Schéma APIDescription
SuiteTalkAPI basé sur SOAP pour communiquer avec NetSuite. Fournit un accès complet aux enregistrements personnalisés, champs et listes. Les recherches enregistrées sont prises en charge via l'API SOAP et les RESTLets. La mise en groupe et les agrégations ne sont pas prises en charge côté serveur et doivent être gérées côté client. Ne prend en charge que l'authentification basée sur les jetons ; OAuthHeadless n'est pas pris en charge.
SuiteQLAPI de type SQL pour interroger les données de NetSuite. Prend en charge les jointures, la mise en groupe, les agrégations et la sélection de colonnes spécifiques. SuiteQL est en lecture seule et destiné à la récupération de données. Recommandé lorsque seule la récupération de données est nécessaire.
remarque

Vous devez avoir un compte NetSuite avec des autorisations Administration pour configurer la connexion.

Configurer une connexion pour NetSuite

Authentification basée sur les jetons

Créer une intégration

  1. Connectez-vous à NetSuite avec un compte administrateur.
  2. Sous Setup, sélectionnez Integration, puis Manage Integrations.
  3. Cliquez sur New.
  4. Entrez un nom et une description pour l'intégration.
  5. Définissez la Limite de Concurrence (maximum 5 sessions).
  6. Sous Authentication, activez Token-Based Authentication.
  7. Cliquez sur Save et copiez le Client ID et le Client Secret — vous en aurez besoin dans DataSync.

Activer la fonction d'authentification basée sur les jetons

  1. Dans l'onglet Setup, cliquez sur Company.
  2. Sélectionnez Enable Features.
  3. Sous SuiteCloud, choisissez Manage Authentication.
  4. Sélectionnez Token-Based Authentication et enregistrez les modifications.

Créer ou éditer un rôle

  1. Dans l'onglet Setup, sélectionnez User/Roles.
  2. Cliquez sur Manage Roles.
  3. Créez un nouveau rôle ou modifiez un rôle existant.
  4. Dans General, activez Core Administration Permissions.
  5. Dans Subsidiary Restrictions, sélectionnez All et cochez Allow cross-subsidiary record viewing.
  6. Sous Permissions et Setup, ajoutez :
    • Gestion des jetons d'accès (Complet)
    • Connexion en utilisant des jetons d'accès (Complet)
    • Services Web REST (Complet) – pour SuiteQL uniquement
    • Services Web SOAP (Complet) – pour SuiteQL uniquement
    • Configurer les services Web SOAP (Complet)
    • Jeton d'accès utilisateur (Complet)
  7. Dans Reports, ajoutez SuiteAnalytics Workbook (Éditer).
  8. (Optionnel) Ajoutez les autorisations nécessaires pour vos tables cibles dans Transactions et Lists (voir Permissions NetSuite).

Attribuer un rôle à un utilisateur

  1. Dans l'onglet List, sélectionnez Employees.
  2. Ouvrez l'enregistrement de l'employé cible.
  3. Dans Access, puis Roles, attribuez le rôle de jeton personnalisé créé ci-dessus et enregistrez.

Créer un jeton d'accès

  1. Dans l'onglet Setup, sélectionnez User/Roles.
  2. Choisissez Access Tokens, puis créez un nouveau jeton d'accès.
  3. Sélectionnez l'application d'intégration, l'utilisateur cible, et le rôle.
  4. Cliquez sur Save et copiez le Client ID généré (OAuthAccessToken) et le Client Secret (OAuthAccessTokenSecret) — vous en aurez besoin dans DataSync.

Permissions NetSuite

Utilisez ces permissions si vous créez un rôle personnalisé (requis pour l'authentification basée sur les jetons, optionnel pour OAuthHeadless). Si vous utilisez le rôle Administrator avec OAuthHeadless, toutes les permissions requises sont déjà présentes. Voir les permissions dans les différents onglets : Transactions, Rapports, Listes, Configuration, Enregistrements Personnalisés.

PermissionDescription
SuiteAnalytics Workbook (View)Accès aux requêtes SQL dans SuiteAnalytics.
Customer (View)Accès à des clients échantillons pour tester les connexions RESTlet.
Gestion des jetons d'accèsPermission pour la création et la gestion des jetons d'accès pour l'authentification basée sur les jetons.
Champs personnalisés <type> (View)Accès aux champs personnalisés du type sélectionné. Requis lors de l'utilisation de Inclure des colonnes de listes personnalisées:

  • Champs de colonnes personnalisées
  • Champs d'entités personnalisés
  • Champs d'entrée personnalisés
  • Champs d'articles personnalisés
  • Champs de transactions personnalisés
  • Champs personnalisés
Autres Champs Personnalisés (View)Accès à d'autres types de champs personnalisés. Utilisé avec Inclure des colonnes de champs personnalisés.
Listes personnalisées (View)Accès aux métadonnées pour les tables de listes personnalisées. Utilisé avec Inclure des tables de listes personnalisées.
Types d'enregistrements personnalisés (View)Accès aux métadonnées pour les tables d'enregistrements personnalisés. Utilisé avec Inclure des tables d'enregistrements personnalisés.
Enregistrements supprimés (View)Accès à l'information sur les enregistrements supprimés.
Connexion en utilisant des jetons d'accèsAccès d'authentification aux services REST ou SOAP en utilisant un jeton.
Connexion en utilisant des jetons d'accès OAuth 2.0Accès d'authentification aux services REST en utilisant OAuth 2.0.
Services Web RESTAccès aux RESTlet et aux services web. Requis lorsque le schéma est défini sur SuiteQL.
Services Web SOAPAccès aux services web SOAP. Requis pour les tests et certaines opérations sur les champs personnalisés lorsque le schéma est défini sur SuiteTalk (par défaut).
Jetons d'accès utilisateurPermission pour la création de jetons spécifiques à l'utilisateur avec l'authentification basée sur les jetons.
[Nom d'enregistrement personnalisé]Accès à la table d'enregistrement personnalisé spécifiée.

Authentification OAuthHeadless

  1. Connectez-vous à NetSuite avec un compte administrateur.
  2. Sous Setup, sélectionnez Integration, puis Manage Integrations.
  3. Cliquez sur New.
  4. Entrez un nom et une description pour l'intégration.
  5. Définissez la Limite de Concurrence (maximum 5 sessions).
  6. Activez TBA: Issue token endpoint et TBA: Authorization Flow.
  7. Ouvrez DataSync, démarrez Créer une connexion source pour NetSuite, et copiez l'URL de rappel à partir des Propriétés de connexion.
  8. Ajoutez l'URL de rappel dans NetSuite dans les champs Callback URL et Redirect URI.
  9. Activez Authorization Code Grant et Public Client.
  10. Sélectionnez les scopes appropriés (recommandation : Restlets et Rest Web Services).
  11. Définissez la Politique de Consentement OAuth 2.0 sur Toujours demander.
  12. Sélectionnez User Credentials.
  13. Cliquez sur Save et copiez le Client ID et le Client Secret — vous en aurez besoin dans DataSync.

Créer une connexion source dans DataSync

  1. Connectez-vous à DataSync.
  2. Depuis l'écran d'accueil, sélectionnez Connections.
  3. À côté de Source Connections, cliquez sur New.
  4. Sélectionnez NetSuite.
  5. Dans le panneau Connection Properties, entrez les propriétés de connexion.
  6. (Optionnel) Dans le panneau Additional Connection Properties, sélectionnez Add property et entrez les paramètres pour chaque propriété.
  7. Dans le panneau Advanced Settings, configurez les paramètres, y compris le Type de Suivi et d'autres valeurs selon vos exigences.
  8. Cliquez sur Save. Si OAuthHeadless a été sélectionné, vous serez redirigé vers une page web d'autorisation. Sélectionnez Continue pour compléter la connexion.

Paramètres

Propriétés de connexion

ParamètreDescription
DescriptionNom unique pour la connexion. Exemple : NetSuite
SchémaSchéma NetSuite utilisé pour la connexion : SuiteQL ou SuiteTalk. Pour SuiteTalk, utilisez l'authentification basée sur les jetons.
ID de compteIdentifiant de compte NetSuite. Trouvé dans Setup > Company > Company Information. Exemple : 1234567_SB1
ID d'applicationIdentifiant de l'application NetSuite fourni après l'enregistrement de l'application dans Setup > Integration > Manage Integrations. Incluez-le toujours pour garantir un accès approprié.
PortéeListe des scopes pour OAuthHeadless. Valeurs : restlets, rest_webservices, ou restlets rest_webservices (les deux, séparés par un espace). Utilisé pour obtenir des jetons d'accès et de rafraîchissement.
Mode d'authentificationMéthode d'authentification. Options : TokenBased ou OAuthHeadless. Les connexions SuiteTalk nécessitent le mode TokenBased et ne peuvent pas être modifiées. Les connexions OAuthHeadless restent actives pendant un maximum de 7 jours avant de nécessiter une ré-authentification manuelle.
URL de rappelURL générée par DataSync lors de l'utilisation d'OAuthHeadless. Copiez et collez dans la configuration de l'application de NetSuite.
Client IDIdentifiant de client d'application OAuth fourni par NetSuite lors de l'enregistrement. Exemple : abc123clientid
Client SecretSecret d'application OAuth fourni par NetSuite lors de l'enregistrement. Exemple : xyz987secretkey
Jeton d'accès(Seulement TokenBased et SuiteTalk) Jeton utilisé au lieu du nom d'utilisateur et du mot de passe pour les connexions SuiteTalk. Exemple : abc123accesstoken
Secret de jeton(Seulement TokenBased et SuiteTalk) Secret utilisé avec le jeton d'accès pour l'authentification. Exemple : xyz987tokensecret
Profondeur de scan des lignesNombre de lignes scannées pour déterminer la structure des colonnes de la table. Plage : 1–999. Par défaut : 50.
TimeoutTemps en secondes à attendre pour l'ouverture de la connexion et l'exécution de la requête avant le timeout. Les requêtes de longue durée (par exemple, récupérer 1 000 commandes de vente avec AggregateColumnMode défini sur ListAndRetrieve) peuvent prendre plus de 10 minutes. Pour les tables enfants ou les colonnes agrégées, envisagez de définir un timeout à 0.
Inclure les tables enfantsOption d'inclusion de tables enfants. Ajoute des tables pour toutes les listes enfants d'une entité (par exemple, table CashRefund avec table enfant ItemList comme CashRefund_ItemList). Utile pour afficher les articles sous forme de lignes individuelles. Peut considérablement augmenter le nombre de tables.
Inclure les colonnes de champs personnalisésOption d'inclusion de champs personnalisés. Ajoute des champs personnalisés aux tables de base en tant que colonnes individuelles. Peut réduire la performance de chargement des métadonnées lors de la première fois. Les métadonnées sont mises en cache par connexion et effacées lorsque la connexion se ferme.
Inclure les tables de listes personnaliséesOption d'inclusion de listes personnalisées. Ajoute des types de listes personnalisées en tant que tables séparées. Peut réduire la performance de chargement des métadonnées lors de la première fois. Les métadonnées sont mises en cache par connexion et effacées lorsque la connexion se ferme.
Inclure les tables d'enregistrements personnalisésOption d'inclusion d'enregistrements personnalisés. Ajoute des types d'enregistrements personnalisés en tant que tables séparées. Peut réduire la performance de chargement des métadonnées lors de la première fois. Les métadonnées sont mises en cache par connexion et effacées lorsque la connexion se ferme.
Colonnes agrégéesOption d'inclusion de colonnes agrégées. Affiche les valeurs agrégées des collections enfants. Nécessite que Inclure les tables enfants soit activé.
Verbosité
  • 1 – Journaliser les requêtes, les comptes de lignes, le début/fin d'exécution, les erreurs.
  • 2 – Inclut le niveau 1 plus les requêtes en cache, les en-têtes HTTP.
  • 3 – Inclut le niveau 2 plus les corps de requête/réponse.
  • 4 – Inclut le niveau 3 plus la communication de niveau transport.
  • 5 – Inclut le niveau 4 plus toutes les commandes de l'interface.
Activer le poolingOption de pooling de connexion pour la performance.
Délai d'inactivité de poolTemps maximum d'inactivité pour les connexions avant de les retourner au pool, en secondes.
Taille maximale du poolNombre maximum de connexions autorisées dans le pool.
Temps d'attente de poolTemps d'attente maximal pour l'allocation de connexion avant qu'une erreur ne soit déclenchée, en secondes.

Propriétés de connexion supplémentaires

Propriétés de chaîne de connexion supplémentaires non spécifiées dans le panneau Connection Properties. Pour chaque propriété ajoutée, vous pouvez choisir Visible ou Encrypted. En sélectionnant Encrypted, la valeur est cachée de l'interface et stockée de manière cryptée dans le backend, comme lors de la définition des mots de passe.

ParamètreDescription
PropriétéPropriété de chaîne de connexion qui définit l'action ou le comportement. Exemple : ReadOnly
ValeurValeur pour la propriété. Exemple : True
TypeVisibilité de la propriété : Visible ou Encrypted.

Paramètres avancés

Les paramètres avancés contrôlent comment le connecteur NetSuite suit les changements, gère la configuration régionale et horaire, et traite les lots de données pendant l'extraction. Ces options permettent un ajustement fin pour la performance et l'exactitude, et doivent être configurées selon votre environnement système et vos exigences opérationnelles.

ParamètreDescription
Type de suiviMéthode de suivi des changements : Aucun ou Date.
RégionParamètre de région pour le connecteur, si nécessaire pour votre configuration.
Fuseau horaireFuseau horaire correspondant au serveur d'application NetSuite.
Décalage horaireDécalage de rafraîchissement en secondes pour compenser les problèmes de synchronisation lors de la sélection des enregistrements. La valeur minimale est 0 ; la valeur maximale est 3600 secondes.
Taille des lotsQuantité d'enregistrements traités dans chaque lot pendant l'extraction. Des tailles de lots plus importantes augmentent l'utilisation de la mémoire mais peuvent améliorer les performances jusqu'à un certain point. La valeur par défaut est 2000 et le maximum ne doit pas dépasser 10000 enregistrements. Ajustez selon votre vitesse de réseau et les performances disque ; dans la plupart des cas, la valeur par défaut (2000) fonctionne mieux.

Exemple