curl --location --request POST 'https://api.stateset.com/v1/customers/merge' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token <token>' \
--data-raw '{
"primary_customer_id": "cust_primary_123",
"duplicate_customer_ids": ["cust_dup_456", "cust_dup_789"],
"merge_strategy": {
"contacts": "merge_all",
"orders": "transfer_all",
"addresses": "merge_unique",
"preferences": "most_recent"
},
"reason": "Duplicate accounts identified during data cleanup"
}'
{
"id": "cust_primary_123",
"merged_customer_ids": ["cust_dup_456", "cust_dup_789"],
"merge_summary": {
"orders_transferred": 15,
"addresses_merged": 3,
"contacts_merged": 2,
"total_lifetime_value": 4567.89,
"loyalty_points_combined": 2500
},
"conflicts_resolved": [
{
"field": "email",
"primary_value": "[email protected]",
"duplicate_values": ["[email protected]", "[email protected]"],
"resolution": "kept_primary"
},
{
"field": "phone",
"primary_value": "+1-555-0123",
"duplicate_values": ["+1-555-0124"],
"resolution": "kept_all_as_secondary"
}
],
"merged_at": "2024-01-15T14:30:00Z",
"merged_by": "user_admin_123",
"success": true
}
This endpoint merges duplicate customer records into a single primary record.
curl --location --request POST 'https://api.stateset.com/v1/customers/merge' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token <token>' \
--data-raw '{
"primary_customer_id": "cust_primary_123",
"duplicate_customer_ids": ["cust_dup_456", "cust_dup_789"],
"merge_strategy": {
"contacts": "merge_all",
"orders": "transfer_all",
"addresses": "merge_unique",
"preferences": "most_recent"
},
"reason": "Duplicate accounts identified during data cleanup"
}'
{
"id": "cust_primary_123",
"merged_customer_ids": ["cust_dup_456", "cust_dup_789"],
"merge_summary": {
"orders_transferred": 15,
"addresses_merged": 3,
"contacts_merged": 2,
"total_lifetime_value": 4567.89,
"loyalty_points_combined": 2500
},
"conflicts_resolved": [
{
"field": "email",
"primary_value": "[email protected]",
"duplicate_values": ["[email protected]", "[email protected]"],
"resolution": "kept_primary"
},
{
"field": "phone",
"primary_value": "+1-555-0123",
"duplicate_values": ["+1-555-0124"],
"resolution": "kept_all_as_secondary"
}
],
"merged_at": "2024-01-15T14:30:00Z",
"merged_by": "user_admin_123",
"success": true
}
Show properties
curl --location --request POST 'https://api.stateset.com/v1/customers/merge' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token <token>' \
--data-raw '{
"primary_customer_id": "cust_primary_123",
"duplicate_customer_ids": ["cust_dup_456", "cust_dup_789"],
"merge_strategy": {
"contacts": "merge_all",
"orders": "transfer_all",
"addresses": "merge_unique",
"preferences": "most_recent"
},
"reason": "Duplicate accounts identified during data cleanup"
}'
{
"id": "cust_primary_123",
"merged_customer_ids": ["cust_dup_456", "cust_dup_789"],
"merge_summary": {
"orders_transferred": 15,
"addresses_merged": 3,
"contacts_merged": 2,
"total_lifetime_value": 4567.89,
"loyalty_points_combined": 2500
},
"conflicts_resolved": [
{
"field": "email",
"primary_value": "[email protected]",
"duplicate_values": ["[email protected]", "[email protected]"],
"resolution": "kept_primary"
},
{
"field": "phone",
"primary_value": "+1-555-0123",
"duplicate_values": ["+1-555-0124"],
"resolution": "kept_all_as_secondary"
}
],
"merged_at": "2024-01-15T14:30:00Z",
"merged_by": "user_admin_123",
"success": true
}