OpenAI Webhook事件定义

2026-11-12 16:14 更新

Webhook 事件

在 API 使用过程中发生某些事件时,OpenAI 会向你指定的 URL 发送 HTTP 请求,这类请求称为 Webhook。

进一步了解 Webhook。

response.completed

后台响应完成时发送。

数据结构

数据结构名称:WebhookResponseCompleted

  • id: string

事件的唯一 ID。

  • created_at: integer

模型响应完成时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

事件数据载荷。

  • id: string

模型响应的唯一 ID。

  • type: "response.completed"

事件类型,始终为 response.completed.

  • "response.completed"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "response.completed",
  "created_at": 1719168000,
  "data": {
    "id": "resp_abc123"
  }
}

response.cancelled

后台响应被取消时发送。

数据结构

数据结构名称:WebhookResponseCancelled

  • id: string

事件的唯一 ID。

  • created_at: integer

模型响应被取消时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

事件数据载荷。

  • id: string

模型响应的唯一 ID。

  • type: "response.cancelled"

事件类型,始终为 response.cancelled.

  • "response.cancelled"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "response.cancelled",
  "created_at": 1719168000,
  "data": {
    "id": "resp_abc123"
  }
}

response.failed

后台响应失败时发送。

数据结构

数据结构名称:WebhookResponseFailed

  • id: string

事件的唯一 ID。

  • created_at: integer

模型响应失败时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

事件数据载荷。

  • id: string

模型响应的唯一 ID。

  • type: "response.failed"

事件类型,始终为 response.failed.

  • "response.failed"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "response.failed",
  "created_at": 1719168000,
  "data": {
    "id": "resp_abc123"
  }
}

response.incomplete

后台响应被中断时发送。

数据结构

数据结构名称:WebhookResponseIncomplete

  • id: string

事件的唯一 ID。

  • created_at: integer

模型响应被中断时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

事件数据载荷。

  • id: string

模型响应的唯一 ID。

  • type: "response.incomplete"

事件类型,始终为 response.incomplete.

  • "response.incomplete"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "response.incomplete",
  "created_at": 1719168000,
  "data": {
    "id": "resp_abc123"
  }
}

batch.completed

批处理 API 请求完成时发送。

数据结构

数据结构名称:WebhookBatchCompleted

  • id: string

事件的唯一 ID。

  • created_at: integer

批处理 API 请求完成时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

事件数据载荷。

  • id: string

批处理 API 请求的唯一 ID。

  • type: "batch.completed"

事件类型,始终为 batch.completed.

  • "batch.completed"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "batch.completed",
  "created_at": 1719168000,
  "data": {
    "id": "batch_abc123"
  }
}

batch.cancelled

批处理 API 请求被取消时发送。

数据结构

数据结构名称:WebhookBatchCancelled

  • id: string

事件的唯一 ID。

  • created_at: integer

批处理 API 请求被取消时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

事件数据载荷。

  • id: string

批处理 API 请求的唯一 ID。

  • type: "batch.cancelled"

事件类型,始终为 batch.cancelled.

  • "batch.cancelled"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "batch.cancelled",
  "created_at": 1719168000,
  "data": {
    "id": "batch_abc123"
  }
}

batch.expired

批处理 API 请求过期时发送。

数据结构

数据结构名称:WebhookBatchExpired

  • id: string

事件的唯一 ID。

  • created_at: integer

批处理 API 请求过期时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

事件数据载荷。

  • id: string

批处理 API 请求的唯一 ID。

  • type: "batch.expired"

事件类型,始终为 batch.expired.

  • "batch.expired"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "batch.expired",
  "created_at": 1719168000,
  "data": {
    "id": "batch_abc123"
  }
}

batch.failed

批处理 API 请求失败时发送。

数据结构

数据结构名称:WebhookBatchFailed

  • id: string

事件的唯一 ID。

  • created_at: integer

批处理 API 请求失败时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

事件数据载荷。

  • id: string

批处理 API 请求的唯一 ID。

  • type: "batch.failed"

事件类型,始终为 batch.failed.

  • "batch.failed"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "batch.failed",
  "created_at": 1719168000,
  "data": {
    "id": "batch_abc123"
  }
}

fine_tuning.job.succeeded

微调作业成功时发送。

数据结构

数据结构名称:WebhookFineTuningJobSucceeded

  • id: string

事件的唯一 ID。

  • created_at: integer

微调作业成功时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

事件数据载荷。

  • id: string

微调作业的唯一 ID。

  • type: "fine_tuning.job.succeeded"

事件类型,始终为 fine_tuning.job.succeeded.

  • "fine_tuning.job.succeeded"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "fine_tuning.job.succeeded",
  "created_at": 1719168000,
  "data": {
    "id": "ftjob_abc123"
  }
}

fine_tuning.job.failed

微调作业失败时发送。

数据结构

数据结构名称:WebhookFineTuningJobFailed

  • id: string

事件的唯一 ID。

  • created_at: integer

微调作业失败时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

事件数据载荷。

  • id: string

微调作业的唯一 ID。

  • type: "fine_tuning.job.failed"

事件类型,始终为 fine_tuning.job.failed.

  • "fine_tuning.job.failed"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "fine_tuning.job.failed",
  "created_at": 1719168000,
  "data": {
    "id": "ftjob_abc123"
  }
}

fine_tuning.job.cancelled

微调作业被取消时发送。

数据结构

数据结构名称:WebhookFineTuningJobCancelled

  • id: string

事件的唯一 ID。

  • created_at: integer

微调作业被取消时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

事件数据载荷。

  • id: string

微调作业的唯一 ID。

  • type: "fine_tuning.job.cancelled"

事件类型,始终为 fine_tuning.job.cancelled.

  • "fine_tuning.job.cancelled"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "fine_tuning.job.cancelled",
  "created_at": 1719168000,
  "data": {
    "id": "ftjob_abc123"
  }
}

eval.run.succeeded

评估运行成功时发送。

数据结构

数据结构名称:WebhookEvalRunSucceeded

  • id: string

事件的唯一 ID。

  • created_at: integer

评估运行成功时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

事件数据载荷。

  • id: string

评估运行的唯一 ID。

  • type: "eval.run.succeeded"

事件类型,始终为 eval.run.succeeded.

  • "eval.run.succeeded"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "eval.run.succeeded",
  "created_at": 1719168000,
  "data": {
    "id": "evalrun_abc123"
  }
}

eval.run.failed

评估运行失败时发送。

数据结构

数据结构名称:WebhookEvalRunFailed

  • id: string

事件的唯一 ID。

  • created_at: integer

评估运行失败时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

事件数据载荷。

  • id: string

评估运行的唯一 ID。

  • type: "eval.run.failed"

事件类型,始终为 eval.run.failed.

  • "eval.run.failed"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "eval.run.failed",
  "created_at": 1719168000,
  "data": {
    "id": "evalrun_abc123"
  }
}

eval.run.canceled

评估运行被取消时发送。

数据结构

数据结构名称:WebhookEvalRunCanceled

  • id: string

事件的唯一 ID。

  • created_at: integer

评估运行被取消时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

事件数据载荷。

  • id: string

评估运行的唯一 ID。

  • type: "eval.run.canceled"

事件类型,始终为 eval.run.canceled.

  • "eval.run.canceled"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "eval.run.canceled",
  "created_at": 1719168000,
  "data": {
    "id": "evalrun_abc123"
  }
}

realtime.call.incoming

有传入的 API SIP 会话可由 Realtime 接受时发送。 同一待处理会话也可能发出 live.transport.incoming;首先 成功执行的 Realtime 或 Live 接受端点会决定使用的运行时接口。

数据结构

数据结构名称:WebhookRealtimeCallIncoming

  • id: string

事件的唯一 ID。

  • created_at: integer

模型响应完成时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { call_id, sip_headers, sip_media_security }

事件数据载荷。

  • call_id: string

待处理 SIP 通话的 ID。通过 Realtime API 接受或拒绝通话时,原样传入此值。对于 Live API,请改用 live.transport.incoming 中的 session_id。

  • sip_headers: array of object { name, value }

SIP INVITE 中的请求头,不包含 SIP 身份验证请求头。 保留的名称、值、重复项及顺序均保持不变。 应将这些值视为不可信的通话元数据。

  • name: string

SIP 请求头的名称。

  • value: string

SIP 请求头的值。

  • sip_media_security: optional "rtp" or "srtp" or string

SDP 协商期间在 SIP 链路上选择的媒体保护方式。srtp 表示 SRTP;rtp 表示未加密的 RTP。未知时省略此字段。 此字段不描述 SIP 信令的安全性,也不确认媒体已经 传输。客户端应将无法识别的值按未知情况处理。

  • "rtp" or "srtp"

SDP 协商期间在 SIP 链路上选择的媒体保护方式。srtp 表示 SRTP;rtp 表示未加密的 RTP。未知时省略此字段。 此字段不描述 SIP 信令的安全性,也不确认媒体已经 传输。客户端应将无法识别的值按未知情况处理。

  • "rtp"

  • "srtp"

  • string

  • type: "realtime.call.incoming"

事件类型,始终为 realtime.call.incoming.

  • "realtime.call.incoming"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "realtime.call.incoming",
  "created_at": 1719168000,
  "data": {
    "call_id": "rtc_u0_479a275623b54bdb9b6fbae2f7cbd408",
    "sip_media_security": "srtp",
    "sip_headers": [
      {"name": "Max-Forwards", "value": "63"},
      {"name": "CSeq", "value": "851287 INVITE"},
      {"name": "Content-Type", "value": "application/sdp"}
    ]
  }
}

live.call.incoming

已弃用:请使用 live.transport.incoming。迁移期间为已有订阅 保留此事件;不允许新增对此事件的订阅。 有传入的 API SIP 会话可由 Live 接受时发送。同一 待处理会话也可能发出 realtime.call.incoming;首先 成功执行的 Realtime 或 Live 接受端点会决定使用的运行时接口。

数据结构

数据结构名称:WebhookLiveCallIncoming

  • id: string

事件的唯一 ID。

  • created_at: integer

事件创建时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { session_id, sip_headers, sip_media_security }

事件数据载荷。

  • session_id: string

待处理 SIP 会话的 live_... ID。将此值原样传入 Live 通话控制接口及旁路连接。对应的 realtime.call.incoming 事件使用单独的 rtc_... 通话 ID。

  • sip_headers: array of object { name, value }

SIP INVITE 中的请求头,不包含 SIP 身份验证请求头。 保留的名称、值、重复项及顺序均保持不变。 应将这些值视为不可信的通话元数据。

  • name: string

SIP 请求头的名称。

  • value: string

SIP 请求头的值。

  • sip_media_security: optional "rtp" or "srtp" or string

SDP 协商期间在 SIP 链路上选择的媒体保护方式。srtp 表示 SRTP;rtp 表示未加密的 RTP。未知时省略此字段。 此字段不描述 SIP 信令的安全性,也不确认媒体已经 传输。客户端应将无法识别的值按未知情况处理。

  • "rtp" or "srtp"

SDP 协商期间在 SIP 链路上选择的媒体保护方式。srtp 表示 SRTP;rtp 表示未加密的 RTP。未知时省略此字段。 此字段不描述 SIP 信令的安全性,也不确认媒体已经 传输。客户端应将无法识别的值按未知情况处理。

  • "rtp"

  • "srtp"

  • string

  • type: "live.call.incoming"

事件类型,始终为 live.call.incoming.

  • "live.call.incoming"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "live.call.incoming",
  "created_at": 1719168000,
  "data": {
    "session_id": "live_u0_479a275623b54bdb9b6fbae2f7cbd408",
    "sip_media_security": "srtp",
    "sip_headers": [
      {"name": "From", "value": "<sip:alice@example.com>;tag=abc123"},
      {"name": "To", "value": "<sip:recipient@example.com>"},
      {"name": "Call-ID", "value": "call-123@example.com"}
    ]
  }
}

live.transport.incoming

有传入的 API SIP 会话可由 Live 接受时发送。同一 待处理会话也可能发出 realtime.call.incoming;首先 成功执行的 Realtime 或 Live 接受端点会决定使用的运行时接口。

数据结构

数据结构名称:WebhookLiveTransportIncoming

  • id: string

事件的唯一 ID。

  • created_at: integer

事件创建时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { session_id, sip_headers, type, sip_media_security }

事件数据载荷。

  • session_id: string

待处理 SIP 会话的 live_... ID。通过 Live API 接受或拒绝通话时, 原样转发此值。

  • sip_headers: array of object { name, value }

SIP INVITE 中的请求头,不包含 SIP 身份验证请求头。 保留的名称、值、重复项及顺序均保持不变。 应将这些值视为不可信的通话元数据。

  • name: string

SIP 请求头的名称。

  • value: string

SIP 请求头的值。

  • type: "sip"

传入的传输类型,始终为 sip。

  • "sip"

  • sip_media_security: optional "rtp" or "srtp" or string

SDP 协商期间在 SIP 链路上选择的媒体保护方式。srtp 表示 SRTP;rtp 表示未加密的 RTP。未知时省略此字段。 此字段不描述 SIP 信令的安全性,也不确认媒体已经 传输。客户端应将无法识别的值按未知情况处理。

  • "rtp" or "srtp"

SDP 协商期间在 SIP 链路上选择的媒体保护方式。srtp 表示 SRTP;rtp 表示未加密的 RTP。未知时省略此字段。 此字段不描述 SIP 信令的安全性,也不确认媒体已经 传输。客户端应将无法识别的值按未知情况处理。

  • "rtp"

  • "srtp"

  • string

  • type: "live.transport.incoming"

事件类型,始终为 live.transport.incoming.

  • "live.transport.incoming"

  • object: optional "event"

事件的对象类型,始终为 event。

  • "event"

示例

{
  "id": "evt_abc123",
  "type": "live.transport.incoming",
  "created_at": 1719168000,
  "data": {
    "type": "sip",
    "session_id": "live_u0_479a275623b54bdb9b6fbae2f7cbd408",
    "sip_media_security": "srtp",
    "sip_headers": [
      {"name": "From", "value": "<sip:alice@example.com>;tag=abc123"},
      {"name": "To", "value": "<sip:recipient@example.com>"},
      {"name": "Call-ID", "value": "call-123@example.com"}
    ]
  }
}

live.transport.connected

创建直接连接的 Live WebRTC 会话或 Instant Connect 会话激活时发送。使用其会话 ID 附加旁路观察连接。

数据结构

数据结构名称:WebhookLiveTransportConnected

  • id: string

Webhook 事件 ID。

  • created_at: integer

事件创建时的 Unix 时间,单位为秒。

format: unixtime

  • data: object { session_id, type }

  • session_id: string

用于旁路附加端点的 Live 会话 ID。

  • type: "webrtc"

会话的传输方式。

  • "webrtc"

  • object: "event"

  • "event"

  • type: "live.transport.connected"

  • "live.transport.connected"

示例

{
  "id": "evt_abc123",
  "object": "event",
  "created_at": 1793815201,
  "type": "live.transport.connected",
  "data": {"session_id": "live_u0_abc123", "type": "webrtc"}
}

safety.warning_issued

对组织中的某个安全标识符发出警告时发送。

数据结构

数据结构名称:WebhookSafetyWarningIssued

  • id: string

Webhook 事件的唯一 ID。

  • created_at: integer

事件创建时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

  • id: string

传递给 GET /v1/safety/cases/{id} 的安全案例 ID。

  • object: "event"

始终为 event.

  • "event"

  • type: "safety.warning_issued"

始终为 safety.warning_issued.

  • "safety.warning_issued"

示例

{
  "id": "evt_123",
  "object": "event",
  "created_at": 1787659200,
  "type": "safety.warning_issued",
  "data": {"id": "C-abc123"}
}

safety.deactivation_issued

对组织中的某个安全标识符执行停用时发送。

数据结构

数据结构名称:WebhookSafetyDeactivationIssued

  • id: string

Webhook 事件的唯一 ID。

  • created_at: integer

事件创建时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

  • id: string

传递给 GET /v1/safety/cases/{id} 的安全案例 ID。

  • object: "event"

始终为 event.

  • "event"

  • type: "safety.deactivation_issued"

始终为 safety.deactivation_issued.

  • "safety.deactivation_issued"

示例

{
  "id": "evt_123",
  "object": "event",
  "created_at": 1787659200,
  "type": "safety.deactivation_issued",
  "data": {"id": "C-abc123"}
}

safety.alert.created

API 项目有已获批准的安全告警可供获取时发送。

数据结构

数据结构名称:WebhookSafetyAlertCreated

  • id: string

Webhook 事件的唯一 ID。

  • created_at: integer

事件创建时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

  • id: string

传递给 GET /v1/safety/alerts/{id} 的安全告警 ID。

pattern: ^alert_[0-9a-f]{32}$

  • object: "event"

始终为 event.

  • "event"

  • type: "safety.alert.created"

始终为 safety.alert.created.

  • "safety.alert.created"

示例

{
  "id": "evt_123",
  "object": "event",
  "created_at": 1787659200,
  "type": "safety.alert.created",
  "data": {"id": "alert_0123456789abcdef0123456789abcdef"}
}

safety.org_alert.created

企业工作区有已获批准的安全告警可供获取时发送。

数据结构

数据结构名称:WebhookSafetyOrgAlertCreated

  • id: string

Webhook 事件的唯一 ID。

  • created_at: integer

事件创建时的 Unix 时间戳,单位为秒。

format: unixtime

  • data: object { id }

  • id: string

传递给 GET /v1/safety/alerts/{id} 的安全告警 ID。

pattern: ^alert_[0-9a-f]{32}$

  • object: "event"

始终为 event.

  • "event"

  • type: "safety.org_alert.created"

始终为 safety.org_alert.created.

  • "safety.org_alert.created"

示例

{
  "id": "evt_123",
  "object": "event",
  "created_at": 1787659200,
  "type": "safety.org_alert.created",
  "data": {"id": "alert_0123456789abcdef0123456789abcdef"}
}
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号