Table des matières
Interface partenaire et import de panier
Local Shop (Boutique)
Description
L'interface d'import de panier permet à un partenaire de préparer un achat sur la boutique à partir d'un site tiers par de simples URLs. Le panier de boutique sera chargé d'une commande prédéfinie qui peut ensuite être conduite jusqu'à sa résolution.
L'identité du partenaire est enregistrée dans la session et l'identification de la transaction partenaire sera intégrée aux informations de facture. (L'indication de partenaire est facultative. L'interface d'import de panier fonctionne en dehors du concept de partenaire).
La fonction autodrive de cette interface permet de conduire le processus de commande aussi loin que possible pour minimiser les étapes de réalisation de la commande. Un acheminement automatique vers la synthèse de commande (immédiatement avant paiement) est possible si :
- Les produits n'ont pas besoin de saisie de paramètres externes par l'acheteur (produits entièrement pré-configurés)
- Les produits n'ont pas besoin d'une configuration de bénéficiaires (achat pour compte propre) et le client est pré-authentifié). Si le client acheteur n'est pas préauthentifié, l'acheminement automatique ne pourra aller que jusqu'à la saisie de coordonnées.
Identification du partenaire
La boutique accepte un attribut particulier de requête permettant de recevoir une identité partenaire. Cette identité partenaire sera stockée dans les métadonnées de données de facture. L'identifiant partenaire est produit par enregistrement du partenaire dans le backoffice de boutique par l'administrateur de boutique, et doit représenter un code alpha numérique de 16 caractères maximum.
Certification de la transaction partenaire
L'identité partenaire sera évaluée jusqu'au premier '_' trouvé dans l'attribut de partenaire. Il est conseillé aux partenaires qui souhaitent certifier et garantir l'intégrité de leur identité de générer un code additionnel unique vérifiable par eux (un cryptoken) qui sera stocké dans le champ partenaire. La boutique devra pouvoir alors être en mesure de fournir un listing complet et vérifiable des entrées provenant du partenaire. Ce code doit être unique et sa méthode de génération ne DOIT PAS être connue de la boutique. Le partenaire pourra également mémoriser les codes générés pour rapprochement avec le contenu de la boutique.
Identification éventuelle de l'acheteur, pré-authentification
Un acheteur peut être identifié sur la base de son email. Email ⇒ acheteur unique est un rapprochement possible si l'adresse email est présente dans la base du LMS. L'identification ne vaut cependant pas pour authentification. Cependant, dans le contexte d'une arrivée “contresignée” par une clef partenaire valide, l'identification peut suffire pour authentification par tiers de confiance (le partenaire). Pour que ceci fonctionne, il sera nécessaire que les transactions s'effectuent sous protocole HTTPS, pour garantir l'intégrité de la clef de partenaire. Dans ce scénario, et si la clef partenaire vaut pour authentification SSO déléguée, elle doit être pouvoir vérifiée par la boutique. Elle doit donc être enregistrée en backoffice par la boutique pour pouvoir être vérifiée lors de sa soumission dans une Url de panier d'achat. La vérification d'intégrité ajoute une vérification de “referer”.
Prérequis pour forger les url d'import
Forger des URLs d'import de panier suppose :
- Connaitre l'id de boutique.
- Connaître les “shortname” des produits.
Pour forger des URLs en tant que partenaire :
- Disposer d'un ID partenaire fourni par la boutique.
Forme générale de l'Url
<moodlewwwroot>/local/shop/front/view.php?id=<shopid>&what=import
&<shortname1>=<q1>&<shortname2>=<q2>...
[&partner=<partnercode>][&autodrive=1]
Exemple
Cet appel d'URL va précharger dans le panier le produit “MonProduit” avec une quantité de 2 items du produit.
Partner Code
Le Partner Code :
- Identifie le partenaire
- Identifie la transaction partenaire
- Fournit des éventuelles données d'identification de l'acheteur
Sa forme générale est :
<partnerkey>[_<partnertag>[_<useremail>]]
- parnterkey : Une clef partenaire délivrée par la boutique
- partnertag : une clef unique de transaction générée par le partenaire dans les urls d'import
- useremail : l'adresse mail de l'acheteur, si celle-ci est connue, par exemple, dans une présentation de l'offre faite en mode connecté sur le site du partenaire.
Autodrive
La fonction Autodrive demandera à la boutique de progresser automatiquement aussi loin que possible dans le processus d'achat. La progression s'arrête lorsque des informations doivent être explicitement demandées à l'acheteur. Sans Autodrive, l'URL conduit à la présentation des produits avec un panier prérempli.
Revenir au sommaire du guide technique - Revenir au sommaire du composant
