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

Produits (Dart)

Le module StoreProductModule permet de gérer les produits et leurs variantes.

Accès : applite.app.store.product

Méthodes

list

Liste les produits avec pagination et filtres.

final response = await applite.app.store.product.list( ListProductsParams( apiKey: 'api_key', appId: 'app_id', search: 'T-Shirt', categoryId: 'cat_123', status: ProductStatus.ACTIVE, page: 1, limit: 20, ), ); for (final product in response.data) { print('${product.name} - ${product.variants.first.price} FCFA'); }

Paramètres optionnels :

  • search : Recherche textuelle
  • ids : Filtrer par liste d’IDs
  • categoryId : Filtrer par catégorie
  • sellerId : Filtrer par vendeur
  • collectionIds : Filtrer par collections
  • tagIds : Filtrer par tags
  • status : ProductStatus.ACTIVE, DRAFT, ARCHIVED
  • page : Numéro de page (défaut: 1)
  • limit : Éléments par page (défaut: 20)

create

Crée un nouveau produit avec ses variantes.

final response = await applite.app.store.product.create( CreateProductParams( apiKey: 'api_key', appId: 'app_id', name: 'T-Shirt Premium', sellerId: 'seller_id', categoryId: 'category_id', description: 'Un t-shirt de haute qualité', variants: [ ProductVariant( price: 2500, compareAtPrice: 3000, quantity: 100, sku: 'TSP-001', isDefault: true, images: [ ProductImage(url: 'https://cdn.example.com/tshirt.jpg'), ], ), ], status: ProductStatus.ACTIVE, ), ); print('Produit créé: ${response.data.id}');

Champs requis :

  • name : Nom du produit
  • sellerId : ID du vendeur
  • categoryId : ID de la catégorie
  • variants : Au moins une variante

Champs optionnels :

  • description, sku, status
  • seoTitle, seoDescription
  • collectionIds, tagIds, badgeId
  • shippingProfileId, attributes

get

Récupère les détails d’un produit.

final response = await applite.app.store.product.get( GetProductParams( apiKey: 'api_key', appId: 'app_id', id: 'product_id', ), ); if (response.data != null) { final product = response.data!; print('Nom: ${product.name}'); print('Catégorie: ${product.category?.name}'); print('Variantes: ${product.variants.length}'); }

update

Met à jour un produit existant.

final response = await applite.app.store.product.update( UpdateProductParams( apiKey: 'api_key', appId: 'app_id', id: 'product_id', name: 'T-Shirt Premium V2', status: ProductStatus.DRAFT, ), );

delete

Supprime un produit.

final response = await applite.app.store.product.delete( DeleteProductParams( apiKey: 'api_key', appId: 'app_id', id: 'product_id', ), ); if (response.data == true) { print('Produit supprimé'); }

Types

ProductStatus

enum ProductStatus { ACTIVE, DRAFT, ARCHIVED, }

ProductVariant

class ProductVariant { final int price; final int? compareAtPrice; final int quantity; final String? sku; final bool isDefault; final List<ProductImage>? images; final List<OptionValue>? optionValues; }
Last updated on