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.
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 schema | What it does |
|---|---|
| SuiteQL | A SQL-like interface built for querying NetSuite data. Supports joins, grouping, aggregations, and column selection. Good fit when you only need to read data. |
| SuiteTalk | A 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
- OAuthHeadless Authentication
Token-Based Authentication
Create an integration
- Log in to NetSuite with an administrator account.
- Under Configuration, select Intégrations, then Gérer les intégrations.
- Click Nouveau.
- Enter a name and description for the integration.
- Set the Limite d'accès simultané (maximum 5 sessions).
- Under Authentification, enable Authentification basée sur un jeton.
- Click Enregistrer and copy the ID and Clé secrète du client. You will need both in DataSync.
Enable the Token-Based authentication feature
- In the Configuration tab, click Société.
- Select Activer les fonctions.
- Under SuiteCloud, select Gérer l'authentification.
- Enable Authentification basée sur un jeton.
- Save your changes.
Create or edit a role
- In the Configuration tab, select Utilisateurs/Rôles.
- Click Gérer les rôles.
- In Général, enable Autorisations d'administration de base.
- In Restrictions, select Tout and check Autoriser la consultation d'enregistrement entre filiales.
- 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)
- In Rapports, add Classeur SuiteAnalytics (Modifier).
- (Facultatif) Add permissions for your target tables under Transactions and Lists.
Assign a role to a user
- In the Listes tab, select Employés.
- Open the target employee record.
- Under Accès, then Rôles, assign the role created above.
- Save.
Create an access token
- In the Configuration tab, select Utilisateurs/Rôles, then Jetons d'accès.
- Create a new access token.
- Select the integration application, target user, and role.
- Select Enregistrer and copy the Jetons d'accès and Clé secret du jeton. You will need both in DataSync.
OAuthHeadless Authentication
- Log in to NetSuite with an administrator account.
- Under Configuration, select Intégration, then Gérer les intégrations.
- Select Nouveau.
- Enter a name and description for the integration.
- Set the Limite d'accès simultané (maximum 5 sessions).
- Enable Authentification TBA : Point d'extrémité issuetoken and Authentification TBA : Flux d'autorisation.
- Open DataSync and start creating the source connection. Copy the URL de rappel from the Connection Properties panel.
- Back in NetSuite, paste the Callback URL into both the URL de rappel and URI de redirection fields.
- Enable Octroi du code d'autorisation and Client public.
- Select the appropriate scopes. Restlets and Rest Web Services are recommended.
- Set Politique de consentement OAuth 2.0 to Toujours demander.
- Select Données d'identification de l'utilisateur.
- Select Enregistrer and copy the ID and Clé secrète du client. 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.
| Permission | What it does | Access Level |
|---|---|---|
| Classeurs SuiteAnalytics | Access to SQL queries in SuiteAnalytics. | View |
| Clients | Sample customer access for testing RESTlet connections. | View |
| Gestion des jetons d'accès | Creation and management of access tokens for Token-Based Authentication. | |
| Champs <type> personnalisés | Access 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és | Access to other custom field types. Used with Inclure des colonnes de champs personnalisées. | View |
| Listes personnalisées | Metadata 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és | Access to information about deleted records. | View |
| Se connecter à l'aide de jetons d'accès | Authentication 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 REST | RESTlet and web service access. Required when the schema is set to SuiteQL. | |
| Services Web SOAP | SOAP web service access. Required for SuiteTalk connections and some custom field operations. | |
| Jetons d'accès utilisateur | Creation 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
- Connectez-vous à DataSync.
- Depuis l'écran d'accueil, sélectionnez Connexions.
- À côté de Connexions de la source, cliquez sur Nouveau.
- Sélectionnez Shopify.
- 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. For OAuthHeadless connections, you will be redirected to an authorization page.
- Click Continuer to complete.
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, utilisez l'authentification basée sur les jetons. |
| Account ID | Identifiant de compte NetSuite. Trouvé dans Setup > Company > Company Information. Exemple : 1234567_SB1 |
| Application ID | Identifiant 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é. |
| Scope | Liste 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'authentification | Mé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 rappel | URL 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 client | Identifiant de client d'application OAuth fourni par NetSuite lors de l'enregistrement. Exemple : abc123clientid |
| Secret du client | Secret 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 lignes | Nombre de lignes scannées pour déterminer la structure des colonnes de la table. Plage : 1–999. Par défaut : 50. |
| Délai | Temps 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 enfants | Option 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és | Option 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ées | Option 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és | Option 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ées | Option 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é |
|
| Activer la mise en Pool | Option de pooling de connexion pour la performance. |
| Délai d'inactivité du Pool | Temps d'inactivité maximal pour les connexions avant de les retourner au pool, en secondes. |
| Taille maximale du Pool | Nombre maximum de connexions autorisées dans le pool. |
| Temps d'attente du Pool | Temps 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. |
| 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. |
Example setup
