Aller au contenu

sign_proposal

Pour les émetteurs : lancez le flux de signature pour une proposition multisig. L’outil appelle le backend Aktionariat pour verrouiller le nonce et le prix du gaz de la proposition, puis renvoie un lien profond (aktionariat://) plus un code QR SVG pré-rendu. L’utilisateur complète la signature dans l’application mobile Aktionariat — cet outil lui-même ne signe rien.

Requiert une connexion et un accès émetteur à l’entreprise de la proposition. Appelez d’abord list_proposals pour obtenir un id de proposition valide.

ChampTypeObligatoireDescription
idintegerOuiID de la proposition, obtenu à partir de list_proposals.
ChampTypeDescription
proposalIdintegerEcho de l’id saisi.
deepLinkstringaktionariat://proposal/<uid>/<nonce>/<gasPrice> — ouvre l’application Aktionariat pré-chargée avec la proposition.
qrDatastringMême chaîne que deepLink, nommée séparément pour qu’un widget QR ait un champ sémantiquement clair.
qrSvgstringUn document <svg>…</svg> autonome encodant deepLink. Rendez-le en ligne.

Faites toujours les deux points suivants quand cet outil revient :

  1. Rendez qrSvg en ligne dans votre réponse. C’est le format qui s’affiche le mieux dans l’interface utilisateur de Claude et évite les suppositions propres à chaque client.
  2. Affichez deepLink comme lien cliquable, au cas où l’utilisateur serait déjà sur un appareil mobile.
  • “Commencez à signer la proposition 123.”
  • “Signez la proposition en attente la plus récente de mon entreprise.”
  • “Donnez-moi le code QR pour signer la proposition 42.”

Cet outil commence seulement la session de signature. L’utilisateur doit compléter la signature dans l’application mobile Aktionariat — en scannant le code QR ou en ouvrant le lien profond sur son téléphone.

Une fois que l’utilisateur a confirmé qu’il a signé, vérifiez en appelant list_proposals :

  • Pour une proposition monosignée qui devrait maintenant être exécutée on-chain, attendez-vous à state: 'signed'.
  • Pour une proposition multisignée qui nécessite encore plus de signatures, attendez-vous à state: 'pending' avec l’utilisateur ajouté à signers et signedByMe: true.
  • L’outil ne signe rien lui-même. Traitez-le comme le pont entre le chat et l’interface utilisateur de signature de l’application mobile.
  • Un 403 signifie que l’utilisateur connecté n’a pas d’accès émetteur à l’entreprise de la proposition. Réexécutez list_managed_companies et list_proposals pour confirmer que la proposition appartient à une entreprise que l’utilisateur peut gérer.
  • Un 404 signifie que la proposition n’existe pas. Réexécutez list_proposals pour l’entreprise concernée.
  • Un 401 signifie que la session a expiré. Appelez sign_in et réessayez.