Passer au contenu principal

⚡ Synchroniser WooCommerce et Didask via API pour vendre des formations

Vous vendez vos formations sur un site WooCommerce et souhaitez que vos apprenants reçoivent automatiquement leurs accès dès l’achat ? Ce guide vous explique comment connecter votre boutique à votre espace via API pour automatiser l'accès aux formations.

Écrit par Océane

Vous souhaitez en savoir plus sur l'API publique Didask ? C'est par ici 👈

La documentation API de Didask générique est disponible ici :

🔄 1. Principe de fonctionnement

Le flux complet se déroule ainsi :

  1. Formations : Vos formations Didask sont associées à des produits WooCommerce.

  2. Achat : Le client sélectionne une formation et paie via Stripe (intégré à WooCommerce ou autre outil de paiement).

  3. Confirmation : Stripe confirme le paiement à WooCommerce, qui marque la commande comme Complétée.

  4. Inscription automatique : WooCommerce déclenche un script qui appelle l’API Didask pour :

    • Créer le compte de l’apprenant (s’il n’existe pas encore).

    • L’inscrire immédiatement à la formation achetée.

Important : Stripe doit confirmer le paiement avant que l’inscription soit envoyée à Didask.


🛒 2. Configurer votre bibliothèque de formations

Avant de vendre, vous devez relier chaque produit WooCommerce à la formation Didask correspondante.

Étape 1 : Récupérer la liste de vos formations

Appelez cet endpoint pour obtenir les formations destinées à l’inscription des apprenants :

GET /api/v1/publications?sessionType=assignment

Réponse exemple :

{
"data": [
{ "id": "abc123", "name": "Formation Excel Avancé" },
{ "id": "def456", "name": "Prise de parole en public" }
]
}

Notez le champ id de chaque formation — il correspond au publicationId.

Étape 2 : Lier vos produits WooCommerce

Pour chaque produit à vendre :

  1. Dans l’administration WooCommerce, ouvrez le produit.

  2. Allez dans Données produit > Attributs (ou utilisez un plugin de champs personnalisés comme ACF).

  3. Ajoutez un champ personnalisé nommé didask_pub_id avec la valeur du publicationId correspondant.

Astuce : Si un produit contient plusieurs formations (ex. un pack), utilisez plusieurs champs ou un champ unique avec plusieurs IDs séparés par des virgules.


⚙️ 3. Automatiser l’inscription après l’achat

Lorsqu’une commande passe au statut "Complétée", deux appels API Didask doivent être effectués.

Schéma du flux

Client paie (Stripe)

Stripe confirme le paiement → WooCommerce

Commande marquée "Complétée"

Hook woocommerce_order_status_completed déclenché

① POST /api/v1/users → créer l’apprenant (ou récupérer son ID)

② POST /api/v1/publications/:id/learners → inscrire à la formation

L’apprenant reçoit son invitation par email ✓

Appel 1 — Créer l’apprenant

POST /api/v1/users

Corps de la requête :

{
"email": "[email protected]",
"firstName": "Jean",
"lastName": "Dupont"
}

Si l’utilisateur existe déjà, l’API retourne ses informations sans créer de doublon.

Récupérez l’id dans la réponse, nécessaire pour l’étape suivante.

Réponse exemple :

{
"data": {
"id": "user_789xyz",
"email": "[email protected]"
}
}

Appel 2 — Inscrire à la formation

POST /api/v1/publications/:publicationId/learners

Corps de la requête :

{
"userIds": ["user_789xyz"]
}

Important : cet endpoint attend un tableau d’userIds (les IDs Didask), et non l’email ou le nom de l’apprenant.


Mots clés : WooCommerce, API, appels, inscription, e-commerce


Des questions supplémentaires ? Contactez-nous à l'adresse [email protected]. Notre équipe est à votre disposition pour vous aider et vous accompagner dans vos projets ! 💬

Avez-vous trouvé la réponse à votre question ?