WebHook 功能使用指南

多会支持为活动设置一个 WebHook 接收地址,当活动有报名出票、退款、销票等事件发生时,我们会主动 POST 订单数据到指定的地址。


# 请求示例:

POST /yoururl
Content-Type: application/json

{
  "status": "paid", // 订单当前状态 paid 已出票, refunded 已退款, partially_used (多张票时)已销部分票, done 已销全部票。
  "version": 4, // 订单版本
  "order_id": 863, // 订单 ID
  "ticket_id": 1053, // 票种 ID
  "event_id": 668, // 活动 ID
  "custom_fields": { // 自定义表单
    "normalInformation": {}, // 报名者信息,每个订单只有一组
    "participantInformation": [ // 参与者信息,每张票有一组
      {
      "key": "地址",
      "value": "1"
    },
    {
      "key": "邮编",
      "value": "1"
    }
    ]
  },
  "remark": "测试", // 备注
  "email": "test@tinyticket.co", // 订单邮箱
  "phone": "18673673161", // 订单电话
  "user_nickname": null, // 用户昵称
  "user_avatar": "https://duohui.co/images/default-avatar.png", // 用户头像
  "code": "6688888", // 入场券号
  "quantity": 2, // 票数量
  "used_quantity": 0, // 已销数量
  "refunded_quantity": 0, // 已退款数量
  "total_amount": "200.00", // 总价
  "paid_amount": "200.00", // 已付金额
  "discount_amount": "0.00", // 折扣金额
  "refunded_amount": "0.00", // 已退款金额
  "created_at": "2017-08-28T10:02:36.000Z", // 订单创建时间
  "updated_at": "2017-08-28T10:02:36.000Z", // 订单修改时间
  "external": false // 是否为外部订单
}

# 字段释义

字段名 类型 含义 示例值 备注
code String 票码 20626922 同一活动内唯一,可能为空
email String 邮箱 tim@apple.com 用户报名时填写的邮箱,可为空
phone String 手机号 12345678901 用户报名时填写的电话,可为空
medium JSON 订单渠道 { "id": "r36bed15", "code": "website", "name": "官网" } 订单所属渠道,和后台配置的“渠道”匹配,可能为空
utm_source String 访客渠道来源(从网址中提取的) apple-website 来源渠道,可能为空
remark String 备注 赠品我要加大码的T恤 用户备注,可能为空
status OrderStatus 订单状态 paid 订单状态,可能值请见:订单状态表
open_id String 第三方平台用户的 open_id 21d348198eb9a66dcee7ef759661a670 微信等第三方平台的用户ID,可为空
union_id String 第三方平台用户的 union_id 21d34832219a66dcee7ef759661a670 微信等第三方平台的用户唯一ID,可为空
version Number 当前订单实例版本 2 订单每次变更都会更新版本号,版本号递增
event_id Number 订单所属活动的 id 1161
ticket_id Number 订单所属票种的 id 3363
ticket_name String 订单所属票种名称 免费票
external Boolean 是否为外部导入订单 false 导入订单为 true 否则为 false
order_id Number 订单ID 10 订单ID为全局唯一的数字
quantity Number 购票张数/报名人数 1 报名人数为大于 1 的正整数
used_quantity Number 已使用的张数 0
refunded_quantity Number 已退款的张数 0
paid_amount Number 支付金额 1 订单实际付款金额
total_amount Number 订单总价(原价) 1 订单总价:票价 x 数量
discount_amount Number 折扣金额 0
refunded_amount Number 已退款金额 0
user_nickname String 用户昵称(微信昵称) 张三
user_avatar String 用户头像 https://www.duohui.cn/images/default-avatar.png
sceneStatus Array 场次信息 []
custom_fields JSON 自定义表单 { "normalInformation": {}, "participantInformation": [ {} ] }
external_fields JSON 导入的信息 {"导入文件名": "export.xlsx" }
custom_param String 自定义信息
created_at DateString 下单时间 2020-10-15T07:54:26.000Z
updated_at DateString 更新时间 2020-10-15T07:54:26.000Z

# 相关链接

订单状态表:https://knowledgebase.youke.co/duohui/article/k8zoxnkdam2

# 注意事项:

  • 返回状态码必须为 2xx,例如 200、204 等。
  • 非 2xx 状态码的返回将判定为请求失败,并在后台自动重试若干次。
  • 由于请求可能会重试多次,请用户在处理时防止重复处理
  • 订单状态变更可能在同一秒发生,顺序不一定完全遵循实际发生顺序,请务必对比 version 来处理业务

最后更新于 3 years ago

这篇文章是否解决了你的问题?

😀😟