> ## Documentation Index
> Fetch the complete documentation index at: https://ifdocdemo.lumivescence.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Nhận biết khách hàng InFlow

> Tìm ra khách hàng nào của bạn đến từ InFlow. Mỗi agent InFlow có một agent DID trên tên miền InFlow.

Tìm ra khách hàng nào của bạn đến từ InFlow. Mỗi agent InFlow ghi danh với dịch vụ của bạn có một agent DID trên tên miền InFlow.

## Trước khi bắt đầu

* Dịch vụ của bạn hỗ trợ Onboard (AEP). Xem [Ghi danh agent](https://ifdocdemo.lumivescence.com/vi/sellers/enable-enrollment.md).

## Cách InFlow nhận diện các agent của mình

InFlow là một platform AEP. InFlow lưu trữ danh tính của mỗi agent InFlow. Với mỗi agent, InFlow làm các việc sau:

* InFlow cấp cho agent một agent DID `did:web` trên tên miền InFlow.
* InFlow xuất bản tài liệu DID của agent, kèm khóa công khai của agent.
* InFlow giữ khóa riêng và ký các request của agent.

Một agent DID của InFlow có định dạng như sau:

| Môi trường | Tiền tố agent DID | URL tài liệu DID |
| - | - | - |
| production | `did:web:app.inflowpay.ai:agents:` | `https://app.inflowpay.ai/agents/<id>/did.json` |
| sandbox | `did:web:sandbox.inflowpay.ai:agents:` | `https://sandbox.inflowpay.ai/agents/<id>/did.json` |

Đây là ví dụ một agent DID production:

```text theme={null}
did:web:app.inflowpay.ai:agents:7ffb473b5a650a45fa84c1f3af73c346
```

## Bước 1: Đọc agent DID

SDK service cho bạn agent DID sau khi SDK kiểm tra chữ ký của request.

| Khi nào | Nơi đọc agent DID |
| - | - |
| Agent ghi danh | `agent_did` trong request Enroll. Kho ghi danh của bạn lưu giá trị này dưới tên `agentDid`. |
| Agent gọi một endpoint được bảo vệ | `principal.agentDid` trong kết quả của `authenticateProtectedResource()` |

## Bước 2: So sánh tiền tố

Nếu agent DID bắt đầu bằng tiền tố InFlow, khách hàng đến từ InFlow.

```ts theme={null}
const INFLOW_AGENT_DID_PREFIX = "did:web:app.inflowpay.ai:agents:";

const result = await service.authenticateProtectedResource({ headers, method, url });

if (result.authenticated) {
  const fromInflow = result.principal.agentDid.startsWith(INFLOW_AGENT_DID_PREFIX);
}
```

Chỉ so sánh tiền tố sau khi SDK kiểm tra request. Không đọc agent DID từ phần thân thô của request.

> [!WARNING]
>
> Trong production, chỉ chấp nhận tiền tố production. Một agent DID sandbox bắt đầu bằng `did:web:sandbox.inflowpay.ai:agents:`.

## Lý do tiền tố này đáng tin cậy

SDK lấy khóa công khai của agent từ tài liệu DID trên `app.inflowpay.ai`. Sau đó SDK kiểm tra chữ ký của request bằng khóa đó. Chỉ InFlow có thể xuất bản tài liệu DID trên tên miền đó. Vì vậy, một request qua được bước kiểm tra với agent DID của InFlow đến từ một agent InFlow.

## Những điều agent DID không cho bạn biết

* **Một agent DID cho mỗi dịch vụ.** InFlow cấp cho một agent một agent DID khác nhau cho mỗi dịch vụ. Dùng agent DID để nhận biết một khách hàng trong dịch vụ của bạn. Bạn không thể dùng nó để tìm cùng agent đó ở các dịch vụ khác.
* **Không ghi danh thì không có agent DID.** Một khoản thanh toán bằng MPP hoặc x402 không có ghi danh AEP thì không có agent DID. Để nhận biết mọi khách hàng, yêu cầu ghi danh trước khi bạn chấp nhận thanh toán.

## Bước 3: Kiểm thử bằng CLI

Ghi danh với dịch vụ của bạn như một agent InFlow. Đăng nhập bằng `inflow auth login`. Đảm bảo vault ở trạng thái mở khóa.

```bash theme={null}
inflow aep enroll https://api.example.com --interval 5
inflow aep status https://api.example.com --format json
```

Phê duyệt lần ghi danh khi CLI hiện URL phê duyệt. Sau đó xem agent DID mà dịch vụ của bạn ghi lại. Agent DID này phải bắt đầu bằng tiền tố InFlow.

Mở tài liệu DID của agent DID đó để xem khóa công khai mà dịch vụ của bạn dùng.

```bash theme={null}
curl https://app.inflowpay.ai/agents/<id>/did.json
```

## Bước tiếp theo

> [card] [Niêm yết sản phẩm](https://ifdocdemo.lumivescence.com/vi/sellers/make-products-discoverable.md)
>
> Xuất bản danh mục của bạn để agent có thể tìm sản phẩm và giá của bạn.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.