# @deliverart/sdk-js-delivery 中文文档

规范地址：https://npmcn.com/package/%40deliverart/sdk-js-delivery/

版本：3\.0\.1
npm 元数据更新时间：2026-11-10T20:26:36.107Z
中文译文更新时间：2026-11-12T03:11:41.875Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40deliverart/sdk-js-delivery
原文对照：https://npmcn.com/package/%40deliverart/sdk-js-delivery/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：430 kB，6 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：6 个
- 首次发布：2025-07-31T12:02:01.170Z
- 最新版本发布：2026-11-10T20:26:35.917Z
- 近 30 天下载量：3139（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：303（近 12 个月 231 个）

## 中文简介

交付管理所交付的 JavaScript SDK

## 安装

```sh
npm install @deliverart/sdk-js-delivery
```

也可以使用：`pnpm add @deliverart/sdk-js-delivery`、`yarn add @deliverart/sdk-js-delivery`、`bun add @deliverart/sdk-js-delivery`

## README

# @ deliverart/ sdk- js- 交付

交付艺术JavaScript SDK的交付管理软件包.

## 安装

```bash
npm install @deliverart/sdk-js-delivery @deliverart/sdk-js-core
# or
pnpm add @deliverart/sdk-js-delivery @deliverart/sdk-js-core
```

## 导出类型

### 模型

-   `Delivery`
-   `DeliveryDetails`
-   `DeliveryStop`
-   `WritableDelivery`
-   `UpdateDeliveryAssignmentInput`
-   `UpdateDeliveryAssignmentResponse`
-   `DeliveryPosition`
-   `DeliveryPositionDetails`
-   `WritableDeliveryPosition`
-   `DeliveryFee`
-   `DeliveryFeeDetails`
-   `DeliveryFeeListItem`
-   `WritableCreateDeliveryFee`
-   `WritableUpdateDeliveryFee`

### IRI 类型

-   `DeliveryIri` - 说吧 `/deliveries/:id`
-   `DeliveryNullableIri` - 无效交付IRI
-   `DeliveryPositionIri` - 说吧 `/deliveries/positions/:id`
-   `DeliveryPositionNullableIri` - 无效交货位置IRI

## 交货

### 创建交付

为已存在的捆绑创建快递 .

```typescript
import { CreateDelivery } from '@deliverart/sdk-js-delivery'

const delivery = await sdk.call(
  new CreateDelivery({
    bundle: '/bundles/123e4567-e89b-12d3-a456-426614174000',
    deliveryUser: '/users/123e4567-e89b-12d3-a456-426614174001',
  }),
)
```

`CreateDeliveryInput`

-   `bundle: BundleIri` 所需经费
-   `deliveryUser?: UserNullableIri` 选项

回应: `DeliveryDetails`

`DeliveryDetails` 现在包括快递操作场:

-   `runState`
-   `totalStops`
-   `pendingStopsCount`
-   `completedStopsCount`
-   `canFinish`
-   `stops`
-   `pendingStops`
-   `suggestedNextStop`
-   `currentStop`

`runState` 可为:

-   `not_started`
-   `awaiting_stop_selection`
-   `delivering_stop`
-   `ready_to_finish`
-   `finished`

`DeliveryStop` 包含:

-   `orderId`
-   `displayId`
-   `sequence`
-   `planned`
-   `plannedSequence`
-   `eta`
-   `windowStart`
-   `windowEnd`
-   `deliveredAt`
-   `current`

### 获取交付

去送点水.

```typescript
import { GetDeliveries } from '@deliverart/sdk-js-delivery'

const deliveries = await sdk.call(
  new GetDeliveries({
    query: {
      'bundle.id': '123e4567-e89b-12d3-a456-426614174000',
      deliveryUser: '/users/123e4567-e89b-12d3-a456-426614174001',
      'exists[startedAt]': true,
      'order[createdAt]': 'desc',
      page: 1,
    },
  }),
)
```

主要查询参数

-   `'bundle.id'?: string | string[]`
-   `deliveryUser?: string | UserIri | Array<string | UserIri>`
-   `currentOrder?: string | OrderIri | Array<string | OrderIri>`
-   `'exists[startedAt]'?: boolean`
-   `'exists[endedAt]'?: boolean`
-   `'order[createdAt]'?: 'asc' | 'desc'`
-   `'order[updatedAt]'?: 'asc' | 'desc'`
-   `'order[startedAt]'?: 'asc' | 'desc'`
-   `'order[endedAt]'?: 'asc' | 'desc'`
-   `page?: number`

回应: `Paginated<Delivery>`

### 从用户获取服务

得到分配给用户的快递.

```typescript
import { GetDeliveriesFromUser } from '@deliverart/sdk-js-delivery'

const deliveries = await sdk.call(
  new GetDeliveriesFromUser('123e4567-e89b-12d3-a456-426614174001', {
    query: {
      'exists[endedAt]': false,
      page: 1,
    },
  }),
)
```

回应: `Paginated<Delivery>`

### 获取交付详情

```typescript
import { GetDeliveryDetails } from '@deliverart/sdk-js-delivery'

const delivery = await sdk.call(new GetDeliveryDetails('123e4567-e89b-12d3-a456-426614174002'))
```

回应: `DeliveryDetails`

### 从窗口获取交付详情

```typescript
import { GetDeliveryDetailsFromBundle } from '@deliverart/sdk-js-delivery'

const delivery = await sdk.call(
  new GetDeliveryDetailsFromBundle('123e4567-e89b-12d3-a456-426614174000'),
)
```

回应: `DeliveryDetails`

### 更新交付

更新指定的信使 .

```typescript
import { UpdateDelivery } from '@deliverart/sdk-js-delivery'

const updated = await sdk.call(
  new UpdateDelivery('123e4567-e89b-12d3-a456-426614174002', {
    deliveryUser: '/users/123e4567-e89b-12d3-a456-426614174003',
  }),
)
```

`UpdateDeliveryInput`

-   `deliveryUser?: UserNullableIri`

回应: `DeliveryDetails`

### 更新任务指派

通过交货指派合同指定、重新指定或清除信使.

```typescript
import { UpdateDeliveryAssignment } from '@deliverart/sdk-js-delivery'

const reassigned = await sdk.call(
  new UpdateDeliveryAssignment('123e4567-e89b-12d3-a456-426614174002', {
    deliveryUser: '/users/123e4567-e89b-12d3-a456-426614174005',
  }),
)

const unassigned = await sdk.call(
  new UpdateDeliveryAssignment('123e4567-e89b-12d3-a456-426614174002', {
    deliveryUser: null,
  }),
)
```

`UpdateDeliveryAssignmentInput`

-   `deliveryUser: UserNullableIri` 需要; 通过用户 IRI 来指定或重新指定和 `null` 清除信使

回应: `DeliveryDetails`

API只允许在分娩开始前取出,允许在分娩期间调换 在不重设交付运行的情况下取得进展,并在完成后拒绝任务变更.

### 生命周期请求

```typescript
import {
  DeliverCurrentOrder,
  EndDelivery,
  StartDelivery,
  StartDeliveryOrder,
} from '@deliverart/sdk-js-delivery'

await sdk.call(new StartDelivery('123e4567-e89b-12d3-a456-426614174002'))
await sdk.call(
  new StartDeliveryOrder(
    '123e4567-e89b-12d3-a456-426614174002',
    '123e4567-e89b-12d3-a456-426614174004',
  ),
)
await sdk.call(new DeliverCurrentOrder('123e4567-e89b-12d3-a456-426614174002'))
await sdk.call(new EndDelivery('123e4567-e89b-12d3-a456-426614174002'))
```

现有请求

-   `StartDelivery`
-   `StartDeliveryOrder`
-   `DeliverCurrentOrder`
-   `EndDelivery`
-   `DeleteDelivery`

## 交付位置

### 创建交付方案

```typescript
import { CreateDeliveryPosition } from '@deliverart/sdk-js-delivery'

const position = await sdk.call(
  new CreateDeliveryPosition({
    delivery: '/deliveries/123e4567-e89b-12d3-a456-426614174002',
    positionData: {
      lat: 45.470664,
      lng: 9.19554,
    },
  }),
)
```

`CreateDeliveryPositionInput`

-   `delivery: DeliveryIri` 所需经费
-   `positionData: { lat: number; lng: number }` 所需经费

回应: `DeliveryPositionDetails`

### 获取交付方案

得到斑点的送货位置.

```typescript
import { GetDeliveryPositions } from '@deliverart/sdk-js-delivery'

const positions = await sdk.call(
  new GetDeliveryPositions({
    query: {
      'order[createdAt]': 'asc',
      page: 1,
    },
  }),
)
```

回应: `Paginated<DeliveryPosition>`

### 从交付中获取服务

```typescript
import { GetDeliveryPositionsFromDelivery } from '@deliverart/sdk-js-delivery'

const positions = await sdk.call(
  new GetDeliveryPositionsFromDelivery('123e4567-e89b-12d3-a456-426614174002', {
    query: {
      'order[createdAt]': 'asc',
    },
  }),
)
```

回应: `DeliveryPosition[]`

### 获取交付方案细节

```typescript
import { GetDeliveryPositionDetails } from '@deliverart/sdk-js-delivery'

const position = await sdk.call(
  new GetDeliveryPositionDetails('123e4567-e89b-12d3-a456-426614174005'),
)
```

回应: `DeliveryPositionDetails`

## 交货费

交货费受到歧视 `type`。 。 。 .

### 创建交付文件

```typescript
import { CreateDeliveryFee } from '@deliverart/sdk-js-delivery'

const fee = await sdk.call(
  new CreateDeliveryFee({
    pointOfSale: '/point_of_sales/123e4567-e89b-12d3-a456-426614174006',
    type: 'distance',
    amount: '3.0000',
    taxRate: 10,
    settings: {
      min: 0,
      max: 5000,
    },
  }),
)
```

支持的变体

-   `type: 'amount'` 与 `settings: { min: number; max: number }`
-   `type: 'distance'` 与 `settings: { min: number; max: number }`
-   `type: 'postal_code'` 与 `settings: { values: string[] }`

### 获取交付对象

```typescript
import { GetDeliveryFees } from '@deliverart/sdk-js-delivery'

const fees = await sdk.call(
  new GetDeliveryFees({
    query: {
      type: ['distance', 'postal_code'],
      'order[createdAt]': 'desc',
      page: 1,
    },
  }),
)
```

回应: `Paginated<DeliveryFeeListItem>`

### 从销售点获取交付对象

```typescript
import { GetDeliveryFeesFromPointOfSale } from '@deliverart/sdk-js-delivery'

const fees = await sdk.call(
  new GetDeliveryFeesFromPointOfSale('123e4567-e89b-12d3-a456-426614174006', {
    query: {
      type: 'distance',
    },
  }),
)
```

回应: `DeliveryFeeListItem[]`

### 更新交付文件

```typescript
import { UpdateDeliveryFee } from '@deliverart/sdk-js-delivery'

const updated = await sdk.call(
  new UpdateDeliveryFee('123e4567-e89b-12d3-a456-426614174007', {
    type: 'distance',
    amount: '4.0000',
    settings: {
      min: 0,
      max: 7000,
    },
  }),
)
```

`UpdateDeliveryFeeInput`

-   需求 `type`
-   所选变体中所有其它字段为部分

## 许可证

麻省理工学院

## 同步订单修改和任务变更

开始、 停止选择、 完成和删除命令保留其已有请求 和反应计划。 API 刷新当前运行状态和授权 保存前共享修正锁 。 任务更改无法覆盖 a 同步驱动器更改; 创建重新验证捆绑可用性 。 处理 409/422 重新装入并显示当前发送状态,而不自动重复 一个停滞的过渡。 运输出错后,阅读交货以确定 并一直坚持下去。 成功的业务行动不承认修正 债务或确认付款; 使用执行/结算合同的命令.

## 常见问题

### @deliverart/sdk-js-delivery 是什么？

交付管理所交付的 JavaScript SDK

### 如何安装 @deliverart/sdk-js-delivery？

在项目目录运行 npm install @deliverart/sdk-js-delivery，或使用 pnpm add / yarn add / bun add。

### @deliverart/sdk-js-delivery 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @deliverart/sdk-js-delivery 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @deliverart/sdk-js-delivery 可以商用吗？

@deliverart/sdk-js-delivery 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @deliverart/sdk-js-delivery 的下载量有多少？

根据 npm 官方下载统计，@deliverart/sdk-js-delivery 在 2026/10/12 – 2026/11/10 这 30 天内被下载 3,139 次，日均约 105 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @deliverart/sdk-js-delivery 还在维护吗？

最新版本 3\.0\.1 发布于 2026/11/11（1 天前）；至今共发布 303 个版本，其中过去 12 个月发布了 231 个；首次发布于 2025/07/31。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

