

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

# SendSdpAnswer
<a name="SendSdpAnswer"></a>

将应答发送给目标接收方。前提条件是客户端必须已经连接到从 `GetSignalingChannelEndpoint` API 获取的 WebSocket 端点。

如果发送方类型是查看器，则它会将应答发送给主设备。此外，没有必要指定 `RecipientClientId`，并将忽略为 `RecipientClientId` 指定的任何值。如果发送方类型为主设备，应答将发送到由 `RecipientClientId` 指定的目标查看器。在这种情况下，`RecipientClientId` 是必需的输入。

允许主设备客户端应用程序向任何查看器发送应答，而只允许查看器客户端应用程序将应答发送到主设备客户端应用程序。如果查看器客户端应用程序尝试向其他查看器客户端应用程序发送应答，则不会接受该请求。如果同一客户端的未完成应答尚未交付，则该应答将被新应答覆盖。

## 请求
<a name="SendSdpAnswer-request"></a>

```
{
    "action": "SDP_ANSWER",
    "recipientClientId": "string",
    "messagePayload": "string",
    "correlationId": "string"
}
```
+ **action** - 正在发送的消息的类型。
  + 类型：ENUM
  + 有效值：`SDP_OFFER`、`SDP_ANSWER`、`ICE_CANDIDATE`
  + 长度限制：最小长度为 1。最大长度为 256。
  + 模式：`[a-zA-Z0-9_.-]+`
  + 是否必需：是
+ **recipientClientId**-收件人的唯一标识符。
  + 类型：字符串
  + 长度限制：最小长度为 1。最大长度为 256。
  + 模式：`[a-zA-Z0-9_.-]+`
  + 是否必需：是
+ **messagePayload** - 以 base-64 编码的消息内容。
  + 类型：字符串
  + 长度限制：最小长度为 1。最大长度为 10K。
  + 是否必需：是
+ **correlationId** - 消息的唯一标识符。
  + 类型：字符串
  + 长度限制：最小长度为 1。最大长度为 256。
  + 模式：`[a-zA-Z0-9_.-]+`
  + 必需：否

## 响应
<a name="SendSdpAnswer-response"></a>

如果信令后端成功接收消息，则不会返回任何响应。如果服务遇到错误，并且在请求中指定了 `correlationId`，则错误详细信息将作为 `STATUS_RESPONSE` 消息返回。有关更多信息，请参阅 [异步消息接收](async-message-reception-api.md)。

## 错误
<a name="SendSdpAnswer-errors"></a>
+ InvalidArgumentException

  指定的参数超出其限制、不受支持或无法使用。有关更多信息，请参阅返回的消息。

  HTTP 状态代码：400
+ ClientLimitExceededException

  当以过高的速率调用 API 时返回。有关更多信息，请参阅[带有 WebRTC 服务配额的亚马逊 Kinesis Video Streams](kvswebrtc-limits.md)中的[错误重试和指数退缩](https://docs.aws.amazon.com/general/latest/gr/api-retries.html)。 AWS

  HTTP 状态代码：400

## 局限/限制
<a name="SendSdpAnswer-limits"></a>

如果以过高的速率调用 API，此 API 将在账户级别受到限制。使用 `ClientLimitExceededException` 进行限制时返回错误。

## 幂等
<a name="SendSdpAnswer-idempotent"></a>

此 API 不是幂等的。

## 重试行为
<a name="SendSdpAnswer-retry"></a>

这被视为新的 API 调用。

## 并发调用
<a name="SendSdpAnswer-concurrent"></a>

允许并发调用。每次调用发送一次提议。