CustomerUnificationMergeClusterPayload
Result of a cluster MERGE or NOT_DUPLICATE fan-out: aggregate counters and the first persisted decision.
This page contains
Fields
| decision: CustomerUnificationDecision PREVIEW | First persisted decision when at least one pair succeeded; null when all per-pair attempts failed. |
| succeeded: Int! | Number of pairs whose decision was recorded (or was already idempotently in the requested state). |
| failed: Int! | Number of pairs whose decision could not be recorded (missing pair or prior terminal conflict). |
| rejectedSucceeded: Int! | Number of removed-suggestion pairs recorded as REJECT. Kept out of succeeded so the succeeded + failed = memberPartyIds.length invariant holds. Always 0 for customerUnificationMarkClusterNotDuplicate. |
| rejectedFailed: Int! | Number of removed-suggestion pairs that could not be recorded as REJECT, including pairs skipped because their latest decision is already a MERGE. Both reject counters are 0 when the fan-out never ran, either because the merge batch recorded nothing or because no removed suggestion had a review queue pair. Always 0 for customerUnificationMarkClusterNotDuplicate. |
| userErrors: [CustomerUnificationSubmitDecisionError!] PREVIEW | Whole-call validation errors (e.g. invalid input shape); empty or null when the request was accepted. |
Mutations for CustomerUnificationMergeClusterPayload
| customerUnificationMarkClusterNotDuplicate PREVIEW | Record a NOT_DUPLICATE outcome for every pair (i, j) of the supplied party identifiers, idempotently. Pairs whose latest decision is already a terminal REJECT are counted as succeeded without persisting a duplicate row. Per-pair failures (missing pair, prior MERGE conflict) are isolated; the invariant succeeded + failed = number of distinct party-id pairs holds when the request is accepted. |
| customerUnificationMergeCluster PREVIEW | Record a MERGE decision for every (primary, member) pair in an N-record cluster using a single set of field selections supplied by the caller. Per-pair failures (missing pair, prior terminal decision) are isolated and reflected in succeeded / failed counters; the invariant succeeded + failed = memberPartyIds.length holds when the request is accepted. Suggested members passed as rejectedPartyIds are recorded as REJECT in a second batch once the merge batch succeeds, reported through rejectedSucceeded / rejectedFailed. |