跳至主要内容

S2S API Changelog

2026.09.02

  • Added required sales_channel (game_hub, checkout, android_sdk, or checkout_link) to every order returned by get_orders, get_order, and update_order, naming the surface the order was placed through
  • Added required created_at (Unix epoch time) to each order in get_orders, which the single-order endpoints already returned
  • Added optional billing_address to create_order, carrying the player's billing zip or postal code

2026.08.31

  • Split the shared GraphRoot schema into CampaignGraph, PageGraph, and SegmentGroupGraph, so each graph only accepts the node types that run in its context — page graph_rules are down to AddPageBlockNode, ConditionNode, and SplitNode
  • Removed the store nodes (AddStoreNode, SortStoreItemsNode, ItemCategorySortNode), the payment risk nodes (DeclinePaymentNode, Require3DSNode, RequirePennyDropNode, BanUserNode, BatchBanUserNode), and the SortStoreType enum from the API
  • Made nonce required on reject_authorization — a rejection has to name the Game Hub session it belongs to, where the field was optional before
  • Typed the html map on translate_page as SanitizedHtmlLocaleMapping rather than LocaleMapping, marking those values as sanitized HTML. Same locale keys, same string values, no change on the wire

2026.08.27

  • Added the reject_authorization endpoint, which ends a Game Hub login the game server turns down and returns a URL that shows the player the error
  • Added optional start_at, end_at, and platform query filters to get_orders, narrowing the list by order creation time (Unix timestamp in seconds) and by platform
  • Added optional platform (any, ios, android, or other) to each order returned by get_orders, so the platform an order came from is readable without matching it back to the filter used

2026.08.26

  • Added RequirePennyDropNode to campaign, page, and segment-group graphs — a payment risk action node that lets the capture through but makes billing verify the card with a penny drop
  • Added optional pin_scope (global or collection) to pages, setting whether a pinned page ranks first among the pages of all sibling collections or only within its own collection, across get_pages, get_page, create_page, update_page, bulk_update_page, and translate_page. An unset scope is read as global

2026.08.25

  • Added optional quantity_expression to nested items, so a child item inside a bundle, subscription plan, loyalty tier, or daily reward can compute its amount from a formula, and added a PublicNestedItem schema that keeps that formula out of player-facing responses

2026.08.24

2026.08.20

  • Added four payment risk action nodes — DeclinePaymentNode, Require3DSNode, BanUserNode, and BatchBanUserNode — to campaign, page, and segment-group graphs
  • Added the update_creator_terms endpoint for correcting an accepted terms record in place, and a legal_name field to the creator terms object on every creator endpoint
  • Replaced lootbox_settings.pity on public lootboxes with a mechanics array on the lootbox itself, reporting the pity progress that applies to the player, across the daily reward endpoints
  • Limited resource-reference ID fields on the store promotion, store, loyalty, daily reward, order, and payment endpoints to 32 characters, continuing the cap already applied to catalog, graph, coupon, and creator payloads
  • Added optional card_issuer_bank and card_issuing_country to get_payments — the issuing bank name and ISO 3166-1 alpha-2 country resolved from the card BIN, best-effort and empty for non-card payments
  • Added ten Aghanim-maintained engagement attributes to update_playerlast_purchase_date, last_purchase_item_id, last_purchase_sku, last_purchase_amount, purchases_count_rp, last_communication_date, last_email_date, last_hub_popup_date, and the two game_hub_last_sent_webpush_* timestamps
  • Widened price_decimal on create_order to accept a decimal string as well as a number, so clients can send exact amounts without going through a float
  • Renamed the player_info schema on authorize_user from PlayerInfo to LoginPlayerInfo, which also types the custom_attributes values as booleans, numbers, strings, or arrays of those instead of leaving them unconstrained

2026.08.17

  • Added optional quantity_expression to items — a math expression that computes the quantity of a stackable item — writable on the item endpoints and returned wherever an item is embedded, including store items, coupons, and orders
  • Added an optional experiments array to orders, recording up to 20 A/B test assignments as experiment_key and variant_key pairs, on create_order, get_order, and update_order
  • Limited resource-reference ID fields on the coupon and creator endpoints to 32 characters, completing the cap already applied to catalog, store, graph, and page payloads
  • Narrowed the item union on get_items and in store item responses from anyOf to oneOf, so generated clients treat ItemRead, LootboxRead, SubscriptionRead, and VirtualCurrencyRead as mutually exclusive variants
  • Added the PaymentMethodSettings schema and its three enums — PaymentMethodDisplay (auto, express), BillingAddressCollection (full, zip_only, none), and EmailCollection (auto, none, required) — describing per-payment-method checkout behavior. No endpoint references them yet
  • Renamed the get_creators response schema from PaginatedResponse_list_aghanim.creator.schemas.CreatorRead__ to PaginatedResponse_list_CreatorRead__

2026.08.12

  • Added ten tenjin_* attribution attributes to player attributes, writable on update_player, create_order, and authorize_user
  • Limited resource-reference ID request fields on graph action nodes and page blocks to 32 characters, across campaign, page, and segment-group endpoints
  • Added optional position (top or bottom) and skip_dialog to the PWA prompt action node in campaign, page, and segment-group graphs

2026.08.11

2026.08.10

2026.08.08

2026.08.06

  • Added an optional earnings_cap to creators — a limit_usd_cents amount measured over a week or month period — readable on every creator endpoint and settable on update_creator
  • Added a mechanics array to public lootbox settings in daily reward responses, reporting hard pity progress and the groups guaranteed at the next threshold
  • Added the get_orders endpoint, returning a list of orders paged with limit and offset
  • Added optional child_sort_attribute_name to item categories — the player list attribute holding child category slugs in the order they must be shown — across get_item_categories, create_item_category, get_item_category, update_item_category, and bulk_update_item_categories

2026.08.04

2026.08.03

  • Added optional discount_duration — a cycles count or forever — to subscription offers and subscription plans across item, store item, and daily reward endpoints
  • Added optional profile_display (label, icon, and value format) to campaign custom attributes, controlling how an attribute is presented on the hub profile
  • Added the transfer_player_subscription endpoint to move a subscription to another player in the same game, keeping the plan, billing schedule, and saved payment method

2026.07.30

  • Added webhook-driven daily rewards — an optional webhook_id on daily reward programs plus a daily_reward.get webhook event type
  • Added a reward_mode of repeating or non_repeating and an is_won flag to lootbox nested items across item, store item, and daily reward endpoints
  • Added the UserProfileBlock page block type to page layouts and the AddPageBlockNode graph node
  • Added optional create_default_coupon (default true) to create_creator to skip creating the default creator promo coupon

2026.07.27

  • Removed the campaign store items, user store items, virtual SKU report, and virtual store item delete endpoints, along with the UserStoreItem, VirtualSKUStat, and VirtualStoreItemUser schemas (breaking, no deprecation)
  • Added optional creator_settings to create_order, with an attribution_mode of persistent (default) or one_time to control whether a creator coupon code links the player to the creator for future purchases
  • Documented that the price template key is generated from name when omitted in create_price_template

2026.07.20

  • Restructured item, lootbox, and subscription read models — removed is_system, switched lootbox groups to anyOf, and consolidated SubscriptionRead
  • Limited resource-reference ID request fields to 32 characters across catalog, campaign, page, store item, and store promotion endpoints
  • Added the ItemCategorySortNode graph node type to campaign, page, and segment-group graphs
  • Added a not_found sync status and channel view-average fields to get_creator_social_accounts
  • Removed the unused LocaleMapping and PlayerInfoV1 schemas

2026.07.14

  • Increased the sku maximum length from 100 to 255 characters across catalog items, store items, coupons, daily rewards, and loyalty tiers

2026.07.10

  • Added the VED (Venezuelan bolívar) and ZWG (Zimbabwe Gold) currency codes to the shared currency enum used across all catalog, order, pricing, and reward endpoints
  • Added the XCG (Caribbean guilder) currency code to the shared currency enum used across all catalog, order, pricing, and reward endpoints
  • Added the get_creator_social_accounts endpoint

2026.07.07

  • Removed 13 non-circulating ISO 4217 codes (BOV, CHE, CHW, CLF, COU, CUC, HRK, MXV, SLL, USN, UYI, UYW, XDR) from the shared currency enum (breaking)

2026.07.02

2026.07.01

2026.06.26

2026.06.20

2026.06.19

2026.06.18

2026.06.16

2026.06.13

2026.06.12

2026.06.10

2026.06.08

2026.06.04

2026.06.03

2026.05.29

2026.05.27

2026.05.25

2026.05.22

  • Added optional eligible_for_reward_points, eligible_for_loyalty_points, and rewards (virtual currency rewards with issue status) to get_order and update_order responses

2026.05.21

  • Unified item source enum across catalog and order responses, adding seven new reward/liveops values and making the order item source required
  • Added optional quantity_bonus_value and quantity_after_bonus to item responses across items, store items, and daily rewards
  • Added optional category_template_id to carousel and featured-item blocks and show_thumbnail to Twitch and YouTube video blocks across page endpoints
  • Made start_at and end_at optional and nullable across store promotion endpoints
  • Added optional creator_program/inherits_from_tier to create_coupon, update_coupon, and coupon responses
  • Added optional coupon_code to create_order request
  • Added optional show_store_button to get_loyalty_settings and update_loyalty_settings
  • Added optional attributes and custom_attributes to get_player response

2026.05.12

  • Added optional receipt_number to get_order and update_order responses
  • Changed authorize_user to upsert: when the player already exists, the provided player_info (name, avatar_url, attributes, custom_attributes) now updates the stored player on every call instead of being ignored after the first authorization

2026.05.11

  • Added optional player_info to authorize_user request, allowing player name, avatar URL, attributes, and custom attributes to be supplied alongside the authorization

2026.05.08

2026.05.07

  • Added deprecated Apple-specific image URL fields on item responses across all item-bearing endpoints

2026.05.05

2026.05.01

  • Added structured highlights field across all item types and every endpoint that returns item data
  • Deprecated payment_number on get_payments, replaced by new required receipt_number
  • Added title, text, and button_text optional fields to ImageBannerBlock in page endpoints
  • Added optional bonus_items_settings/start_at and end_at scheduling to store item and store promotion endpoints
  • Added optional start_at and end_at to virtual currency items in store item and daily reward responses
  • Added optional limited_stock_settings/start_calculation_at to store endpoints
  • Added galaxy_store and one_store enum values to marketplace fields in create_order and update_player
  • Added optional appsflyer_customer_user_id to create_order and update_player
  • Added optional applied_reward_points to get_order, update_order, and get_payments responses
  • Changed claim_mode default from modal to inline in create_daily_reward and update_daily_reward
  • Tightened image_url validation on achievement endpoints to require a valid URI (non-empty, format: uri, max 2083 characters); achievement type no longer accepts null
  • Set maxLength of 32 on user_id in gdpr_data_removal

2026.04.13

  • Added virtual currency support across coupons, items, store items, and daily rewards
  • Added analytics webhook events and batch delivery mode
  • Added bulk_update_coupon endpoint
  • Added optional category_id to create_coupon and get_coupons
  • Added item_price_type, sort_order parameters and modified_at, price sort options to get_items
  • Added amount, amount_before_discount, currency fields to get_order and update_order responses
  • Added fallback item fields to featured item blocks in page endpoints
  • Added optional sku to loyalty tier items in update_loyalty_tiers
  • Removed LoyaltyItemCreatUpdate schema

需要技术支持?
联系我们的集成技术团队: integration@aghanim.com