# MeliBuilder **Repository Path**: Lovely_Rabbit/meli-builder ## Basic Information - **Project Name**: MeliBuilder - **Description**: MeliBuilder - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-09 - **Last Updated**: 2026-09-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MeliBuilder 把源商品 JSON 构建成美客多 CBT 刊登报文。 ## 快速开始 ```bash dotnet build dotnet run --project Samples ``` ## 用法 ```csharp using MeliBuilder; using MeliBuilder.Contracts; var builder = MeliListingBuilder.Create(); var receipt = await builder.BuildAsync(new BuildTask { CategoryId = "CBT416005", Source = "1688", RawJson = raw, Options = new BuildOptions { TitleEn = "Men's Slippers Summer Thick Sole", VariationPriceUsd = 21.40m, Sites = [SiteSell.At("MLM", 21.40m, "gold_special")], }, }); if (receipt.Success) { var payload = receipt.Payloads[0]; foreach (var gap in receipt.Gaps) Console.WriteLine($"{gap.Field}: {gap.Need}"); } ``` `Success` 与 `Publishable` 是两件事: - `Success = false` 构建失败,没有报文 - `Publishable = false` 报文有效,但有字段缺口,按 `Gaps` 补齐后再发 ## 扩展点 装配时替换,不用改引擎: | 接口 | 用途 | | --- | --- | | `ISourceAdapter` | 接新货源,把原始 JSON 转成 `NormalizedProduct` | | `ICategoryKnowledgeProvider` | 提供类目属性表,用于必填校验 | ```csharp var builder = MeliListingBuilder.Create(o => { o.Sources.Add(new MyJdAdapter()); o.CategoryKnowledge = new MyCategoryProvider(); }); ``` ## 项目结构 ``` MeliBuilder.Contracts/ 数据契约 MeliBuilder/ 引擎与门面 Samples/ 接入示例 ``` ## 环境 .NET 9,零外部依赖。