OpenAI Webhook事件定义
Webhook 事件
在 API 使用过程中发生某些事件时,OpenAI 会向你指定的 URL 发送 HTTP 请求,这类请求称为 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"}
}
TRAE-AI编程


更多建议: