

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Connect Voice ID 事件架构
<a name="voiceid-event-schema"></a>

**注意**  
终止支持通知：2026年5月20日， AWS 将终止对Amazon Connect语音识别的支持。2026 年 5 月 20 日之后，您将无法再访问 Amazon Connect 控制台上的语音 ID、访问 Amazon Connect 管理网站或联系人控制面板上的语音识别功能，也无法访问语音 ID 资源。有关更多信息，请访问 [Amazon Connect Voice ID 支持终止](https://docs.aws.amazon.com/connect/latest/adminguide/amazonconnect-voiceid-end-of-support.html)。

Voice ID 会为每个事务生成事件：注册、身份验证或在监视列表中检测欺诈者。事件被发送到 EventBridge 默认事件总线。

您可以使用监控语音 ID 事件，为语音 ID 身份验证结果和监视列表中欺诈者的检测创建分析管道。 EventBridge 使用本主题中提供的架构，您可以配置 EventBridge 规则以侦听和筛选相关的语音 ID 事件，然后通过 Amazon Data Firehose 处理这些事件，将其存储在您选择的数据仓库中。

 例如，您可能需要近乎实时地跟踪 Voice ID 分析。为此，您可以提取所有 `Evaluate-Session` 事件，并获取 `authenticationResult` 和 `fraudDetectionResult`。

[尽最大努力](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html)发出事件。

## 事件中的常用字段
<a name="voiceid-event-common-fields"></a>
+ `version` - 事件数据的版本。
+ `id`-由生成的事件的唯一标识符 EventBridge
+ `detail-type` - 事件的详细信息标识符。
+ `source` - 事件的源。这始终为 `aws.voiceid`。
+ `account`- AWS 账号。
+ `timestamp` - 事件以 UTC 格式发布的日期和时间。
+ `region`-发出 API 调用的 AWS 区域。
+ `resources` - API 调用使用的资源。
+ `detail` - 有关事件的详细信息：
  + `detail.sourceId` - 由 Voice ID 生成的唯一 ID，可用于重复数据删除。
  + `detail.action` - 类似于正在调用的 API。
  + `detail.status` - 指定操作的状态：成功或失败。
  + `detail.errorInfo` - 在 Voice ID 中出现指定操作错误时填充。

以下是发出事件的架构。

## 开启会话操作
<a name="start-session"></a>

在流开始（设置后）、流结束和失败时发出事件。

```
{...commonfields
    "detail-type": "VoiceId Start Session Action",
    "detail": {
        "sourceId": String,
        "action": "START_SESSION",
        "status": String,
        "domainId": String,
        "session": {
            "sessionId": String,
            "sessionName": String,
            "authenticationConfiguration": {
                "acceptanceThreshold":Integer
            },
            "fraudDetectionConfiguration": {
                "riskThreshold":Integer,
                "watchlistId": String
            },
            "streamingConfiguration": {
                "authenticationMinimumSpeechInSeconds": Integer
            },
            "enrollmentAudioProgress": {
                "audioAggregationStatus": String,
                "audioAggregationStartedAt": "Timestamp",
                "audioAggregationEndedAt": "Timestamp"
            },
            "authenticationAudioProgress": {
                "audioAggregationStartedAt": "Timestamp",
                "audioAggregationEndedAt": "Timestamp"
            },
            "fraudDetectionAudioProgress": {
                "audioAggregationStartedAt": "Timestamp",
                "audioAggregationEndedAt": "Timestamp"
            },
            "generatedSpeakerId": String
        },
        "errorInfo": {
            "errorMessage": String,
            "errorType": String,
            "errorCode": Integer
       }
    }
}
```

## 更新会话操作
<a name="update-session"></a>

 内部会话更新成功或失败时发出事件。

```
{...commonfields
"detail-type": "VoiceId Update Session Action",
"detail": {
    "sourceId": String,
    "action": "UPDATE_SESSION",
    "status": String,
    "domainId": String,
    "session": {
        "sessionId": String,
        "sessionName": String,
        "authenticationConfiguration": {
            "acceptanceThreshold": Integer
        },
        "fraudDetectionConfiguration": {
            "riskThreshold": Integer,
            "watchlistId": String
        },
        "streamingConfiguration": {
            "authenticationMinimumSpeechInSeconds": Integer
        },
        "generatedSpeakerId": String
    },
    "errorInfo": {
        "errorMessage": String,
        "errorType": String,
        "errorCode": Integer
    }
}
}
```

## 评估会话操作
<a name="evaluate-session"></a>

会话评估成功或失败时发出事件。原因可能是 KNOWN\$1FRAUDSTER 或 VOICE\$1SPOOFING。

```
{...commonfields
"detail-type": "VoiceId Evaluate Session Action",
"detail": {
    "sourceId": String,
    "action": "EVALUATE_SESSION",
    "status": String,
    "domainId": String,
    "session": {
        "sessionId": String,
        "sessionName": String,
        "generatedSpeakerId": String,
        "streamingStatus": String,
        "authenticationResult": {
            "authenticationResultId": String,
            "decision": String,
            "score": Integer,
            "audioAggregationStartedAt": "Timestamp",
            "audioAggregationEndedAt": "Timestamp",
            "configuration": {
                "acceptanceThreshold": Integer
            }
        },
        "fraudDetectionResult": {
            "fraudDetectionResultId": String,
            "decision": String,
            "reasons": [String],
            "audioAggregationStartedAt": "Timestamp",
            "audioAggregationEndedAt": "Timestamp",
            "configuration": {
                   "riskThreshold": Integer
            },
            "riskDetails": {
                 "knownFraudsterRisk": {
                         "generatedFraudsterId": String,
                         "riskScore": Integer,
                         "watchlistId": String
                  },
                  "voiceSpoofingRisk": {
                        "riskScore": Integer
                  } 
            }
         }
     },
     "errorInfo": {
        "errorMessage": String,
        "errorType": String,
        "errorCode": Integer
    }
}
}
```

## 呼叫方操作
<a name="speaker"></a>

在选择退出呼叫方、删除呼叫方或注册呼叫方成功或失败时发出事件。

```
{...commonfields
"detail-type": "VoiceId Speaker Action",
"detail": {
    "sourceId": String,
    "domainID": String,
    "action": String,
    "status": String,
    "generatedSpeakerId": String,
    "data": {
        "enrollmentSource": String,
        "enrollmentSourceId": String,
        "enrollmentStatus": String
        },
    "errorInfo": {
        "errorMessage": String,
        "errorType": String,
        "errorCode": Integer
     }
}
}
```

## 欺诈者操作
<a name="fraudster"></a>

成功注册或删除欺诈者时发出事件。

当欺诈者与监视列表关联或取消关联时，不会发出事件。

```
{...commonfields
"detail-type": "VoiceId Fraudster Action",
"detail": {
    "sourceId": String,
    "domainID": String,
    "action": String,
    "status": String,
    "generatedFraudsterId": String,
    "watchlistIds": [String],
    "data": {
        "registrationSource": String,
        "registrationSourceId": String,
        "registrationStatus": String
    },
    "errorInfo": {
        "errorMessage": String,
        "errorType": String,
        "errorCode": Integer
    }
}
}
```

## EnrollBySession
<a name="enrollbysession"></a>

提交注册请求时发出此事件。当实际注册成功或失败时，会发出 `Speaker` 事件。

```
{...commonfields
"detail-type": "VoiceId Session Speaker Enrollment Action",
"detail": {
    "sourceId": String,
    "domainId": String,
    "action": "SESSION_ENROLLMENT_REQUEST",
    "status": String,
    "sessionId": String,
    "sessionName": String,
    "errorInfo": {
        "errorMessage": String,
        "errorType": String,
        "errorCode": Integer
    }
}
}
```

## StartSpeakerEnrollmentJob
<a name="startspeakerenrollmentjob"></a>

在批量注册请求提交、成功或失败时发出此事件。将为每位发言者发出一个 `Speaker` 事件，以指示相应的注册是成功还是失败。

```
{...commonfields
"detail-type": "VoiceID Batch Speaker Enrollment Action",
"detail": {
    "sourceId": String,
    "domainId": String,
    "action": "BATCH_ENROLLMENT_REQUEST",
    "status": String,
    "batchJobId": String,
    "data": {
        "dataAccessRoleArn": String,
        "enrollmentConfig": {
            "existingEnrollmentAction": String,
            "fraudDetectionConfig": {
            "fraudDetectionAction": String,
            "riskThreshold": Integer,
            "watchlistIds": [String],
            }
        },
        "inputDataConfig": {
            "s3Uri": String
         },
        "outputDataConfig": {
            "s3Uri": String,
            "kmsKeyId": String
        }
    },
    "errorInfo": {
        "errorMessage": String,
        "errorType": String,
        "errorCode": Integer
    }
}
}
```

## StartFraudsterRegistrationJob
<a name="startfraudsterregistrationjob"></a>

在批量注册请求提交、成功或失败时发出此事件。将为每位欺诈者发出一个 `Fraudster` 事件，以指示相应的注册是成功还是失败。

```
{...commonfields
"detail-type": "VoiceId Batch Fraudster Registration Action",
"detail": {
    "sourceId": String,
    "domainId": String,
    "action": "BATCH_REGISTRATION_REQUEST",
    "status": String,
    "batchJobId": String,
    "data": {
        "dataAccessRoleArn": String,
        "registrationConfig": {
            "duplicateRegistrationAction": String,
            "fraudsterSimilarityThreshold": Integer,
            "watchlistIds": [String],
        }
        "inputDataConfig": {
            "s3Uri": String
        },
        "outputDataConfig": {
            "s3Uri": String,
            "kmsKeyId": String
        }
    },                                                      
    "errorInfo": {
        "errorMessage": String,
        "errorType": String,
        "errorCode": Integer
    }
}
}
```