// Code generated by lark_sdk_gen. DO NOT EDIT.
/**
 * Copyright 2022 chyroc
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package lark

import (
	"context"
)

// EventV2HireApplicationStageChangedV1 了解事件订阅的使用场景和配置流程, 请点击查看 [事件订阅概述](https://open.feishu.cn/document/ukTMukTMukTM/uUTNz4SN1MjL1UzM)。
//
// 注意该事件仅通知变更投递id及阶段id, 需要配合另外的查询接口反查实际的投递或阶段信息。
// 当招聘的投递发生阶段转移时, 触发该事件。
// - 依赖权限: [获取投递信息]
// - 搭配使用: [获取投递信息](https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/application/get)
//
// doc: https://open.feishu.cn/document/ukTMukTMukTM/uMzM1YjLzMTN24yMzUjN/hire-v1/event/application-stage-changed
// new doc: https://open.feishu.cn/document/server-docs/hire-v1/candidate-management/delivery-process-management/event/application-stage-changed
func (r *EventCallbackService) HandlerEventV2HireApplicationStageChangedV1(f EventV2HireApplicationStageChangedV1Handler) {
	r.cli.eventHandler.eventV2HireApplicationStageChangedV1Handler = f
}

// EventV2HireApplicationStageChangedV1Handler event EventV2HireApplicationStageChangedV1 handler
type EventV2HireApplicationStageChangedV1Handler func(ctx context.Context, cli *Lark, schema string, header *EventHeaderV2, event *EventV2HireApplicationStageChangedV1) (string, error)

// EventV2HireApplicationStageChangedV1 ...
type EventV2HireApplicationStageChangedV1 struct {
	ApplicationID string `json:"application_id,omitempty"`  // 投递 ID. 如: 6914551145542568199
	OriginStageID string `json:"origin_stage_id,omitempty"` // 旧阶段. 如: 6694104661676296462
	TargetStageID string `json:"target_stage_id,omitempty"` // 新阶段. 如: 6694104661676263694
	UpdateTime    int64  `json:"update_time,omitempty"`     // 更新时间. 如: 1614848458499
}
