Aller au contenu principal

Connecteur source NetSuite

The NetSuite source connector lets DataSync retrieve data from NetSuite and load it into your data warehouse. Before creating a connection in DataSync, you need to set up a custom application in NetSuite to generate the credentials required for the connection.

NetSuite connections involve two independent choices. The API schema controls how DataSync queries your data: SuiteTalk gives you full access to custom records, fields, and lists, while SuiteQL is a SQL-like interface built for data retrieval. The authentication mode is either Token-Based Authentication or OAuthHeadless. Keep in mind that SuiteTalk only works with Token-Based Authentication.

Une fois la connexion source créée, configurez la connexion de destination pour finaliser l'installation.

remarque

A NetSuite account with Administration permissions is required to configure the connection.

API Schemas

NetSuite supports two API schemas for retrieving data. Choose the one that fits your use case before setting up the connection.

API schemaWhat it does
SuiteQLA SQL-like interface built for querying NetSuite data. Supports joins, grouping, aggregations, and column selection. Good fit when you only need to read data.
SuiteTalkA SOAP-based interface with full access to custom records, fields, and lists, including saved searches. Grouping and aggregations are processed on the client side. Only works with Token-Based Authentication.

Step 1: Set up NetSuite

The setup process depends on the authentication mode you are using. Token-Based Authentication is required for SuiteTalk connections. OAuthHeadless is available for SuiteQL and keeps connections active for up to 7 days before requiring reauthentication.

Token-Based Authentication

Create an integration

  1. Log in to NetSuite with an administrator account.
  2. Under Configuration, select Intégrations, then Gérer les intégrations.
  3. Click Nouveau.
  4. Enter a name and description for the integration.
  5. Set the Limite d'accès simultané (maximum 5 sessions).
  6. Under Authentification, enable Authentification basée sur un jeton.
  7. Click Enregistrer and copy the ID and Clé secrète du client. You will need both in DataSync.

Enable the Token-Based authentication feature

  1. In the Configuration tab, click Société.
  2. Select Activer les fonctions.
  3. Under SuiteCloud, select Gérer l'authentification.
  4. Enable Authentification basée sur un jeton.
  5. Save your changes.

Create or edit a role

  1. In the Configuration tab, select Utilisateurs/Rôles.
  2. Click Gérer les rôles.
  3. In Général, enable Autorisations d'administration de base.
  4. In Restrictions, select Tout and check Autoriser la consultation d'enregistrement entre filiales.
  5. Under Permissions and Configuration, add:
    • Gestion des jetons d'accès (Complet)
    • Configurer les services Web SOAP (Complet)
    • Services Web REST (Complet) SuiteQL only
    • Services Web SOAP (Complet) SuiteQL only
    • Se connecter à l'aide de jetons d'accès (Complet)
    • Jeton d'accès utilisateur (Complet)
  6. In Rapports, add Classeur SuiteAnalytics (Modifier).
  7. (Facultatif) Add permissions for your target tables under Transactions and Lists.

Assign a role to a user

  1. In the Listes tab, select Employés.
  2. Open the target employee record.
  3. Under Accès, then Rôles, assign the role created above.
  4. Save.

Create an access token

  1. In the Configuration tab, select Utilisateurs/Rôles, then Jetons d'accès.
  2. Create a new access token.
  3. Select the integration application, target user, and role.
  4. Select Enregistrer and copy the Jetons d'accès and Clé secret du jeton. You will need both in DataSync.

Permissions NetSuite

These permissions apply when creating a custom role for Token-Based Authentication. If using the Administrator role with OAuthHeadless, all required permissions are already included.

PermissionWhat it doesAccess Level
Classeurs SuiteAnalyticsAccess to SQL queries in SuiteAnalytics.View
ClientsSample customer access for testing RESTlet connections.View
Gestion des jetons d'accèsCreation and management of access tokens for Token-Based Authentication.
Champs <type> personnalisésAccess to custom fields of the selected type. Required when using Inclure des colonnes de champs personnalisées. Covers Custom Column, Entity, Entry, Item, Transaction, and other Custom Fields.View
Autres champs d'articles personnalisésAccess to other custom field types. Used with Inclure des colonnes de champs personnalisées.View
Listes personnaliséesMetadata access for custom list tables. Used with Inclure des tables de liste personnalisés.View
Types d'enregistrement personnaliséMetadata access for custom record tables. Used with Inclure des tables d'enregistrement personnalisées.View
Enregistrements supprimésAccess to information about deleted records.View
Se connecter à l'aide de jetons d'accèsAuthentication access to REST or SOAP services using a token.
Se connecter à l'aide de jetons
d'accès OAuth 2.0
Authentication access to REST services using OAuth 2.0.
Services Web RESTRESTlet and web service access. Required when the schema is set to SuiteQL.
Services Web SOAPSOAP web service access. Required for SuiteTalk connections and some custom field operations.
Jetons d'accès utilisateurCreation of user-specific tokens with Token-Based Authentication.
[Nom de l'enregistrement personnalisé]Access to the specified custom record table.

Étape 2 : créer la connexion source dans DataSync

  1. Connectez-vous à DataSync.
  2. Depuis l'écran d'accueil, sélectionnez Connexions.
  3. À côté de Connexions de la source, cliquez sur Nouveau.
  4. Sélectionnez Shopify.
  5. Complétez toutes les propriétés de connexion requises.
  6. (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.
  7. Configurez les paramètres avancés selon votre environnement, notamment le Type de suivi.
  8. Cliquez sur Enregistrer. For OAuthHeadless connections, you will be redirected to an authorization page.
  9. Click Continuer to complete.

Propriétés de la connexion

PropriétéDescription
DescriptionNom unique attribué à 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.
Account IDIdentifiant de compte NetSuite. Trouvé dans Setup > Company > Company Information. Exemple : 1234567_SB1
Application IDIdentifiant 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é.
ScopeListe 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.
Identité du clientIdentifiant de client d'application OAuth fourni par NetSuite lors de l'enregistrement. Exemple : abc123clientid
Secret du clientSecret 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 du jeton d'accès(Seulement TokenBased et SuiteTalk) Secret utilisé avec le jeton d'accès pour l'authentification. Exemple : xyz987tokensecret
Analyse des lignesNombre de lignes scannées pour déterminer la structure des colonnes de la table. Plage : 1–999. Par défaut : 50.
DélaiTemps 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 des 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 la mise en PoolOption de pooling de connexion pour la performance.
Délai d'inactivité du PoolTemps d'inactivité maximal 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 du PoolTemps d'attente maximal pour l'attribution de connexion avant qu'une erreur ne soit générée, en secondes.

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.
ValeurValeur associée à la propriété. Exemple : True.
TypeVisibilité 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ètreDescription
Type de suiviMéthode de suivi des modifications de données : Aucun ou Date.
RegionParamètre régional du connecteur, si la configuration l'exige.
Fuseau horaireFuseau horaire correspondant à l'environnement NetSuite.
Décalage de tempsDécalage d'actualisation en secondes pour compenser les écarts de synchronisation lors de la sélection des enregistrements. Minimum 0, maximum 3600.
Taille du lotNombre 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.

Example setup

NetSuite Token-Based Authentication source connection in DataSync
Completed NetSuite source connection in DataSync using Token-Based Authentication, with all properties and settings filled in.