联盟计划

开发者可以为其小程序开通联盟计划——允许内容创作者、其他小程序开发者和任何 Telegram 用户推广该小程序,并从他们推荐的人的购买中赚取佣金。

创建联盟计划

user#20b1422 flags:# self:flags.10?true contact:flags.11?true mutual_contact:flags.12?true deleted:flags.13?true bot:flags.14?true bot_chat_history:flags.15?true bot_nochats:flags.16?true verified:flags.17?true restricted:flags.18?true min:flags.20?true bot_inline_geo:flags.21?true support:flags.23?true scam:flags.24?true apply_min_photo:flags.25?true fake:flags.26?true bot_attach_menu:flags.27?true premium:flags.28?true attach_menu_enabled:flags.29?true flags2:# bot_can_edit:flags2.1?true close_friend:flags2.2?true stories_hidden:flags2.3?true stories_unavailable:flags2.4?true contact_require_premium:flags2.10?true bot_business:flags2.11?true bot_has_main_app:flags2.13?true id:long access_hash:flags.0?long first_name:flags.1?string last_name:flags.2?string username:flags.3?string phone:flags.4?string photo:flags.5?UserProfilePhoto status:flags.6?UserStatus bot_info_version:flags.14?int restriction_reason:flags.18?Vector<RestrictionReason> bot_inline_placeholder:flags.19?string lang_code:flags.22?string emoji_status:flags.30?EmojiStatus usernames:flags2.0?Vector<Username> stories_max_id:flags2.5?int color:flags2.8?PeerColor profile_color:flags2.9?PeerColor bot_active_users:flags2.12?int bot_verification_icon:flags2.14?long send_paid_messages_stars:flags2.15?long = User;starsAmount#bbb6b4a3 amount:long nanos:int = StarsAmount; starRefProgram#dd0c66f2 flags:# bot_id:long commission_permille:int duration_months:flags.0?int end_date:flags.1?int daily_revenue_per_user:flags.2?StarsAmount = StarRefProgram;---functions---bots.getAdminedBots#b0711d83 = Vector<User>;bots.updateStarRefProgram#778b5ab3 flags:# bot:InputUser commission_permille:int duration_months:flags.0?int = StarRefProgram;

小程序开发者可以调用bots.updateStarRefProgram来创建、编辑或删除其拥有的小程序的联盟计划。可以通过bots.getAdminedBots获取已拥有的机器人,或者通过检查关联用户的标志来获取。
bot_can_edit

如果bot_can_edit启用此标志,图形客户端在编辑机器人个人资料时应显示“联盟计划”选项,该选项可用于创建和编辑机器人的联盟计划。请注意,如果客户端配置参数“»”设置为 false,
则所有与机器人所有者创建联盟计划相关的 UI 元素和功能都必须隐藏和禁用。starref_program_allowed

调用bots.updateStarRefProgram时,请传递以下参数:

只有在项目创建之后才能提高项目期限和佣金:要降低期限和佣金,必须先终止项目,然后创建一个新项目。

要结束一个联盟计划,请0在调用该方法后约 24 小时(具体来说,是在userFullcommission_permille中指定的时间)将结束该计划,所有已创建的联盟链接将失效。只有在当前联盟计划终止后(userFull之后) ,才能创建新的联盟计划;在 end_date 之前调用该方法将引发RPC 错误。请注意,计划终止后,联盟会员仍将保留在计划终止前获得的所有佣金。此外,在计划有效期间加入的联盟会员推荐的用户,其未来的购买行为将继续为这些联盟会员产生佣金,直至其最初指定的佣金周期结束。starref_programend_date
starref_programend_dateSTARREF_AWAITING_END

如果机器人有活跃的联盟计划,则会设置userFull标志,其中包含有关推荐计划的信息。小程序、频道所有者和普通用户都可以按照此处所述加入推荐计划»。starref_program

成为联盟会员

starsAmount#bbb6b4a3 amount:long nanos:int = StarsAmount; starRefProgram#dd0c66f2 flags:# bot_id:long commission_permille:int duration_months:flags.0?int end_date:flags.1?int daily_revenue_per_user:flags.2?StarsAmount = StarRefProgram;userFull#c577b5ad flags:# blocked:flags.0?true phone_calls_available:flags.4?true phone_calls_private:flags.5?true can_pin_message:flags.7?true has_scheduled:flags.12?true video_calls_available:flags.13?true voice_messages_forbidden:flags.20?true translations_disabled:flags.23?true stories_pinned_available:flags.26?true blocked_my_stories_from:flags.27?true wallpaper_overridden:flags.28?true contact_require_premium:flags.29?true read_dates_private:flags.30?true flags2:# sponsored_enabled:flags2.7?true can_view_revenue:flags2.9?true bot_can_manage_emoji_status:flags2.10?true display_gifts_button:flags2.16?true id:long about:flags.1?string settings:PeerSettings personal_photo:flags.21?Photo profile_photo:flags.2?Photo fallback_photo:flags.22?Photo notify_settings:PeerNotifySettings bot_info:flags.3?BotInfo pinned_msg_id:flags.6?int common_chats_count:int folder_id:flags.11?int ttl_period:flags.14?int theme:flags.15?ChatTheme private_forward_name:flags.16?string bot_group_admin_rights:flags.17?ChatAdminRights bot_broadcast_admin_rights:flags.18?ChatAdminRights wallpaper:flags.24?WallPaper stories:flags.25?PeerStories business_work_hours:flags2.0?BusinessWorkHours business_location:flags2.1?BusinessLocation business_greeting_message:flags2.2?BusinessGreetingMessage business_away_message:flags2.3?BusinessAwayMessage business_intro:flags2.4?BusinessIntro birthday:flags2.5?Birthday personal_channel_id:flags2.6?long personal_channel_message:flags2.6?int stargifts_count:flags2.8?int starref_program:flags2.11?StarRefProgram bot_verification:flags2.12?BotVerification send_paid_messages_stars:flags2.14?long disallowed_gifts:flags2.15?DisallowedGiftsSettings stars_rating:flags2.17?StarsRating stars_my_pending_rating:flags2.18?StarsRating stars_my_pending_rating_date:flags2.18?int main_tab:flags2.20?ProfileTab saved_music:flags2.21?Document = UserFull;payments.suggestedStarRefBots#b4d5d859 flags:# count:int suggested_bots:Vector<StarRefProgram> users:Vector<User> next_offset:flags.0?string = payments.SuggestedStarRefBots;connectedBotStarRef#19a13f71 flags:# revoked:flags.1?true url:string date:int bot_id:long commission_permille:int duration_months:flags.0?int participants:long revenue:long = ConnectedBotStarRef;payments.connectedStarRefBots#98d5ea1d count:int connected_bots:Vector<ConnectedBotStarRef> users:Vector<User> = payments.ConnectedStarRefBots;---functions---payments.getSuggestedStarRefBots#0d6b48f7 flags:# order_by_revenue:flags.0?true order_by_date:flags.1?true peer:InputPeer offset:string limit:int = payments.SuggestedStarRefBots;payments.connectStarRefBot#7ed5348a peer:InputPeer bot:InputUser = payments.ConnectedStarRefBots;payments.getConnectedStarRefBots#5869a553 flags:# peer:InputPeer offset_date:flags.2?int offset_link:flags.2?string limit:int = payments.ConnectedStarRefBots; payments.getConnectedStarRefBot#b7d998f0 peer:InputPeer bot:InputUser = payments.ConnectedStarRefBots;payments.editConnectedStarRefBot#e4fca4a3 flags:# revoked:flags.0?true peer:InputPeer link:string = payments.ConnectedStarRefBots;
带有userFull标志的迷你应用starref_program包含联盟计划,用户可以加入成为联盟会员。联盟会员每推荐一位用户通过其推荐链接完成一次迷你应用交易,即可获得starRefProgram.‰Telegram Stars

的佣金,佣金有效期为推荐链接被任何用户导入后的数月,预计每位被推荐用户每天可赚取一定数量的 Stars。commission_permilleduration_monthsdaily_revenue_per_user * commission_permille / 1000

用户可以使用payments.getSuggestedStarRefBots获取包含可用联盟计划的推荐小程序列表。

要成为联盟会员,请调用payments.connectStarRefBotbot,并将要合作的小程序标识符传递给`payments.connectStarRefBot`,并将peer以下任一信息传递给联盟伙伴:

这将为传入的小程序创建一个推荐链接bot:该链接将包含在url返回的connectedBotStarRef构造函数的字段中。

然后,这些链接可以(负责任地)分享:任何 Telegram 用户在点击推荐链接后首次启动小程序,都将被视为成功推荐——他们在小程序中使用 Telegram Stars 进行的任何购买都将为我们赚取佣金(如上所述),并将Stars转移到传递给我们的联盟会员的 Star 余额中peer。

使用payments.getConnectedStarRefBots获取我们为特定联盟会员创建的所有联盟关系peer。
使用payments.getConnectedStarRefBot获取我们为特定联盟会员创建的特定联盟关系的信息peer。bot使用
payments.editConnectedStarRefBot撤销特定联盟会员的联盟关系peer,并撤销指定的推荐链接 »(connectedBotStarRef.url)。

starref_connect_allowed请注意,如果客户端配置参数“»”设置为 false,则所有允许用户加入联盟计划和成为联盟会员的 UI 元素都必须隐藏和禁用。

导入联盟链接

---functions---contacts.resolveUsername#725afbbc flags:# username:string referer:flags.0?string = contacts.ResolvedPeer;

点击此处指定的由关联用户、频道或小程序创建的推荐链接»时,必须将参数传递给contacts.resolveUsername的参数。referrerreferer

打开推荐链接时,必须始终调用contacts.resolveUsername,即使客户端已经缓存了关联的Peer。username

如果STARREF_EXPIRED该方法返回 RPC 错误,则必须向用户显示错误信息,表明传递的引用链接无效。