Skip to main content

Introduction

Le SDK @smartbills/react-hooks fournit un ensemble complet de hooks React construits sur TanStack React Query. Chaque hook encapsule un endpoint de l’API Smartbills avec mise en cache automatique, pagination, invalidation du cache et mises à jour optimistes.
Ce SDK nécessité @smartbills/sdk (le client JS principal) et @tanstack/react-query comme dépendances pairs.

Installation

Configuration du Provider

Encapsulez votre application avec SmartbillsProvider et un QueryClientProvider React Query :
Le SmartbillsProvider rend le client Smartbills disponible à tous les hooks via le contexte React. Le businessId limite tous les appels API à l’entreprise spécifiée.

Fonctionnement des Hooks

En interne, chaque hook correspond à une primitive React Query :
  • Les hooks de requête utilisent useQuery ou useInfiniteQuery pour les opérations de lecture. Ils retournent l’objet résultat standard de React Query avec data, isLoading, error, refetch, et des helpers de pagination.
  • Les hooks de mutation utilisent useMutation pour les opérations d’ecriture. Ils retournent des fonctions mutate / mutateAsync et invalident automatiquement les entrées de cache associées en cas de succès.
Cela signifie que vous bénéficiez de toutes les fonctionnalités intégrées de React Query : refetch en arriere-plan, stale-while-revalidate, mises à jour optimistes, défilement infini et support des devtools.

Patrons de Hooks

Hooks de Requête (lecture de données)

Les hooks de requête utilisent useQuery ou useInfiniteQuery en interne. Ils retournent l’objet résultat standard de React Query :

Hooks de Mutation (ecriture de données)

Les hooks de mutation utilisent useMutation et invalident automatiquement les requêtes associées en cas de succès :

Invalidation Automatique du Cache

Lorsqu’une mutation reussit, le SDK invalide automatiquement les requêtes associées. Par exemple :
  • useCreateExpenseReport invalide toutes les requêtes de liste de rapports de dépenses
  • useUpdateExpense invalide les requêtes de liste de dépenses
  • useApproveApprobation invalide les requêtes d’approbation et de rapports de dépenses
Cela signifie que votre interface reste synchronisée sans récupération manuelle.

Domaines Disponibles

Le SDK fournit des hooks pour 37 domaines couvrant l’ensemble de la plateforme Smartbills :

Dépenses

Lister, télécharger, mettre à jour, supprimer, diviser, opérations en lot, exporter

Rapports de Dépenses

CRUD, soumettre, approuver, rejeter, rappelér, rembourser, commenter

Approbations

En attente, approuvées, rejetées, rembourser, demander des changements

Factures Fournisseurs

CRUD, approuver, planifier le paiement, marquer comme payee, annuler

Factures

CRUD, envoyer, annuler, marquer comme payee, dupliquer, résumé

Fournisseurs

CRUD, fusionner, suppression en lot, télécharger le logo

Employés

Lister et gérer les dossiers des employés

Catégories

Lister et gérer les catégories de dépenses

Départements

Lister et gérer les départements

Uploads Présignés

Le SDK inclut un hook usePresignedUpload qui gère le flux complet d’upload présigné S3 :

Options React Query

Chaque hook accepte les options standard de React Query comme dernier paramètre, vous donnant un contrôle total sur le comportement du cache :

Flux d’Authentification

Le SmartbillsProvider accepte une instance SmartbillsClient pre-configurée. Pour les applications ou le jeton d’accès changé (par exemple, après la connexion de l’utilisateur), mettez à jour l’instance du client et React Query refetchera automatiquement :

Prochaînes Étapes

Référence des Hooks

Référence complète de plus de 100 hooks organisés par domaine