{{ :logo-apl.png?nolink |}} ===== Web Services ===== ===== Local Shop (Boutique) ===== ==== Introduction ==== La boutique moodle en version Pro présente des Web services permettant la conduite d'opérations de partenariat et d'exposition du catalogue de ventre pour des services tiers. ==== Mise en oeuvre des web services ==== Pour activer les web services, il faudra : * Activer globalement les web services de Moodle * Activer le service "Moodle Shop Definition Access API" * Ajouter un utilisateur autorisé à ce service * Attribuer la capacité local/shop:export à cet utilisateur à travers une assignation de rôle système (si l'utilisateur n'est pas administrateur) * Créer un "token" de service pour le service et l'utilisateur. ==== Catalogue de Web Services ==== === local_shop_get_shop( shopid ) === Synopsys : Récupérer la définition d'une instance de boutique. * **shopid** : L'identifiant d'instance (commence à 1) RETOUR * Un objet descripteur de la boutique Structure générale de réponse : object { id int //Shop id name string //Shop name catalogid string //Master shop catalog description string //Shop description allowtax int //Do the shop apply VAT tax eulas string //Shop eulas paymodes string //Enabled paymodes defaultpaymode string //Default paymode } === local_shop_get_catalog( catalogid ) === Synopsys : Récupérer la définition d'une instance de catalogue. * **catalogid** : L'identifiant de catalogue (commence à 1) RETOUR * Un objet descripteur du catalogue Structure générale object { id int //Catalog id name string //Catalog name description string //Catalog description salesconditions string //Catalog Eulas countryrestrictions string //Countries deserved categories list of ( object { id int //Category id name string //Category name } ) } === local_shop_get_catalogcategory( categoryid ) === Synopsys : Récupérer la définition d'une d'une catégorie de catalogue. * **categoryid** : L'identifiant de categorie (commence à 1) RETOUR * Un objet descripteur de catégorie Structure générale object { id int //Category id catalogid int //Catalog id name string //Category name description string //Category description visible int //Is category visible } === local_shop_get_catalogitem( itemcourse, itemid, q ) === Synopsys : Récupérer la définition d'un produit. * **itemsource** : Le champ de référence pour l'identification du produit ('id', 'code', 'shortname') * **itemid** : L'identifiant de produit, selon le champ source choisi. * **q** : La quantité permettant de calculer le prix unitaire du produit pour cette quantité. RETOUR * Un objet descripteur de produit Structure générale object { id int //Item id catalogid int //Catalog id code string //Item code shortname string //Item shortname (for web UI) name string //Item name description string //Item description eulas string //Item eulas notes string //Item notes type string //Item type, plain, set or bundle status string //Item status unitcost string //Unit cost for input quantity tax string //Tax cost requireddata string //Required data from the front customer leafleturl string //Leaflet url thumburl string //Thumb url imageurl string //Image url } === local_shop_get_catalogitems( catalogid, categoryid, status, type, q ) === Synopsys : Récupérer une liste de produits * **catalogid** : L'identifiant de catalogue, '*' pour tous les catalogues. * **categoryid** : L'identifiant de catégorie, '*' pour toutes les catégories. * **status** : Le statut du produit : 'PREVIEW', 'AVAILABLE', 'AVAILABLEINTERNAL', 'SUSPENDED', 'PROVIDING', 'ABANDONNED'. * **type** : Le type de produit : 'plain', 'set' ou 'bundle', ou '*' pour tous les types. * **q** : La quantité permettant de calculer le prix unitaire du produit pour cette quantité. RETOUR * Un objet descripteur de produit Structure générale list of ( object { id int //Item id catalogid int //Item catalog id categoryid int //Item category id code string //Item code shortname string //Item shortname (for web UI) name string //Item name description string //Item description eulas string //Item eulas notes string //Item notes type string //Item type, plain, set or bundle status string //Item status unitcost string //Unit cost for input quantity tax string //Tax cost requireddata string //Required data from the front customer leafleturl string //Leaflet url thumburl string //Thumb url imageurl string //Image url } ) [[:local:shop:technique|Retour au sommaire du guide technique]] - [[:local:shop|Retour à l'index du composant]]