Authentification auprès d'Oracle NetSuite avec un rôle personnalisé

Prev Next

Cet article répertorie les autorisations NetSuite minimales requises pour qu'un rôle personnalisé puisse utiliser les RESTlets de la SuiteApp Payhawk. La SuiteApp ne nécessite plus le rôle Administrateur — tout rôle disposant d'un accès à l'authentification basée sur les jetons (TBA) et des autorisations listées ci-dessous peut être utilisé.

Documentation de référence

Création d’un rôle personnalisé

Pour créer un rôle dédié à l'intégration Payhawk, suivez les étapes suivantes :

  1. Dans Oracle NetSuite, accédez à Configuration -> Utilisateurs/Rôles -> Gérer les rôles -> Nouveau.

  2. Nommez le rôle, par exemple, Intégration Payhawk.

  3. Sur la fiche de rôle, cochez Rôle réservé aux services Web (recommandé – empêche la connexion à l'interface utilisateur avec ce rôle).

  4. Ajoutez les autorisations répertoriées ci-dessous sous les sous-onglets Autorisations (Configuration, Transactions, Listes).

  5. Enregistrer le rôle.

  6. Attribuez le rôle à l'utilisateur : Listes -> Employés -> [Utilisateur] -> Accès -> Rôles.

Autorisations

Transactions

Page de rôles → Autorisations → Sous-onglet Transactions

Autorisation

Niveau

Factures

Complet

Dépôt

Créer

Saisir des avoirs fournisseurs

Complet

Reporting de notes de frais

Complet

Rechercher une transaction

Afficher

Créer une écriture de journal

Complet

Payer des factures

Complet

Bon de commande

Complet

Rapports

Page de rôle → Autorisations → Sous-onglet Rapports

Autorisation

Niveau

Tableau des flux de trésorerie

Afficher

Listes

Page de rôle → Autorisations → Sous-onglet Listes

Autorisation

Niveau

Comptes

Complet

Tableaux d'amortissement

Afficher

Cours

Afficher

Devise

Complet

Journal d'audit du plug-in des lignes GL personnalisées

Afficher

Clients

Afficher

Départements

Afficher

Documents et fichiers

Complet

Dossier de l'employé

Complet

Employés

Complet

Articles

Afficher

Emplacements

Afficher

Projets

Afficher

Filiales

Afficher

Dossiers fiscaux

Afficher

Fournisseurs

Complet

Configuration

Page de rôle → Autorisations → Sous-onglet Configuration

Autorisation

Niveau

Préférences comptables

Complet

Informations sur l'entreprise

Complet

Champs de corps personnalisés

Afficher

Champs de colonnes personnalisés

Afficher

Champs d'entité personnalisés

Afficher

Champs personnalisés

Afficher

Champs d'article personnalisés

Afficher

Listes personnalisées

Afficher

Types d'enregistrements personnalisés

Afficher

Segments personnalisés

Afficher

Champs de transaction personnalisés

Afficher

Formulaires de transaction personnalisés

Afficher

Se connecter avec des jetons d'accès

Complet

Gérer les périodes comptables

Afficher

Gérer les périodes de déclaration fiscale

Complet

Autres champs personnalisés

Afficher

SuiteScript

Afficher

Paramètres de permissions pour les transactions, les rapports, les listes, la configuration et les options d'enregistrement personnalisé.

Autorisations globales de l'utilisateur

Autorisation

Niveau

Gestion des jetons d'accès

Complet

Relation entité-filiale

Complet

SuiteSignOn

Complet

L'interface affiche les permissions globales et les différents niveaux d'accès pour les rôles d'utilisateur.

Notes pour les développeurs

Points de terminaison génériques : Les records-restlet et suiteql-restlet sont des points de terminaison génériques permettant d'accéder à n'importe quel type d'enregistrement. Le rôle doit disposer des autorisations pour chaque type d'enregistrement interrogé via ces points de terminaison. Si une autorisation est manquante, ces points de terminaison renverront une erreur structurée.

  • Compatibilité ascendante : La SuiteApp continue de fonctionner avec le rôle Administrateur. Aucune modification n'est requise pour les connexions existantes utilisant le rôle Administrateur.

  • Référence complète des autorisations : Pour une compréhension complète de toutes les implications des autorisations NetSuite, téléchargez le fichier officiel NetSuitePermissionsUsage.xls.

Dépannage

Diagnostic : Vérifiez le journal d'audit de connexion dans Configuration -> Utilisateurs/Rôles -> Afficher l'historique de connexion. Ajoutez les colonnes Détail, Nom du jeton d'accès basé sur un jeton et Nom de l'application basée sur un jeton pour afficher les raisons détaillées des échecs.

INSUFFICIENT_PERMISSION / insufficient-permissions

Cette erreur signifie que l'authentification TBA a réussi, mais que le rôle ne dispose pas des autorisations nécessaires pour l'enregistrement ou l'opération en question. Les records-restlet et suiteql-restlet renvoient une erreur structurée :

{ "errors": [{ "code": "insufficient-permissions", "message": "..." }] }

Ajoutez l'autorisation manquante dans les tableaux ci-dessus. Le message d'erreur indique généralement le type d'enregistrement qui nécessite un accès.

Permission_denied

Cette erreur de niveau TBA signifie que le rôle ou l'entité utilisateur n'est pas utilisable. Vérifiez :

  1. Le rôle est actif (non désactivé).

  2. L'utilisateur n'a pas désactivé le rôle sur sa page Afficher mes rôles.

  3. Le rôle dispose des autorisations TBA attribuées.