Skip to Content
Nouvelle documentation Applite - JS SDK, Dart SDK & REST API
Dart SDKIntroduction

Dart SDK

Le SDK Dart Applite (applite_ui) vous permet d’interagir avec l’API Applite depuis vos applications Flutter et Dart.

Version actuelle: 0.0.1 | Parité avec JS SDK: 100%

Installation

Ajouter la dépendance

Ajoutez le package à votre pubspec.yaml :

dependencies: applite_ui: git: url: https://github.com/applite/dart-sdk.git path: packages/dart_sdk

Ou si vous utilisez un chemin local :

dependencies: applite_ui: path: ../packages/dart_sdk

Installer les dépendances

flutter pub get # ou dart pub get

Initialiser Hive (optionnel)

Si vous souhaitez utiliser le cache local :

import 'package:applite_ui/applite_ui.dart'; void main() async { await initHive(); runApp(MyApp()); }

Configuration

Créez une instance du client SDK :

import 'package:applite_ui/applite_ui.dart'; final applite = AppliteUI( config: const AppliteUIConfig( baseUrl: 'https://api.applite.ai', headers: {'x-environment': 'production'}, ), );

Options de configuration

OptionTypeDescription
baseUrlString?URL de base de l’API (défaut: vide)
headersMap<String, String>?Headers personnalisés
dioDio?Instance Dio personnalisée

Authentification

Toutes les requêtes nécessitent deux paramètres :

  • apiKey : Votre clé API secrète
  • appId : L’identifiant de votre application
final response = await applite.app.customer.list( appId: 'votre_app_id', apiKey: 'votre_api_key', );

Structure du SDK

Le SDK est organisé en modules accessibles via applite.app :

applite.app ├── customer // Gestion des clients ├── info // Informations application ├── stats // Statistiques ├── finance // Solde et transactions ├── welcomeItem // Écrans d'accueil ├── store // Module e-commerce │ ├── product │ ├── category │ ├── order │ ├── seller │ ├── badge │ ├── collection │ ├── discount │ ├── option │ ├── shipping │ ├── tag │ └── tax └── multiService // Module services ├── company ├── service ├── agent └── appointment

Exemple rapide

Gestion des clients

// Lister les clients final customers = await applite.app.customer.list( appId: 'app_id', apiKey: 'api_key', ); print('${customers.data.length} clients trouvés'); // Authentifier un client final auth = await applite.app.customer.auth( appId: 'app_id', apiKey: 'api_key', fullname: 'Jean Dupont', telephone: '+225070000000', ); print('Client ID: ${auth.data.id}'); // Vérifier si un client existe final check = await applite.app.customer.check( appId: 'app_id', apiKey: 'api_key', telephone: '+225070000000', ); if (check.data != null) { print('Client trouvé: ${check.data!.fullname}'); }

Gestion des produits

// Lister les produits final products = await applite.app.store.product.list( ListProductsParams( apiKey: 'api_key', appId: 'app_id', ), ); // Créer un produit final product = await applite.app.store.product.create( CreateProductParams( apiKey: 'api_key', appId: 'app_id', name: 'T-Shirt Premium', sellerId: 'seller_id', categoryId: 'category_id', variants: [ ProductVariant( price: 2500, quantity: 100, isDefault: true, ), ], ), );

Gestion des rendez-vous

// Créer un rendez-vous final appointment = await applite.app.multiService.appointment.create( CreateAppointmentParams( apiKey: 'api_key', appId: 'app_id', serviceId: 'service_id', date: '2024-01-25T14:00:00Z', totalPrice: 1500, ), ); // Mettre à jour le statut await applite.app.multiService.appointment.updateStatus( UpdateAppointmentStatusParams( apiKey: 'api_key', appId: 'app_id', id: appointment.data.id, status: AppointmentStatus.confirmed, ), );

Gestion des erreurs

Toutes les méthodes peuvent lever une ApiException en cas d’erreur :

try { final response = await applite.app.customer.get( appId: 'app_id', apiKey: 'api_key', id: 'customer_id', ); print('Client: ${response.data?.fullname}'); } on ApiException catch (e) { print('Erreur: ${e.message}'); print('Code HTTP: ${e.statusCode}'); }

Structure de ApiException

PropriétéTypeDescription
messageStringMessage d’erreur
statusCodeint?Code HTTP
causeDioException?Exception Dio sous-jacente

Types et énumérations

Le SDK exporte tous les types nécessaires :

import 'package:applite_ui/applite_ui.dart'; // Énumérations PlateformType.store PlateformType.multiService Sexe.M Sexe.F AppointmentStatus.pending AppointmentStatus.confirmed ProductStatus.ACTIVE ProductStatus.DRAFT // Types de paramètres ApiKeyParams AppScopedParams ListProductsParams CreateAppointmentParams // ... etc

Comparaison avec le JS SDK

Le Dart SDK maintient une parité complète avec le JS SDK :

final applite = AppliteUI( config: AppliteUIConfig( baseUrl: 'https://api.applite.ai', ), ); final response = await applite.app.customer.auth( appId: 'app_id', apiKey: 'api_key', fullname: 'Jean Dupont', telephone: '+225070000000', );

Modules

Explorez la documentation détaillée de chaque module :

  • Store - E-commerce (produits, commandes, vendeurs…)
  • Multi-Service - Services et rendez-vous
Last updated on