Update Business Migration User

​

Updates a business migration user in the Punchh system. The user attributes in the Create Business Migration User API can be updated by invoking the Update Business Migration User API. Append the value of the migration_user_id parameter to the endpoint path.

Phone Number Behavior During Migration

  • Automatic Merge vs. Phone Numbers: While parameters like birthday, preferred_location, and initial_points automatically transfer from the awaiting migration record to the guest profile upon sign-up, phone numbers do not automatically transfer on their own.

    An awaiting migration record represents a legacy guest who exists in Punchh's database with their historical balance and metadata, but has not yet activated/registered their account on the new Punchh app or web portal.

  • Sign-up Payload Requirement: To merge a phone number onto a migrated guest's active loyalty profile, the integration must pass a phone number in the sign-up payload (e.g., via (POST /api2/mobile/users) or web iframe sign-up).

  • User Profile: The Punchh platform migrated guest view (Guests > Migrated) displays original_phone from the migration record, but the guest's actual editable loyalty profile will remain blank if no phone number was submitted during the sign-up call. If phone-based migration look-up is enabled for the business and a guest’s active loyalty profile is not updated with their phone number, several key loyalty features and workflows will fail, including POS and in-store phone look-up, phone-based or OTP login, and SMS marketing and notifications. Contact your Punchh representative to update this Punchh platform configuration.

Path Parameters

  • The value of the migration_user_id parameter returned in the response of the Create Business Migration User API

Headers

  • Bearer token for admin authorization, who is making a call on behalf of the customer. Send the API key in the following format: "Authorization: Bearer BUSINESS_ADMIN_KEY_GOES_HERE".

  • Advertises which content types the client is able to understand

  • Set this header to application/json.

Body

application/json
  • Address of the user

  • Date of birth of the user, in YYYY-MM-DD format

  • Properties: 2
  • City where the user lives

  • Email address of the user that will be added to the migration data. Migration can be based on this value as well.

  • Facebook ID that identifies the user

  • First name of the user

  • Properties: 2
  • Number of points that will be used to determine a guest’s membership tier during migration. Contact your Punchh representative for more information.

  • Last name of the user

  • Details of the loyalty cards migrated for the user

    Properties: 3
  • Whether the user has subscribed to receive marketing emails or not

Responses

  • application/json
  • application/json
Request Example for patch/api2/dashboard/migration_users/{ID}
curl 'https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/migration_users/{ID}' \
  --request PATCH \
  --header 'Authorization: Bearer BUSINESS_ADMIN_KEY_GOES_HERE' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Incumbent Loyalty Program",
  "birthday": "1999-01-01",
  "phone": "1111111111",
  "email": "test@example.com",
  "original_membership_no": 123456789,
  "registration_date": "2017-12-23T19:39:54+00:00",
  "first_name": "FIRST_NAME_GOES_HERE",
  "last_name": "LAST_NAME_GOES_HERE",
  "original_phone": "1111111111",
  "original_points": 97,
  "rate_of_conversion": 1,
  "fb_uid": "",
  "initial_points": 3,
  "migrated_rewards": 10.9,
  "migrated_rewards_expiration_date": "2020-01-31",
  "marketing_pn_subscription": true,
  "marketing_email_subscription": false,
  "address_line1": "ADDRESS_GOES_HERE",
  "city": "Mountain View",
  "state": "California",
  "zip_code": "94040",
  "preferred_location": "311031",
  "migrated_redeemables": [
    {
      "redeemable_id": 2329,
      "rewards_count": 2
    }
  ],
  "user_relations": [
    {
      "name": "FIRST_NAME_GOES_HERE LAST_NAME_GOES_HERE",
      "relation": "spouse",
      "birthday": "1999-01-01"
    },
    {
      "name": "FIRST_NAME_GOES_HERE",
      "relation": "kid",
      "birthday": "1999-01-01"
    }
  ],
  "gift_cards": [
    {
      "card_number": "CARD_NUMBER_GOES_HERE",
      "epin": "EPIN_GOES_HERE"
    },
    {
      "card_number": "CARD_NUMBER_GOES_HERE",
      "epin": ""
    }
  ],
  "challenge_progress": [
    {
      "challenge_campaign_id": 21571,
      "progress_count": 2
    }
  ],
  "loyalty_cards": [
    {
      "card_number": "CARD_NUMBER_GOES_HERE",
      "status": "ACTIVE",
      "card_signup_date": "2021-05-03"
    },
    {
      "card_number": "CARD_NUMBER_GOES_HERE",
      "status": "SUSPENDED",
      "card_signup_date": "2021-03-03"
    }
  ]
}'
{
  "address_line1": "ADDRESS_GOES_HERE",
  "birthday": "1999-01-01",
  "city": "Mountain View",
  "email": "test@example.com",
  "first_name": "FIRST_NAME_GOES_HERE",
  "gifted_value": 97,
  "initial_points": 3,
  "last_name": "LAST_NAME_GOES_HERE",
  "marketing_email_subscription": false,
  "marketing_pn_subscription": true,
  "migrated_redeemables": [
    {
      "redeemable_id": "2329",
      "rewards_count": "2"
    }
  ],
  "migrated_rewards": 10.9,
  "migrated_rewards_expiration_date": "2020-01-31",
  "name": "Incumbent Loyalty Program",
  "original_membership_no": 123456789,
  "original_phone": "1111111111",
  "original_points": 97,
  "phone": "1111111111",
  "preferred_location": 311031,
  "registration_date": "2017-12-23T19:39:54+00:00",
  "state": "California",
  "street_address": "ADDRESS_GOES_HERE",
  "user_relations": [
    {
      "name": "FIRST_NAME_GOES_HERE LAST_NAME_GOES_HERE",
      "relation": "spouse",
      "birthday": "1999-01-01"
    },
    {
      "name": "FIRST_NAME_GOES_HERE",
      "relation": "kid",
      "birthday": "1999-01-01"
    }
  ],
  "zip_code": "94040",
  "gift_cards": [
    {
      "card_number": "CARD_NUMBER_GOES_HERE",
      "epin": "EPIN_GOES_HERE"
    },
    {
      "card_number": "CARD_NUMBER_GOES_HERE",
      "epin": ""
    }
  ],
  "migration_user_id": 14017338,
  "fb_uid": "",
  "challenge_progress": [
    {
      "challenge_campaign_id": 21571,
      "progress_count": 2
    }
  ],
  "loyalty_cards": [
    {
      "card_number": "CARD_NUMBER_GOES_HERE",
      "status": "ACTIVE",
      "card_signup_date": "2021-05-03"
    },
    {
      "card_number": "CARD_NUMBER_GOES_HERE",
      "status": "SUSPENDED",
      "card_signup_date": "2021-03-03"
    }
  ]
}