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 avecSmartbillsProvider et un QueryClientProvider React Query :
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
useQueryouuseInfiniteQuerypour les opérations de lecture. Ils retournent l’objet résultat standard de React Query avecdata,isLoading,error,refetch, et des helpers de pagination. - Les hooks de mutation utilisent
useMutationpour les opérations d’ecriture. Ils retournent des fonctionsmutate/mutateAsyncet invalident automatiquement les entrées de cache associées en cas de succès.
Patrons de Hooks
Hooks de Requête (lecture de données)
Les hooks de requête utilisentuseQuery 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 utilisentuseMutation 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 :useCreateExpenseReportinvalide toutes les requêtes de liste de rapports de dépensesuseUpdateExpenseinvalide les requêtes de liste de dépensesuseApproveApprobationinvalide les requêtes d’approbation et de rapports de dépenses
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 hookusePresignedUpload 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
LeSmartbillsProvider 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