# @adobe-mcid/visitor-js-server 中文文档

规范地址：https://npmcn.com/package/%40adobe-mcid/visitor-js-server/

版本：2\.1\.0
npm 元数据更新时间：2022-06-12T14:19:16.509Z
中文译文更新时间：2026-11-05T21:02:30.116Z
软件包许可：ADOBE VISITOR\.JS SERVER LIBRARY LICENSE AGREEMENT

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

原始 npm 页面：https://www.npmjs.com/package/%40adobe-mcid/visitor-js-server
原文对照：https://npmcn.com/package/%40adobe-mcid/visitor-js-server/?lang=original

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

- 包体积（解压后）：30.3 kB，7 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2016-09-23T17:11:40.314Z
- 最新版本发布：2021-06-09T20:09:08.381Z
- 近 30 天下载量：21878（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：13（近 12 个月 0 个）

## 中文简介

服务器兼容访问者ID服务

## 安装

```sh
npm install @adobe-mcid/visitor-js-server
```

也可以使用：`pnpm add @adobe-mcid/visitor-js-server`、`yarn add @adobe-mcid/visitor-js-server`、`bun add @adobe-mcid/visitor-js-server`

## README

# 访问者 JS - 服务器侧

这是经过修剪的版本 `VisitorAPI` 联合来文图书馆。 它旨在运行在您的服务器上,无论是在节点JS还是犀牛环境中.

## 提供接口

-   获取VisitorValues () : 对象
-   获取补充数据ID( 已选择的消费者ID): 字符串
-   尝试 PopulateSdidFromUrl( 重定向URL)
-   customerIDs(对象:客户ID)
-   获取状态( ) : 状态 { OrgID: { sdid, CuspectIDs}
-   获取CookieName () : 字符串, AMCV cookie 名称
-   访问者# 授权状态: 静态 Enum

## 是个什么 `sdid`

`SDID` 是一个随机生成的字符串,在每次呼叫中发送,需要合并成一个单一的Analytics条目.

在执行目标服务器侧和分析客户端时,需要某种机制来同步客户端和服务器之间的状态. `SDID` 是这个状态的一部分,它是一个ID, 允许我们把呼叫目标 和呼叫分析 合并成一组一致的数据.

执行目标客户端的客户, 不需要担心sdid.

## 是个什么 `sdidConsumerID`

`sdidConsumerID` 是一种独特的字符串,用来激发消费者的兴趣.

所有需要合并的给目标发出的呼吁,必须具有相同的 `SDID`每一个电话都需要有一个独特的 `sdidConsumerID` 以便他们获得 `SAME SDID`。 。 。 .

为了正确合并数据,您必须拨打 `visitor#generatePayload` 每一个呼叫目标,传递一个独特的 `sdidConsumerID` 每一个电话。 我们建议使用 mbox 名称作为 `sdidConsumerID`。 。 。 .

## `getVisitorValues()`

应当使用这种方法来获取营销云访问者ID,观众管理者位置提示和观众Manger blob.

```javascript
    // 1. Retrieve the AMCV cookie from the request.
    const cookies = cookie.parse(req.headers.cookie || "");
    const cookieName = visitor.getCookieName();
    const amcvCookie = cookies[cookieName];

    // 2. Instantiate Visitor instance
    const visitor = new Visitor("<orgId>", amcvCookie); 

    //3. Retrieve Visitor instance values
    const visitorValues = visitor.getVisitorValues();

    ...
```

## `getSupplementalDataID(sdidConsumerID)`

应使用这种方法生成补充数据ID.

参数是具有下列道具的一个物体:

-   `sdidConsumerID`: 如上所述,a `sdidConsumerID` 必须提供.

```javascript
    // 1. Retrieve the AMCV cookie from the request.
    var cookies = cookie.parse(req.headers.cookie || "");
    var cookieName = visitor.getCookieName();
    var amcvCookie = cookies[cookieName];

    // 2. Instantiate Visitor instance
    const visitor = new Visitor("<orgId>", amcvCookie);

    //3. Retrieve SDID
    const sdid = visitor.getSupplementalDataID("<some mbox>");

    ...
```

## `attemptToPopulateSdidFromUrl(redirectURL)`

这种方法寻找一个 `adobe_mc_sdid` 在 URL 中选项 。 如果找到,请分析并查找SDID和CONSUMER,并尝试将这些ID设置为补充数据ID.

```javascript
    // 1. Retrieve the AMCV cookie from the request.
    var cookies = cookie.parse(req.headers.cookie || "");
    var cookieName = visitor.getCookieName();
    var amcvCookie = cookies[cookieName];

    // 2. Instantiate Visitor instance
    const visitor = new Visitor("<orgId>", amcvCookie);

    //3. Attempt to populate SDIDs from
    visitor.attemptToPopulateSdidFromUrl(redirectURL);

    ...
```

## `getState`

这种方法返回了访问器实例的内部状态,稍后应该与访问器API客户端库共享.

## `getCookieName`

提供 AMCV cookie 名称从请求中取回的简单助手 .

## `setCustomerIDs`

这个 `setCustomerIDs` 方法为同一访客接受多个客户身份。 帮助您识别或瞄准跨不同设备的个人用户。 例如,您可以将这些ID作为客户属性上传到"营销云",并在不同的解决方案中访问这些数据.

在服务器上,我们正在使用这种方法与"目标"共享这些ID,以及添加到与客户端侧访问API库共享的状态.

**关键是:**

-   为了让身份证进入目标电话 确保你打电话 `setCustomerIDs` 打电话前 `generatePayload`。 。 。 .
-   如果你打电话 `setCustomerIDs` 在服务器上,这些ID会被添加到与客户端共享的状态,以及 `setCustomerIDs` 将自动调用客户端,所以你不必再这样做。 你只要打电话 `setCustomerIDs` 在客户端上,如果您有更多的id可以设置,除此之外,您已经在服务器上设置了.
-   使用静态圆柱 `Visitor.AuthState` 设置 `authState` 客户身份的财产.

```javascript
// Single ID with a single authentication state
visitor.setCustomerIDs({
    "userid": {
        "id": "67312378756723456",
        "authState": Visitor.AuthState.AUTHENTICATED
    }
});

/* 
Multiple IDs with only the first ID explicitly assigned an authentication state.
The second ID is not explicitly assigned an authentication state and is implicitly
assigned Visitor.AuthState.Unknown by default.
*/
visitor.setCustomerIDs({
    "userid": {
        "id": "67312378756723456",
        "authState": Visitor.AuthState.AUTHENTICATED
    },
    "puuid": "550e8400-e29b-41d4-a716-446655440000"
});
```

见 [客户身份证和认证国](https://marketing.adobe.com/resources/help/en_US/mcvid/mcvid-authenticated-state.html)

## 访问者# AuthState

用于设定客户身份的 AuthState enum .

```javascript
{ UNKNOWN: 0, AUTHENTICATED: 1, LOGGED_OUT: 2 }
```

## 常见问题

### @adobe-mcid/visitor-js-server 是什么？

服务器兼容访问者ID服务

### 如何安装 @adobe-mcid/visitor-js-server？

在项目目录运行 npm install @adobe-mcid/visitor-js-server，或使用 pnpm add / yarn add / bun add。

### @adobe-mcid/visitor-js-server 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/adobe-mcid\_\_visitor-js-server 是否存在。

### @adobe-mcid/visitor-js-server 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @adobe-mcid/visitor-js-server 可以商用吗？

@adobe-mcid/visitor-js-server 使用 ADOBE VISITOR\.JS SERVER LIBRARY LICENSE AGREEMENT 许可。声明的许可为 ADOBE VISITOR\.JS SERVER LIBRARY LICENSE AGREEMENT，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @adobe-mcid/visitor-js-server 的下载量有多少？

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

### @adobe-mcid/visitor-js-server 还在维护吗？

最新版本 2\.1\.0 发布于 2021/06/10（5 年前）；至今共发布 13 个版本，其中过去 12 个月发布了 0 个；首次发布于 2016/09/24。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

