Marketplace
Publiez un workflow finalisé sous forme de modèle ou de module et itérez par version ; au téléchargement, les dépendances sont résolues automatiquement et l'ensemble est instanciable dès l'installation.
Le marché est la page « Marché » de la console : les modèles et modules publiés par la communauté et par l'équipe officielle s'y trouvent. Vous pouvez télécharger dans votre propre bibliothèque de modèles ou de modules les entrées publiées par d'autres, et publier vos propres workflows en les itérant par version. Un modèle téléchargé s'instancie en votre propre workflow ; un module téléchargé peut être directement référencé par une étape sub_workflow.
Parcourir et catégoriser
La liste permet de filtrer par type (modèle / module), catégorie et étiquette, et de rechercher par nom, description et étiquette. En haut figurent trois vues : Tout, Mes envois, Mes téléchargements. Chaque carte affiche l'auteur, le dernier numéro de version et le nombre de téléchargements ; les entrées fournies par la plateforme portent la mention « Officiel ».
- Les options du menu déroulant de catégorie proviennent des catégories réelles des entrées actuellement en ligne, et non d'une liste figée ; les catégories et les étiquettes s'affichent selon la langue de votre interface.
- Le marché n'affiche que les entrées en ligne et qui vous sont visibles. Un éditeur peut rendre une entrée publique, visible uniquement par les membres d'une équipe, ou visible uniquement par des utilisateurs désignés ; les entrées non visibles n'apparaissent pas dans votre liste.
- Une entrée déjà téléchargée porte directement la mention « Téléchargé » sur sa carte ; en présence d'une nouvelle version, le bouton devient « Mettre à jour ».
Publier votre modèle ou module
Le point d'entrée de publication se trouve dans l'éditeur de workflow. Seul le propriétaire d'un workflow peut le publier sur le marché — pas même un administrateur ne peut publier la première version à votre place.
- Type : un workflow doté d'un contrat de module peut être publié en tant que « module », sinon il ne peut l'être qu'en tant que « modèle ». Pour publier sous forme de module, commencez par « Promouvoir en module » dans l'éditeur et enregistrez le contrat.
- Vous devez renseigner un titre (obligatoire, 200 caractères au maximum), une description (5000 caractères au maximum), une catégorie, des étiquettes (20 au maximum), une icône, un numéro de version et des notes de mise à jour.
- Le numéro de version doit être au format semver, par exemple 1.0.0 ou 1.0.0-beta.
- Trois niveaux de visibilité : visible par tous les utilisateurs, visible uniquement par les membres des équipes auxquelles j'appartiens (indiquer l'ID d'équipe), visible uniquement par des utilisateurs désignés (indiquer l'ID d'utilisateur). Si vous choisissez la visibilité par équipe, vous devez être membre de chacune des équipes listées.
- Prix : seule la publication gratuite (0 USD) est actuellement prise en charge ; la fonctionnalité payante n'est pas encore ouverte.
- La définition sérialisée du workflow est limitée à 2 Mo ; au-delà, elle est rejetée.
curl -X POST https://braidrun.com/api/marketplace/items \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"sourceWorkflowId": "<workflow-id>",
"type": "TEMPLATE",
"title": "竞品价格日报",
"description": "每天拉取竞品价格并生成对比表",
"category": "数据分析",
"tags": ["监控", "报表"],
"version": "1.0.0",
"changelog": "首个版本",
"visibility": "PUBLIC",
"priceUsdCents": 0
}'Après l'envoi, l'entrée passe à l'état « En attente d'approbation » et n'est mise en ligne qu'après approbation d'un administrateur. Seules les entrées en ligne apparaissent dans la liste du marché des autres utilisateurs. En cas de rejet, le motif du rejet est consultable dans la vue « Mes envois ».
Gestion des versions
Un même workflow ne peut pas être publié à nouveau comme nouvelle entrée — l'éditeur reconnaît automatiquement que « ce workflow a déjà été publié » et bascule la boîte de dialogue sur « Envoyer une nouvelle version ».
- Seul l'auteur d'origine d'une entrée peut en publier de nouvelles versions ; un administrateur de la plateforme peut publier en son nom, mais l'attribution de l'auteur de l'entrée reste inchangée. Pour les entrées intégrées au système, seul un administrateur peut publier de nouvelles versions.
- Le nouveau numéro de version doit être un semver valide et ne peut pas être inférieur à la dernière version actuelle. Un même numéro de version ne peut pas être envoyé deux fois.
- La nouvelle version passe elle aussi en attente d'approbation ; pendant l'approbation, l'entrée elle-même reste en ligne, et les autres utilisateurs téléchargent toujours la dernière version en ligne.
- Les utilisateurs ayant déjà téléchargé cette entrée voient une notification de mise à jour sur la carte du marché et dans « Mes téléchargements » ; il leur suffit de retélécharger pour passer à la dernière version.
- La page de détail de l'entrée liste l'historique complet des versions et les notes de mise à jour de chaque version.
Installation : résolution automatique des dépendances
Cliquez sur « Télécharger » pour enregistrer l'entrée dans votre bibliothèque de modèles ou de modules. Si ce modèle ou module référence d'autres modules (étapes sub_workflow), la plateforme résout d'abord le graphe de dépendances complet avant le téléchargement et signale l'état de chaque dépendance :
| Statut | sens |
|---|---|
| Téléchargé | Votre bibliothèque contient déjà la dernière version de ce module, ignoré |
| Besoin de mettre à jour | Vous avez téléchargé une version antérieure ; elle sera cette fois mise à jour vers la dernière version |
| Disponible | Présent sur le marché mais pas encore téléchargé ; il sera téléchargé cette fois |
| Manquant | Aucun module du même nom introuvable sur le marché |
| Masqué | Le module existe, mais sa visibilité est restreinte à une équipe ou à des utilisateurs dont vous ne faites pas partie |
Après confirmation de « Télécharger avec les dépendances », l'installation suit l'ordre des dépendances : les modules référencés au niveau le plus bas sont installés en premier, puis on remonte niveau par niveau, et l'entrée que vous avez sélectionnée est installée en dernier. Pendant le téléchargement, le workflow_id référencé par sub_workflow dans la copie est automatiquement réécrit vers l'ID de la copie correspondante dans votre bibliothèque — une fois l'installation terminée, aucune référence n'a besoin d'être modifiée à la main : un modèle peut être instancié et exécuté directement, et un module peut être référencé directement.
# 下载最新版,连同依赖一起(返回本次创建的全部下载记录)
curl -X POST "https://braidrun.com/api/marketplace/items/<item-id>/download?withDependencies=true" \
-H "Authorization: Bearer <token>"
# 下载指定历史版本(只下载该条目本身,不做依赖级联)
curl -X POST "https://braidrun.com/api/marketplace/items/<item-id>/download?version=1.2.0" \
-H "Authorization: Bearer <token>"- La résolution des dépendances n'a lieu que lors du téléchargement de la dernière version ; lorsqu'une version historique précise est téléchargée, seule cette entrée elle-même est téléchargée.
- Les références circulaires (A référence B, et B référence A) sont détectées et traitées normalement, sans bloquer l'installation.
- Le téléchargement lui-même ne consomme pas le quota de workflows ; c'est l'instanciation ultérieure qui le consomme.
Lorsqu'une dépendance est affichée comme « manquante » ou « non visible », l'entrée parente peut tout de même être installée dans la bibliothèque, mais l'étape sub_workflow correspondante ne peut pas s'exécuter tant que ce module n'est pas publié ou ne vous devient pas visible. La boîte de confirmation de téléchargement énumère clairement ces lacunes.
Après le téléchargement : instanciation
Le téléchargement ne fait que placer l'entrée dans votre bibliothèque, la copie étant par défaut verrouillée en lecture seule. Deux voies permettent de commencer réellement à l'utiliser :
- Modèle : dans la bibliothèque de modèles, cliquez sur « Utiliser » sur l'entrée téléchargée pour instancier un workflow modifiable, nommé par défaut « Nom d'origine (créé à partir d'un modèle) ». C'est cette étape qui compte dans le quota de nombre de workflows.
- Module : une fois téléchargé, il peut être référencé par nom par vos workflows via une étape sub_workflow ; vous pouvez aussi en instancier une copie modifiable dans la bibliothèque de modules pour la modifier.
Le workflow instancié et l'entrée du marché sont mutuellement indépendants : la publication d'une nouvelle version par l'auteur ne modifie pas votre instance ; désinstaller une entrée dans « Mes téléchargements » n'affecte pas non plus les workflows que vous avez déjà instanciés.
La copie de bibliothèque téléchargée peut être déverrouillée : une fois déverrouillée, vous pouvez la modifier directement dans l'éditeur. Attention toutefois, une mise à jour du téléchargement remplace intégralement cette copie de bibliothèque par la nouvelle version et vos modifications sont perdues — pour des modifications durables, instanciez votre propre workflow avant de le modifier.
Endpoints courants
| Endpoint | Rôle |
|---|---|
GET /api/marketplace/items | Parcourir (paginé, avec filtrage par type / catégorie / étiquette / recherche) |
GET /api/marketplace/items/{id} | Détails de l'entrée + historique des versions |
GET /api/marketplace/categories | Toutes les catégories des entrées actuellement visibles |
POST /api/marketplace/items | Publier une nouvelle entrée |
POST /api/marketplace/items/{id}/versions | Publier une nouvelle version |
GET /api/marketplace/items/{id}/dependencies | Consulter l'arborescence des dépendances |
POST /api/marketplace/items/{id}/download | Télécharger (le téléchargement de la dernière version inclut par défaut les dépendances) |
GET /api/marketplace/my-uploads | Mes entrées publiées |
GET /api/marketplace/my-downloads | Mes entrées téléchargées (avec notifications de mise à jour) |
POST /api/marketplace/downloads/{itemId}/instantiate | Instancier une entrée téléchargée en workflow modifiable |
DELETE /api/marketplace/downloads/{itemId} | Désinstaller une entrée téléchargée (sans affecter les workflows déjà instanciés) |