Last Updated: 11/15/2021, 8:31:01 AM

# Fulfillment

# Overview

The Fulfillment service is used to grant entitlements to players that they have purchased or otherwise earned. If a player purchases an item or redeems a promotional code, the Fulfillment service works to ensure that they receive that item immediately.

Fulfillment works with other Commerce services to distribute items to your players. First, the Orders service will send information about a newly placed order to the Fulfillment service. Then, the Entitlement service and Catalog service work together to check the availability of the item. If the item is available, it will be granted to the player.

# Permissions

Permissions are used to grant access to specific resources within our services. Make sure your account has the following permissions before you attempt to manage fulfillments in the Admin Portal. For a full list of permissions that impact fulfillments management, see the Platform/Commerce tab of the permissions reference

Usage Resource Action
Query Fulfillment Histories ADMIN:NAMESPACE:{namespace}:FULFILLMENT Read
Fulfill Item NAMESPACE:{namespace}:USER:{userId}:FULFILLMENT Create
Redeem Campaign Code NAMESPACE:{namespace}:USER:{userId}:FULFILLMENT Create

Permissions work slightly differently depending on whether they are assigned to IAM Clients or Roles assigned to users. For more information, read the Authentication and Authorization documentation.

# Implementing Fulfillment using the SDK

# Code Redemption

A player can redeem a campaign code to receive entitlements, such as games, in-game items, or coins. To redeem a code, call RedeemCode from the Fulfillment API. The code will be redeemed and the player will receive their entitlements under the following conditions:

  • The code exists in the game namespace
  • The maximum redemption limit hasn’t been reached
  • The time and date of the redemption falls within the redemption period

# Game Server Grants Item to Player

The FulfillUserItem() function can be used to allow the game server to trigger the Fulfillment service and grant an item to a player. This can be used to immediately grant a player an item when they earn a particular achievement, or to grant every player in a match a special item for a particular game mode but have that item disappear from the player’s inventory when the match is over.

  • Read about our Entitlements service to learn more about managing player entitlements.
  • See the Orders documentation to learn more about integrating our Orders service into your game and managing player orders from the Admin Portal.
  • Learn more about how to create codes that players can redeem for games or items by reading the Code Redemption documentation.