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 textuelleids: Filtrer par liste d’IDscategoryId: Filtrer par catégoriesellerId: Filtrer par vendeurcollectionIds: Filtrer par collectionstagIds: Filtrer par tagsstatus:ProductStatus.ACTIVE,DRAFT,ARCHIVEDpage: 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 produitsellerId: ID du vendeurcategoryId: ID de la catégorievariants: Au moins une variante
Champs optionnels :
description,sku,statusseoTitle,seoDescriptioncollectionIds,tagIds,badgeIdshippingProfileId,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