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

Livraison (StoreShipping)

Le module StoreShippingModule permet de configurer les profils d’expédition, les zones de livraison et les tarifs associés.

Accès : client.app.store.shipping

Concepts clés

Structure hiérarchique

Profil de livraison (Shipping Profile) └── Zones (Zones) └── Tarifs (Rates)
  • Profil : Configuration de livraison globale (ex: “Livraison Standard”, “Express”)
  • Zone : Région géographique (liste de pays)
  • Tarif : Prix et conditions de livraison pour une zone

Types de tarifs

TypeDescription
FLATTarif fixe
WEIGHT_BASEDBasé sur le poids (minVal/maxVal en kg)
PRICE_BASEDBasé sur le montant (minVal/maxVal en devise)

Méthodes

create

Crée un nouveau profil de livraison avec ses zones et tarifs.

const response = await client.app.store.shipping.create({ appId: "app_id", apiKey: "user_api_key", name: "Livraison Standard", sellerId: "seller_id", isDefault: true, zones: [ { name: "Abidjan", countries: ["CI"], rates: [ { name: "Standard", type: "FLAT", price: 1500 }, { name: "Express", type: "FLAT", price: 3000 } ] }, { name: "Afrique de l'Ouest", countries: ["SN", "ML", "BF", "GH"], rates: [ { name: "Standard", type: "WEIGHT_BASED", price: 5000, minVal: 0, maxVal: 5 // jusqu'à 5kg }, { name: "Lourd", type: "WEIGHT_BASED", price: 10000, minVal: 5, maxVal: 20 // 5-20kg } ] } ] });

list

Liste tous les profils de livraison.

const response = await client.app.store.shipping.list({ appId: "app_id", apiKey: "user_api_key" }); // Trouver le profil par défaut const defaultProfile = response.data.find(p => p.isDefault);

get

Récupère les détails d’un profil de livraison.

const response = await client.app.store.shipping.get({ appId: "app_id", apiKey: "user_api_key", id: "profile_id" }); if (response.success) { const profile = response.data; console.log(`Profil: ${profile.name}`); console.log(`Zones: ${profile.zones.length}`); console.log(`Produits associés: ${profile._count.products}`); }

update

Met à jour un profil de livraison.

// Renommer le profil const response = await client.app.store.shipping.update({ appId: "app_id", apiKey: "user_api_key", id: "profile_id", name: "Livraison Express" }); // Définir comme profil par défaut const response2 = await client.app.store.shipping.update({ appId: "app_id", apiKey: "user_api_key", id: "profile_id", isDefault: true }); // Modifier les zones et tarifs const response3 = await client.app.store.shipping.update({ appId: "app_id", apiKey: "user_api_key", id: "profile_id", zones: [ { name: "Nouvelle Zone", countries: ["CI", "SN"], rates: [ { name: "Standard", type: "FLAT", price: 2000 } ] } ] });

delete

Supprime un profil de livraison.

const response = await client.app.store.shipping.delete({ appId: "app_id", apiKey: "user_api_key", id: "profile_id" }); if (response.success) { console.log("Profil de livraison supprimé"); }

Exemple complet

// Créer un profil de livraison complet const profile = await client.app.store.shipping.create({ appId: "app_id", apiKey: "user_api_key", name: "Livraison Internationale", sellerId: "seller_id", isDefault: true, zones: [ { name: "Local (Abidjan)", countries: ["CI"], rates: [ { name: "Gratuit (+50000)", type: "PRICE_BASED", price: 0, minVal: 50000 }, { name: "Standard", type: "FLAT", price: 1500 }, { name: "Express (24h)", type: "FLAT", price: 3500 } ] }, { name: "Afrique de l'Ouest", countries: ["SN", "ML", "BF", "GH", "TG", "BJ"], rates: [ { name: "Léger (<2kg)", type: "WEIGHT_BASED", price: 8000, minVal: 0, maxVal: 2 }, { name: "Standard (2-10kg)", type: "WEIGHT_BASED", price: 15000, minVal: 2, maxVal: 10 }, { name: "Lourd (>10kg)", type: "WEIGHT_BASED", price: 25000, minVal: 10 } ] }, { name: "Europe", countries: ["FR", "BE", "CH", "DE"], rates: [ { name: "Standard (7-14j)", type: "FLAT", price: 35000 }, { name: "Express (3-5j)", type: "FLAT", price: 55000 } ] } ] });

Gestion des erreurs

Code erreurDescription
shipping-profile-not-foundLe profil n’existe pas
not-authorizedLa clé API n’a pas les droits nécessaires
Last updated on