面向智能体开发团队与 AI 辅助运营企业

让您的智能体参与真实业务运营。

智能体串联信息与判断,Ysend 连接订单、库存、仓储作业和发运进度,让数字决策有下一步实际行动。

您的智能体或应用
Ysend API + TypeScript SDK
  • 库存
  • 订单
  • 发运记录
  1. 仓储团队
  2. 承运商交接
  3. 配送进度

围绕熟悉的业务对象进行开发。

TypeScript SDK 以带类型定义的业务模块提供库存、订单和发运能力。先从简单的服务端查询流程开始,再确认您的集成需要哪些操作。

服务端 TypeScript · SDK 通过您获准访问的开发者门户提供
import { Ysend } from "@ysend/sdk";

const ysend = new Ysend({
  baseUrl: process.env.YSEND_API_BASE_URL!,
  apiKey: process.env.YSEND_API_KEY!,
});

const stock = await ysend.inventory.listBalances({ page: 1, pageSize: 20 });
const orders = await ysend.orders.list({ status: "Open", page: 1, pageSize: 20 });
const shipments = await ysend.shipments.list({ page: 1, pageSize: 20 });
导入成功不代表每一行都已接收。

查看原因,更正订单行或解决商品映射,再重新提交。

服务端示例:result 描述本次导入结果。queuePage 仅包含账户隔离队列的一页记录,需继续分页并将记录匹配到相应批次。
import type {
  Ysend, ImportPortalOrdersInput,
  CorrectPortalOrderImportRowInput, ResubmitOrderImportInput,
} from "@ysend/sdk";

export async function importBatch(
  ysend: Ysend, input: ImportPortalOrdersInput, operationKey: string,
) {
  const result = await ysend.orders.importManual(input, operationKey);
  // Quarantined rows are not imported orders. null means a count was not returned.
  return { imported: result.imported ?? null, quarantined: result.quarantined ?? null };
}

export async function listExceptionPage(ysend: Ysend, page: number) {
  // Tenant-wide queue, not this batch's results. Review further pages as needed.
  // Match batchReference and orderCode before choosing an exception to correct.
  return ysend.orders.listQuarantine({ page, pageSize: 20 });
}

export async function correctOrder(
  ysend: Ysend, exceptionId: number,
  correction: CorrectPortalOrderImportRowInput, operationKey: string,
) {
  // Saves the correction only. A separate, authorised action must resubmit it.
  await ysend.orders.correctQuarantinedRow(
    exceptionId, correction, operationKey,
  );
}

export async function resubmitOrder(
  ysend: Ysend, exceptionId: number,
  resubmission: ResubmitOrderImportInput, operationKey: string,
) {
  // Use this resubmission's own stable key; inspect the returned counts again.
  const result = await ysend.orders.resubmitQuarantinedRow(
    exceptionId, resubmission, operationKey,
  );
  return { imported: result.imported ?? null, quarantined: result.quarantined ?? null };
}

流程背后的技术

您的智能代理可通过 Ysend API 读取库存、提交订单、查看需要更正的订单,然后跟踪发货并发起退货。重试某项更改时,它会沿用同一个请求密钥,避免重复创建。

随时掌握业务进展

获授权团队可在商家移动工作区跟进订单与退货;仓库人员通过作业终端使用支持的扫码流程。

应用

跟进完整业务流程

看懂业务如何真正运转。

这一步由谁负责您的应用 / 智能体

01. 逐个 SKU,依据可用库存作出决定。

传入需求前,先读取指定仓库的库存余额。应用应考虑已有占用,按自身销售规则评估可用库存,再提出新增订单。

接下来需要做出的决定

应用可以提出这批需求,但实物库存仍由现场作业控制。

这一步由谁负责您的集成 → Ysend 订单

02. 导入批次后,核查实际结果。

使用稳定的批次参考号,提交可识别的商品引用、收件人信息和数量。返回结果区分已导入数量与待纠正行数,不能仅凭请求成功就认定整批完成。

接下来需要做出的决定

让已接受的订单继续处理,先检查异常,再确认批次完成。

这一步由谁负责您的集成与商品审核人员

03. 先纠正商品引用,再明确重新提交。

检查账户分页隔离队列,定位相关记录。确认每条商品引用,修正订单行,再为重新提交这一操作使用独立且稳定的重试键。

接下来需要做出的决定

修正与重新提交是两个独立动作。逐次确认结果,再关闭异常。

这一步由谁负责仓库操作员

04. 将已接受订单变成实际包裹。

仓库按已接受需求进行拣选和包装。操作员识别商品并完成必要检查;智能体跟踪订单进度,不代替现场人员宣告实物作业完成。

接下来需要做出的决定

缺少扫描或出现包装异常时,由仓库人员先解决,再将相关包裹交给运输环节。

这一步由谁负责您的应用与客服

05. 根据运单证据识别需要跟进的客户。

应用通过已有集成或运营交接保留运单 ID,再用 SDK 读取该已知运单;SDK 不会自行建立订单与运单的关联。逐票跟进配送异常,不能用批次汇总代替收件人的处理结果。

接下来需要做出的决定

应用依据可用运单事件,执行自己的客户沟通规则。

这一步由谁负责客服 → 退货团队

06. 让售后始终关联原订单。

客户在收货后反馈商品损坏时,按原订单建立退货并添加证据,由退货团队记录实物处理,企业再依据该记录决定商务回应。

接下来需要做出的决定

创建退货只是售后开始。验货、库存处置和可能的退款仍需分别决定。

成本模型需要考虑什么

仓库履约
与运营方约定收货、仓储、拣选、包装及材料。
运输与售后
分别核对包裹规格、目的地、配送异常和退货处理。
您的自动化
将智能体托管、模型用量、店铺和客服成本纳入商业模型。

第一笔业务启动前,需要验证什么

  1. 权限与目录

    服务器端密钥具备所需权限,商品引用能匹配目标仓库的正确货品。

  2. 完整测试批次

    能够读取接受结果、定位隔离行、修正并确认明确的重新提交。

  3. 完整客户案例

    团队能关联订单、运单与退货,并为每项未决事项明确负责人。

开始前,您可能想了解

可以接入自己的智能体框架吗?

我们会根据支持的 API 及账户所需权限,评估您的应用接入方案。SDK 是集成的基础组件,外部智能体的访问需与 Ysend 团队共同准备。

智能体会替代仓储团队吗?

智能体可以使用开放的运营数据和支持的操作。实物处理、商业决策以及需要审批的作业,仍由相应团队负责,并遵守各自的管控要求。

如何获取 SDK?

SDK 以带版本管理的软件包形式,通过获授权的开发者门户提供。接入时,我们会共同确认您的运行环境、访问凭据和集成范围。

规划下一步

从一条真实业务流程开始。

请介绍智能体需要查询什么、协调哪些操作,以及目前订单和库存由哪些系统管理。我们将与您的团队一起梳理接入方案。

为首次运营做好准备

  • 确认商品目录、仓库及接口接入范围。
  • 测试一笔有代表性的订单及其异常处理路径。
  • 明确您的应用可以作出哪些决定。