摘要
通过 AI 代理在 B&Q 市场上运营你的商店:订单、接受、跟踪和发货、事件、带价格和库存的报价、导入、消息、退货、发票和交易。该市场在英国销售;使用来自你的 B&Q 卖家后台的商店 API 密钥登录。
引导式设置
2 分钟将 B&Q Marketplace 连接到 Claude、ChatGPT 或 Copilot
开始 AnythingMCP Cloud 免费试用,在引导式设置中连接 B&Q Marketplace,再把你的 MCP URL 添加到你的 AI 助手。无需代码,也无需自行运行服务器。
无需信用卡 · 7 天试用 · 提供自托管方案
试试这样问
B&Q Marketplace 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 不需要安装?直接使用 cloud.anythingmcp.com。 登录,点击 Connectors → B&Q Marketplace,粘贴你的凭据,生成一个 MCP API 密钥,完成。无需 Docker,无需
git clone,无需本地服务器。
B&Q 市场
通过 AI 代理在 B&Q 市场上运营你的商店:订单、接受、跟踪和发货、事件、带价格和库存的报价、导入、消息、退货、发票和交易。该市场在英国销售;使用来自你的 B&Q 卖家后台的商店 API 密钥登录。
设置
国家:英国。
谁可以销售:B&Q 通过 Kingfisher Merchant Hub 接受申请;企业必须注册增值税。连接器需要一个 B&Q 已经开通的卖家账户。
B&Q 属于 Kingfisher,这就是卖家平台位于 Kingfisher 地址的原因。
设置大约需要 5 分钟。
- 登录 B&Q 卖家后台:
https://marketplace.kingfisher.com/login。 - 在后台打开你的用户名(右上角)> 我的用户设置 > API 密钥,点击 生成新密钥(或复制现有密钥)。将其粘贴到
B_AND_Q_API_KEY中。密钥以原样形式在Authorization头中发送,不带Bearer。生成新密钥会使旧密钥失效,因此使用旧密钥的任何其他工具将停止工作。 - B&Q 上的卖家通常设置商店 ID,单个商店也是如此。如果你的用户有多个商店,请将
B_AND_Q_SHOP_ID设置为该连接器应使用的商店的数字 ID(在后台仪表板的 标识符 或 商店 ID 旁边显示,并由b_and_q_get_account返回为shop_id);要在多个商店上工作,每个商店安装一次连接器。没有它将使用你的默认商店。 - 安装并运行
b_and_q_get_account:它返回密钥所属的商店。
从哪里开始:b_and_q_get_account 显示密钥背后的商店(ID、名称、状态、货币和渠道)。日常工作中使用 b_and_q_list_orders,参数为 order_state_codes=WAITING_ACCEPTANCE,使用 b_and_q_list_offers 获取价格和库存,使用 b_and_q_list_threads 获取等待回复的消息。
产品和竞争报价:b_and_q_get_products 通过 EAN 或其他参考在 B&Q 目录中查找产品,并返回市场产品 SKU;b_and_q_list_product_offers 列出给定产品的每个商店的报价,按最佳价格排序,每分钟大约 5 次调用。
订单工作流程:新订单在 WAITING_ACCEPTANCE 中等待。b_and_q_accept_order 接受(或拒绝)每一行;在客户被扣款后,订单转移到 SHIPPING。然后 b_and_q_update_tracking 存储承运人和跟踪号码(承运人代码来自 b_and_q_list_carriers),b_and_q_ship_order 确认发货(SHIPPED)。后续状态为 TO_COLLECT、RECEIVED、CLOSED、REFUSED 和 CANCELED。使用 b_and_q_list_orders,参数为 order_state_codes=WAITING_ACCEPTANCE,获取日常待办事项,并使用 has_incident=true 获取未解决的事件;b_and_q_resolve_incident 在问题解决后关闭一个订单行上的事件。附加到订单的文档(交货单、标签、客户发票)由 b_and_q_list_order_documents 列出。
写入:先确认。 b_and_q_accept_order、b_and_q_update_tracking、b_and_q_ship_order、b_and_q_resolve_incident、b_and_q_accept_return、b_and_q_receive_return、b_and_q_update_offers、b_and_q_reply_thread、b_and_q_create_order_thread 和 b_and_q_import_products 在实时市场上操作。在每次调用之前,向用户展示将要更改的内容(订单 ID 和行、跟踪号码、报价 SKU 及其旧价格和新价格或库存、消息文本和收件人),并等待确认。拒绝订单行将永久取消。此处没有工具可以退款、取消订单或转移资金;请在后台处理。b_and_q_import_offers 可以删除报价(REPLACE 模式会删除文件中缺失的每个报价),因此它的安装是关闭的。
更新报价(价格和库存):b_and_q_update_offers(OF24)替换整个报价。你遗漏的每个字段都会被重置:缺失的 quantity 变为 0,缺失的 discount 或 description 被删除。始终先读取报价(b_and_q_get_offer 或 b_and_q_list_offers,参数为 sku),然后将其完整发送回去,仅包含预期的更改:shop_sku、product_id 和 product_id_type(来自 product_references)、state_code、price、quantity、leadtime_to_ship、logistic_class(其代码)、min_quantity_alert、description、discount、all_prices、available_started / available_ended(读取为 available_start_date / available_end_date)以及任何 offer_additional_fields。将 update_delete 留空或设置为 update。调用返回一个 import_id;更改是异步应用的,因此在再次读取报价之前,请使用 b_and_q_get_offer_import 检查它。state_code 的条件代码来自 b_and_q_list_offer_conditions,物流类别代码来自 b_and_q_list_logistic_classes。
文件导入:b_and_q_import_products(P41)和 b_and_q_import_offers(OF01)接受 B&Q 要求的文件格式的 CSV、XLSX 或 XML 文件的 URL;连接器下载并将其上传到 B&Q。使用 b_and_q_list_product_imports / b_and_q_get_product_import 和 b_and_q_list_offer_imports / b_and_q_get_offer_import 跟踪它们。
退货:b_and_q_list_returns(RT11)列出退货请求。在 B&Q 允许商店决定的情况下,b_and_q_accept_return 接受或拒绝一个处于 WAITING_ACCEPTANCE 状态的请求,b_and_q_receive_return 确认货物已到达。退款留在后台处理。
消息:b_and_q_list_threads 列出与客户和 B&Q 的对话(通过 entity_type=MMP_ORDER 和 entity_id=<order id> 过滤单个订单;没有 entity_type 的 entity_id 会被拒绝),b_and_q_get_thread 读取一个对话及其消息,b_and_q_reply_thread 回复(收件人 CUSTOMER 或 OPERATOR,即 B&Q),b_and_q_create_order_thread 在订单上开启新的对话。主题的原因代码来自 b_and_q_list_reasons;除非你知道市场有该语言,否则将其 locale 留空(非活动语言会返回 400)。
资金:b_and_q_list_invoices(IV01)列出 B&Q 向商店发出的会计文件,b_and_q_list_transactions(TL02)列出交易行(销售、佣金、退款、支付)。如果 B&Q 使用增强型卖家开票,IV01 不会返回新文件;请使用 b_and_q_list_document_requests(DR11)和交易。
参考列表:b_and_q_list_channels(国家网站)、b_and_q_list_carriers、b_and_q_list_shipping_zones、b_and_q_list_shipping_methods 和 b_and_q_list_logistic_classes 变化很少;每次对话读取一次。
分页:订单、报价、发票和产品导入使用 max(最多 100)和 offset 进行分页。对话、退货、交易、文档请求和报价导入返回 next_page_token;将其作为 page_token 传递以获取下一页(所有其他过滤器将被忽略),直到它缺失。
日期为 ISO 8601,例如 2026-10-01T00:00:00Z;答案为 UTC。
速率限制:每个 API 有其自己的限制,B&Q 可能会收紧这些限制。列出报价和订单是为了交互使用,产品和报价导入最多每 15 分钟一次,b_and_q_get_account 和参考列表大约每天一次。429 会带有 Retry-After 头,指示等待的秒数;请勿循环重试。
错误:401 表示密钥错误或已被更新的密钥替换,403 表示你的用户没有此操作的权限,404 表示该订单、报价或对话在此商店中不存在,400 表示参数错误或订单处于错误状态(消息会说明,例如 ORDER_INVALID_STATE)。
先决条件:B_AND_Q_API_KEY
本地安装连接器
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
打开 http://localhost:3000/connectors/store,选择 B&Q Marketplace 并粘贴在先决条件下列出的环境变量。
可用工具
| 工具 | 功能 |
|---|---|
b_and_q_get_account | 读取此市场上 API 密钥背后的商店(A01):商店 ID 和名称、状态、渠道、货币、等级和批准率、联系方式… |
b_and_q_list_orders | 列出订单(OR11)及其行、客户、送货地址、价格、状态和事件。按状态过滤(例如 WAITING_ACCEPTANCE… |
b_and_q_list_offers | 列出商店的报价(OF21):SKU、产品、价格和折扣、所有渠道价格、库存数量、状态、交货时间和是否… |
b_and_q_get_offer | 通过报价 ID(OF22)读取完整报价:每个价格字段、折扣、数量、状态、物流类别、交货时间和自定义… |
b_and_q_list_offer_conditions | 列出市场接受的报价条件(OF61),例如新或二手,更新报价时在 state_code 中放入的代码 |
b_and_q_list_offer_imports | 列出报价导入和更新(OF04),来自文件和 b_and_q_update_offers:状态(WAITING、RUNNING、COMPLETE、FAILED)、读取的行… |
b_and_q_get_offer_import | 通过其 import_id 读取一个报价导入或报价更新的状态(OF02),由 b_and_q_update_offers 或 b_and_q_import_offers 返回… |
b_and_q_list_product_imports | 列出产品导入(P51)及其状态(WAITING、RUNNING、SENT、COMPLETE、FAILED、CANCELLED)、转换计数和… |
b_and_q_get_product_import | 通过其 import_id 读取一个产品导入(P42)的状态:导入状态、原因、转换计数和集成细节… |
b_and_q_get_products | 通过其标识符(P31)在市场目录中查找产品,例如 EAN,并获取市场产品 SKU、标题和类别… |
b_and_q_list_product_offers | 列出给定产品的每个商店的报价(P11),按最佳价格排序,以便与竞争对手的价格进行比较。提供 product_ids… |
b_and_q_list_threads | 列出与客户和 B&Q 的消息线程(M11):主题、关联的订单或报价、参与者、最后消息日期以及商店自何时… |
b_and_q_get_thread | 读取一个消息线程(M10),包括所有消息、发件人、收件人、附件以及关联的订单或报价 |
b_and_q_list_returns | 列出退货请求(RT11),包括其状态、退货行、原因、RMA、跟踪和关联的订单。按状态、订单或日期过滤… |
b_and_q_list_reasons | 列出市场的原因代码(RE01):事件、取消、退款和消息原因,带有其标签以及商店是否可以… |
b_and_q_list_carriers | 列出市场已知的承运人(SH21),包括其代码、标签和跟踪 URL。使用代码作为… |
b_and_q_list_invoices | 列出 B&Q 向商店发出的会计文件(IV01):发票和信用单,带有期间、总额(含税和不含税)、佣金… |
b_and_q_list_transactions | 列出商店的交易行(TL02):订单金额、运费、佣金、退款、手动信用和支付,带有金额、类型… |
b_and_q_list_document_requests | 列出会计文档请求(DR11),在 B&Q 运行增强型卖家开票时使用:B&Q 或商店请求的发票和信用单… |
b_and_q_list_order_documents | 列出附加到一个或多个订单的文档(OR72):交货单、运输标签、客户发票和其他文件,带有 ID、文件… |
b_and_q_list_channels | 列出市场的销售渠道(CH11),通常每个国家网站一个,带有代码和标签。使用代码作为… |
b_and_q_list_shipping_zones | 列出市场的活跃运输区域(SH11),带有代码和标签,例如法国本土或科西嘉。变化很少:每次调用… |
b_and_q_list_shipping_methods | 列出市场的活跃运输方式(SH12),例如标准、快递或自取,带有代码、标签、是否有跟踪号码… |
b_and_q_list_logistic_classes | 列出市场的物流类别(SH31),决定运输价格的尺寸或重量区间,带有代码和标签。使用代码作为… |
b_and_q_accept_order | 接受或拒绝等待接受的订单行(OR21)。订单的每一行必须列出。拒绝一行将永久取消… |
b_and_q_update_tracking | 设置订单的承运人和跟踪号码(OR23)。提供来自 b_and_q_list_carriers 的 carrier_code,或使用 carrier_name 和 carrier_url… |
b_and_q_ship_order | 确认已发货的订单处于 SHIPPING 状态(OR24);它转移到 SHIPPED,客户会收到通知。首先使用… |
b_and_q_update_offers | 创建或更新报价,包括价格和库存(OF24)。完全替换每个报价:遗漏的每个字段都会被重置(缺失的… |
b_and_q_reply_thread | 在消息线程(M12)中回复客户或 B&Q。消息会立即发送,无法撤回:向用户展示文本… |
b_and_q_create_order_thread | 在订单(OR43)上与客户、B&Q 或两者开始新的消息线程。消息会立即发送:向用户展示文本… |
b_and_q_resolve_incident | 将一个订单行上的未解决事件标记为已解决(OR64),一旦客户的问题得到解决。reason_code 必须是 INCIDENT_CLOSE… |
b_and_q_accept_return | 接受或拒绝处于 WAITING_ACCEPTANCE 状态的退货请求(RT21)。仅当 B&Q 在卖家后台处理退货并保留… |
b_and_q_receive_return | 确认已接受的退货的货物已到达你的仓库(RT25)。退货转移到 RECEIVED。实时市场上操作… |
b_and_q_import_products | 向市场发送产品文件(P41),以创建或丰富其目录中的产品。file_url 是 CSV、XLSX 或 XML 文件的地址… |
b_and_q_import_offers | 导入报价文件(OF01),以批量创建、更新或删除报价。REPLACE 模式会删除文件中不存在的每个报价,… |
示例提示
- “哪些 B&Q 订单在等待接受,它们的总价值是多少英镑?”
- “将我的花园水管卷盘 SKU HR-30M 的库存设置为 40 在 B&Q。”
- “将订单 7012345-A 的第 2 行事件标记为已解决;客户收到了缺失的螺丝。”
- “我在 B&Q 的哪些报价不活跃,B&Q 给出的原因是什么?”
- “显示 B&Q 本季度发给我的发票及其佣金总额。”
下一步
这份指南对你有帮助吗?