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, andinitial_pointsautomatically 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_phonefrom 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
- Type: stringI
D requiredThe value of the
migration_user_idparameter returned in the response of the Create Business Migration User API
Headers
- Type: stringAuthorizationrequired
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".
- Type: stringAcceptrequired
Advertises which content types the client is able to understand
- Type: stringContent
- Type requiredSet this header to application/json.
Body
- Type: stringaddress
_line1 Address of the user
- Type: stringFormat: datebirthday
Date of birth of the user, in YYYY-MM-DD format
- Properties: 2Type: array of objectchallenge
_progress - Type: stringcity
City where the user lives
- Type: stringemail
Email address of the user that will be added to the migration data. Migration can be based on this value as well.
- Type: stringfb
_uid Facebook ID that identifies the user
- Type: stringfirst
_name First name of the user
- Properties: 2Type: array of objectgift
_cards - Type: integerFormat: int32initial
_points Number of points that will be used to determine a guest’s membership tier during migration. Contact your Punchh representative for more information.
- Type: stringlast
_name Last name of the user
- Type:loyalty
_cards Properties: 3Details of the loyalty cards migrated for the user
- Type: booleanmarketing
_email _subscription Whether the user has subscribed to receive marketing emails or not
Responses
- application/json
- application/json
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"
}
]
}