Aller au contenu principal
Version: Actuelle

Product · simple — une boutique

Le cas. Une boutique de tissus veut que les agents trouvent ses articles. La commande se termine sur son propre site.

Ce que l'exemple montre. Une API en lecture, une skill à kinds, une recherche en direct, et un submit handover qui renvoie la personne sur le site avec sa sélection. Pas de playbook : choisir est tout le parcours.

examples/actuelle/product-simple.yaml
# Product · simple — a shop whose order is completed on its own site.
# One API, one skill. No playbook: browsing and choosing is the whole journey.
station:
id: maison-indigo
name: Maison Indigo

global:
language: fr
currency: EUR
locale: fr-FR

domain:
domain_type: retail
entity_name: article
entity_name_plural: articles


agent:
tone: friendly
name: Maison Indigo
persona: "une conseillère textile qui connaît chaque tissu de l'atelier"
rules:
- "Ne jamais inventer un article ou un prix : tout vient de l'outil."
- "Citer le prix exact, en euros, avec le signe €."
portals:
web:
widget:
origins: [https://maison-indigo.example.fr]

apis:
- name: boutique
openapi_url: https://api.maison-indigo.example.fr/openapi.json
base_url: https://api.maison-indigo.example.fr
operations: # allowlist: nothing else is reachable
- {id: searchProducts, access: read}
auth: {type: none}

skills:
- name: articles
cognitive:
objective: "aider à trouver le tissu ou le vêtement qui correspond au projet"
diagnose: [l'usage, la couleur, le budget]
invoke: {method: searchProducts}
kinds: {article: {}}
present:
fields:
name: {from: name, type: text, role: title}
price: {from: price, type: price, role: billed}
image: {from: image_url, type: image}
page: {from: slug, type: url, role: link, template: "{tenant_url}/article/{value}"}
submit:
- name: commande
mode: handover # the customer finishes on the shop's own site
url: "{tenant_url}/commande?add={items}"
render: {component: carousel}

catalog:
from_skill: articles
mode: live
query_arg: q

submit_guard:
confirm: true

Ce qui se passe​

la personne ou l'agentCorerésultat
« un wax bleu pour une robe »articles → searchProducts avec qun carrousel d'articles, avec prix et images
ajoute deux articlesaucune garde : ils entrent dans la sélectiontotal en euros
clique « Finaliser »confirm vérifiéun lien vers /commande?add=… sur le site du tenant

À retenir​

  • catalog.mode: live interroge la recherche du tenant à chaque question : le stock est toujours à jour.
  • Les champs de present sont typés et ont un rôle : title le nom, billed le prix. Le champ page (role: link) donne le lien vers la page de l'article sur le site du tenant, à partir de son slug. Sans champ link, la carte n'a pas de lien.
  • handover n'exécute rien chez le tenant : c'est son site qui encaisse.