# 回传接口请求详情记录 - 产品需求文档

## Overview
- **Summary**: 在讯通回传接口中添加请求JSON和请求发起IP地址的记录功能，以便更好地追踪和调试接口调用。
- **Purpose**: 提高系统的可观测性和可调试性，便于排查接口调用问题。
- **Target Users**: 系统运维人员和开发人员。

## Goals
- 记录回传接口的请求JSON数据
- 记录请求发起的IP地址
- 确保记录的信息完整且准确
- 不影响接口的正常功能和性能

## Non-Goals (Out of Scope)
- 不修改接口的核心业务逻辑
- 不改变接口的请求和响应格式
- 不增加额外的外部依赖

## Background & Context
- 现有的讯通回传接口已经实现了基本的功能，但缺乏对请求详情的记录
- 在生产环境中，当接口调用出现问题时，需要更详细的信息来排查问题
- 记录请求JSON和IP地址有助于追踪接口调用来源和内容

## Functional Requirements
- **FR-1**: 在SendWebhookToXunTong方法中记录请求的JSON数据
- **FR-2**: 在SendWebhookToXunTong方法中记录请求发起的IP地址
- **FR-3**: 确保记录的信息包含在日志中，便于查询和分析

## Non-Functional Requirements
- **NFR-1**: 记录操作不影响接口的响应时间，增加的延迟不超过10ms
- **NFR-2**: 记录的信息清晰易读，便于分析和调试
- **NFR-3**: 确保记录的信息不包含敏感数据

## Constraints
- **Technical**: 使用现有的日志系统，不引入新的日志框架
- **Business**: 不增加系统的存储成本和计算成本
- **Dependencies**: 依赖现有的HttpClientFactory和日志系统

## Assumptions
- 系统已经配置了合适的日志级别和存储策略
- 接口调用的JSON数据大小在合理范围内，不会导致日志过大

## Acceptance Criteria

### AC-1: 记录请求JSON
- **Given**: 系统调用讯通回传接口
- **When**: 接口发送请求前
- **Then**: 系统记录请求的JSON数据到日志中
- **Verification**: `programmatic`
- **Notes**: 日志中应包含完整的请求JSON数据

### AC-2: 记录请求IP地址
- **Given**: 系统调用讯通回传接口
- **When**: 接口发送请求前
- **Then**: 系统记录请求发起的IP地址到日志中
- **Verification**: `programmatic`
- **Notes**: 日志中应包含准确的IP地址信息

### AC-3: 不影响接口功能
- **Given**: 系统调用讯通回传接口
- **When**: 接口执行过程中
- **Then**: 记录操作不影响接口的正常功能和响应时间
- **Verification**: `programmatic`
- **Notes**: 接口应能正常完成请求，响应时间增加不超过10ms

## Open Questions
- [ ] 系统是否需要记录响应数据？
- [ ] 日志级别应设置为INFO还是DEBUG？
