Wallet Type Create Recipe

📌 Purpose

After setting up your retailer brand in AIR, a default wallet type of CONSUMER is created. You may have a requirement for additional wallet types to introduce householding or charity. This recipe guides you through creating additional wallet types for your company. See the Create Wallet Type API reference for additional options that can be configured against wallets.

🖼 Recipe Overview

In this recipe, you will set up an additional wallet type of HOUSEHOLD to allow multiple consumer wallets to be children within. By the end, your brand will have a new wallet type that can be created and used in other API calls across the Eagle Eye platform and available in the Customer Care are of the dashboard.

📋 Prerequisites

Ensure you have:

  • Access to Eagle Eye APIs
  • Your company unit’s clientId and secret
  • The unitId for your top-level company brand
  • Name for the new wallet type

📤 Outputs

As you complete each step, note these outputs for future API calls and program validation:

Output NamePurpose
IdIdentifies each walletType you create

📒 Steps

Step 1: Create Your Wallet Type

  • 1.1 Choose a name for your new wallet type. We will use HOUSEHOLD for this recipe.
  • 1.2 Recommended configurations:
    • allowMerge: false (ensures this wallet type cannot be merged into other household wallets)
    • defaultState: DEFAULT
    • defaultStauts: ACTIVE
  • 1.3 Set maxChild to 0 to ensure no other wallet types can be a parent of HOUSEHOLD
  • 1.4 Set maxParent to 5 (update as needed) to ensure this wallet type can have a max of 5 children wallets
📘

Child in this API request means "child of" and parent means "parent of"


Step 2: Call POST /units/{unitId}/walletConfig/walletTypes

Send the setup request to create your wallet type in the platform.

  • 2.1 Use the POST /units/{{unitId}}/walletConfig/walletTypes endpoint
  • 2.2 Pass in your company's unitId value in the request URL
{
    "name": "HOUSEHOLD",
    "configuration": {
        "allowMerge": {
            "value": false
        },
        "defaultState": {
            "value": "DEFAULT"
        },
        "defaultStatus": {
            "value": "ACTIVE"
        },
        "maxChild": {
            "value": 0
        },
        "maxParent": {
            "value": 5
        }
    }
}
{
    "id": "2727",
    "name": "HOUSEHOLD",
    "configuration": {
        "allowMerge": {
            "value": false
        },
        "defaultState": {
            "value": "DEFAULT"
        },
        "defaultStatus": {
            "value": "ACTIVE"
        },
        "maxChild": {
            "value": 0
        },
        "maxParent": {
            "value": 5
        }
    }
}

✅ Business Readiness Checklist

Use these checks to confirm your wallet type is set up correctly:

  • Create a new wallet in a wallet using POST /services/wallet and add in a relationships object with the new HOUSEHOLD wallet type as the child of
  • Verify default state and status are set upon create of the new wallet type
  • Create five CONSUMER wallets and use the Create Child API to ensure the maxParent value is enforced
    • Create another consumer wallet and attempt to add it as a child of the parent to ensure maxParent is enforced

🔧 Troubleshooting Tips

IssuePossible Cause & Resolution
Unit Not Found (UNF)The unit may not be the parent for the clientId used. Verify your unitId, clientId and secret before retrying.
IR: Invalid request date ErrorThe wallet type name in the request already exists. Use a unique name for the new wallet type.

What’s Next

For more information on wallet relationship best practices, including moving wallets in and out of households, see: Wallet Householding