Store, promotion, loyalty, and daily reward IDs limited to 32 characters
What's new
The 32-character cap on resource-reference ID fields now covers the store promotion, store, loyalty, daily reward, order, and payment endpoints. It applies to the promotion fields id, bonus_item_id, category_ids, item_ids, store_ids, and the nested offers and bonus_items_settings entry IDs; to the store fields id, rotation_settings.current_rotated_store_item_ids, and settings.webhook_settings.webhook_id; to the loyalty tier and tier-item IDs plus issue_points user_id; to the daily reward id and webhook_id; and to price_template_id on order creation.
This follows the same rollout applied to catalog, store, and promotion payloads, graph nodes and page blocks, and coupon and creator endpoints.
Impact
An ID longer than 32 characters in any of these request fields is now rejected by validation. Aghanim resource IDs are already 32 characters or shorter, so callers passing valid IDs are unaffected. The cap is also declared on the response schemas, which tells generated clients the field width to expect.
Changes
| Resource | Change |
|---|---|
| create_store_promotion, update_store_promotion | bonus_item_id and each entry of category_ids, item_ids, and store_ids capped at 32 characters, along with the offers and bonus_items_settings entry IDs |
| bulk_update_store_promotions | The same fields plus the promotion id capped at 32 characters |
| get_store_promotions, get_store_promotion, copy_store_promotion, get_user_promotions | The same fields plus campaign_id, user_campaign_id, and user_id declared with the cap in responses |
| create_store, update_store | rotation_settings.current_rotated_store_item_ids entries and settings.webhook_settings.webhook_id capped at 32 characters |
| bulk_delete_stores | Each entry id capped at 32 characters |
| get_stores, get_store, get_store_by_store_item | Store id, rotated store item IDs, and webhook_id declared with the cap in responses |
| update_loyalty_tiers | Tier id and the tier-item id capped at 32 characters |
| get_loyalty_tiers, get_loyalty_settings, update_loyalty_settings | Loyalty id, game_id, tier id, and the item id, fallback_item_id, price_template_id, and rarity_id declared with the cap |
| issue_loyalty_points | user_id capped at 32 characters |
| create_daily_reward, update_daily_reward | webhook_id capped at 32 characters |
| get_daily_rewards, get_daily_reward, copy_daily_reward | Daily reward id and webhook_id, plus the reward item and nested lootbox, subscription, and virtual currency IDs, declared with the cap |
| create_order | price_template_id capped at 32 characters |
| get_order, get_orders, update_order | Order id, order item id, embedded item and coupon id, and the virtual currency reward virtual_currency_id declared with the cap |
| get_payments | order_id and the embedded item and coupon id declared with the cap |
Upgrade
- No action required if you send standard Aghanim resource IDs. If you generate or forward IDs from another system, ensure they do not exceed 32 characters.
Need help?
Contact our integration team at [email protected]