Passer au contenu principal

Qu’est-ce qu’un SKU ?

Un SKU (Stock Keeping Unit) représente une variante spécifique d’un produit. Par exemple, pour un t-shirt, chaque combinaison taille/couleur est un SKU distinct.
Format de l’identifiant : sku_ suivi de 36 caractères alphanumériques.Exemple : sku_abc123def456ghi789jkl012mno345

Relation Produit → SKU

Produit "T-shirt Premium"
├── SKU "T-shirt S Blanc" (TSHIRT-S-WHITE)
├── SKU "T-shirt M Blanc" (TSHIRT-M-WHITE)
├── SKU "T-shirt L Blanc" (TSHIRT-L-WHITE)
├── SKU "T-shirt S Noir" (TSHIRT-S-BLACK)
├── SKU "T-shirt M Noir" (TSHIRT-M-BLACK)
└── SKU "T-shirt L Noir" (TSHIRT-L-BLACK)
Un produit peut avoir plusieurs SKUs, et chaque SKU peut avoir plusieurs prix (différentes devises, abonnements mensuels/annuels, etc.).

Attributs du SKU

Attributs principaux

AttributTypeDescription
idstringIdentifiant unique du SKU
productIdstringRéférence au produit parent
skuCodestringCode unique du SKU (ex: “TSHIRT-S-WHITE”)
namestringNom de la variante
attributesobjectAttributs de la variante (taille, couleur, etc.)

Gestion du stock

AttributTypeDescription
stockTrackingbooleanGestion du stock activée
stockQuantitynumber | nullQuantité en stock (null si non suivi)

Créer un SKU

SKU simple

curl -X POST https://api.yabetoo.com/v1/products/prod_abc123/skus \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "skuCode": "TSHIRT-M-WHITE",
    "name": "T-shirt M Blanc",
    "attributes": {
      "size": "M",
      "color": "white"
    },
    "stockTracking": true,
    "stockQuantity": 100
  }'

SKU sans gestion de stock

Pour les produits numériques ou services, désactivez le suivi du stock :
curl -X POST https://api.yabetoo.com/v1/products/prod_abc123/skus \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "skuCode": "FORMATION-PRO",
    "name": "Formation Pro",
    "attributes": {
      "access": "lifetime"
    },
    "stockTracking": false
  }'

Réponse API

{
  "id": "sku_xyz789abc123def456",
  "object": "sku",
  "productId": "prod_abc123def456ghi789",
  "skuCode": "TSHIRT-M-WHITE",
  "name": "T-shirt M Blanc",
  "attributes": {
    "size": "M",
    "color": "white"
  },
  "stockTracking": true,
  "stockQuantity": 100,
  "createdAt": "2024-01-15T10:30:00.000Z",
  "updatedAt": "2024-01-15T10:30:00.000Z"
}

Gestion du stock

Lorsque stockTracking est activé, le système gère automatiquement le stock :
  • Vérification avant achat : La disponibilité est vérifiée avant de valider une commande
  • Mise à jour automatique : Le stock est décrémenté lors d’un achat
  • Restauration automatique : En cas d’annulation ou d’échec de paiement, le stock est restauré
Pour les produits numériques ou services, désactivez stockTracking pour permettre des ventes illimitées.

Attributs personnalisés

Le champ attributes est un objet JSON flexible qui peut contenir n’importe quelle combinaison d’attributs :
{
  "size": "L",
  "color": "blue",
  "material": "cotton"
}

Code SKU

Le skuCode est un identifiant unique et lisible par l’humain pour la gestion interne :
PatternExempleDescription
PRODUIT-TAILLE-COULEURTSHIRT-M-WHITEStandard pour vêtements
PRODUIT-OPTION1-OPTION2PHONE-256GB-BLACKÉlectronique
CATEGORIE-REFBOOK-978123456Livres avec ISBN
SERVICE-PLANSAAS-PRO-MONTHLYServices/abonnements
  • Utilisez des caractères alphanumériques et tirets uniquement
  • Gardez les codes courts mais descriptifs
  • Évitez les espaces et caractères spéciaux
  • Soyez cohérent dans votre nomenclature

Opérations courantes

Lister les SKUs d’un produit

curl https://api.yabetoo.com/v1/products/prod_abc123/skus \
  -H "Authorization: Bearer sk_live_..."

Mettre à jour un SKU

curl -X PATCH https://api.yabetoo.com/v1/skus/sku_xyz789 \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "stockQuantity": 150,
    "name": "T-shirt M Blanc - Édition Limitée"
  }'

Mettre à jour le stock

curl -X PATCH https://api.yabetoo.com/v1/skus/sku_xyz789/stock \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "stockQuantity": 200
  }'

Relation SKU → Prix

Chaque SKU peut avoir plusieurs prix pour différentes stratégies tarifaires :
SKU "Formation Pro"
├── Prix 99€ (paiement unique)
├── Prix 19€/mois (abonnement mensuel)
├── Prix 199€/an (abonnement annuel)
└── Prix 65 000 XOF (paiement unique Afrique)
Voir Documentation des Prix pour configurer la tarification.

Exemples complets

{
  "product": {
    "name": "Jean Slim",
    "type": "physical",
    "hasSkus": true
  },
  "skus": [
    {
      "skuCode": "JEAN-SLIM-28-BLUE",
      "name": "Jean Slim 28 Bleu",
      "attributes": { "waist": "28", "color": "blue" },
      "stockTracking": true,
      "stockQuantity": 25
    },
    {
      "skuCode": "JEAN-SLIM-30-BLUE",
      "name": "Jean Slim 30 Bleu",
      "attributes": { "waist": "30", "color": "blue" },
      "stockTracking": true,
      "stockQuantity": 40
    },
    {
      "skuCode": "JEAN-SLIM-32-BLACK",
      "name": "Jean Slim 32 Noir",
      "attributes": { "waist": "32", "color": "black" },
      "stockTracking": true,
      "stockQuantity": 15
    }
  ]
}

Prochaines étapes

Configurer les prix

Définissez la tarification pour chaque SKU

Créer des promotions

Appliquez des réductions sur vos SKUs