奖金
奖金事件将让您能够查看与您的活动相关的实际奖金成本。它还允许您在奖金状态变化时触发活动,例如如果奖金丢失得太快。
REST API
RabbitMQ Connector
Kafka Connector
⬆️ POST /v1/integration/bonus
RabbitMQ消息属性
| key | value |
|---|---|
type | BONUS |
类型应作为RabbitMQ消息的属性(但不在载荷中)。任何标头都将被忽略。
Kafka消息标头
| key | value |
|---|---|
type | BONUS |
业务规则:
- 每个创建的奖金都需要有其结论[Completed、AutoCompleted、Forfeited、Expired或Lost]。
- status内的user_bonus_id应该是唯一的。
- 重要的是,当奖金状态发生变化时只发送一个事件。发送相同状态的多个事件将导致分段数据不正确。
请求
当发送"免费旋转"奖金时,我们期望在免费旋转轮次完成后发送第一个奖金事件,并附上相关的获胜"金额"。
如果您希望在免费旋转发放时发送数据,您可以将其作为"自定义事件"发送。
必需属性用*标记
键 | 类型 | 描述 |
amount * | float | 分配给奖金的金额。 |
bonus_code | string | 促销性质的指示,例如"WELCOME100" |
bonus_id * | string | 每个奖金活动的唯一标识符。 |
bonus_turned_real | float | 如果投注完成,转换为真实金额的奖金金额 |
currency * | string
格式: ISO4217 | 玩家货币 |
exchange_rate * | float | 时间戳处的汇率 |
locked_amount | float | 锁定在投注中的奖金金额 |
meta | object | 如果需要发送元数据 |
origin * | string | 此值可用于识别玩家所在的品牌或管辖区 |
product * | string
接受的值:
"Casino"
"Sportsbook"
"Lotto"
"Poker"
"Live Casino" | 定义与奖金关联的产品 |
required_wagering_amount | float | 奖金所需的投注金额 |
status * | string
接受的值:
"Created"
"Completed"
"AutoCompleted"
"Forfeited"
"Expired"
"Lost" | 在发送实时事件时分配给奖金的状态。 |
timestamp * | string
格式: RFC3339 | 发送事件的时间戳。这里需要精确到毫秒的时间以确保准确性。 |
type * | string
接受的值: "NoDeposit"
"WelcomeBonus"
"CashbackBonus"
"ReloadBonus" "WagerFree"
"FreeSpins" "RiskFreeBet" "Undefined" | 必须是列表中指定的值之一。如果不是,请发送"Undefined"。我们可以协助将您当前的奖金类型映射到此处定义的列表。 |
user_bonus_id | string | 记入玩家账户的奖金的唯一标识符。可以设置为随机值,建议为用户ID + 奖金ID。 |
user_id * | string | 奖金已记入其账户的玩家的用户ID。 |
is_free_money | boolean | 指示交易是否使用免费游戏钱包进行,例如金币或任何其他虚拟货币。
如果载荷中不包含此属性,则默认为false |
fasttrack_references | object | Fast Track在任何奖金记入请求中提供的数据。 此数据用于在活动转换报告中更新授予的奖金金额和转为真实的奖金金额。 |
最佳实践 - 奖金类型
将您的奖金类型映射到Greco接受的值之一可能是一项具有挑战性的任务。请记住,Greco通过多个运营商运营,我们使用行业中最常见的类型。
尽量避免发送"Undefined"奖金类型。
状态描述
状态 | 描述 |
Created | 当奖金已被领取且资金已添加到玩家账户时。 |
Completed | 如果投注要求已满足且奖金资金转为真实资金。 |
AutoCompleted | 如果您的系统通过常规设置自动移除奖金。
例如,如果余额低于€0.10,奖金将自动完成 |
Forfeited | 如果奖金已被放弃。 |
Expired | 如果奖金的有效期已过期。 |
Lost | 如果玩家的奖金余额已用完。 |
事件序列
bonus_id和user_bonus_id一起构成唯一键。每个_Created_奖金都需要有其结论:Completed、AutoCompleted、Forfeited、Expired_或_Lost。因此,如果发送了**{**bonus_id:1, user_bonus_id:1, status:Created},在某个时刻需要发送**{_bonus_id:1,_ _user_bonus_id:1, status:Completed}**_。
场景A - 奖金创建和完成
奖金事件 - 已创建
首先,我们应该收到一个奖金事件,其bonus_id和user_bonus_id的状态为_Created_
NAN;{bonus_id:1, user_bonus_id:1, status:Created, ...}
奖金事件 - 已完成
一旦奖金完成,我们应该收到一个奖金事件,其bonus_id和user_bonus_id的状态为_Completed_
NAN;{bonus_id:1, user_bonus_id:1, status:Completed, ...}
场景A - 奖金创建和过期
奖金事件 - 已创建
首先,我们应该收到一个奖金事件,其bonus_id和user_bonus_id的状态为Created
NAN;{bonus_id:1, user_bonus_id:1, status:Created, ...}
奖金事件 - 已过期
一旦奖金完成,我们应该收到一个奖金事件,其bonus_id和user_bonus_id的状态为_Expired_
NAN;{bonus_id:1, user_bonus_id:1, status:Expired, ...}
_AutoCompleted、Forfeited或Lost状态_也必须遵循相同的规则
如果user_bonus_id与相同的状态一起发送,即使使用不同的bonus_id和金额,它也将被视为重复事件,最后一个将被丢弃,因为user_bonus_id是用户奖金记入标识。