Declaratively replaces the complete set of customer-group mappings of a connector account and pushes the resulting mapping live to the Connector endpoint.
Declaratively replaces the complete set of customer-group mappings of a connector account and pushes the resulting mapping live to the Connector endpoint. The request describes the full desired state - provided assignments are upserted and every mapping not contained in the request is cleared. An EndpointId that is neither already mapped nor currently reported by the Connector endpoint (stale data) is silently ignored, exactly as if it had not been submitted. Persistence of the resulting write always succeeds independently of the later live push outcome; a failed or timed-out live push is reported via LiveSyncStatus/LiveSyncError but does not roll back the persisted assignments or change the response code. This command has no IsDefault input - a customer group’s default flag, like its display name, is reported by the Connector endpoint itself; it is never accepted from or echoed back with authority by this write path, so a GET-modify-PUT round trip cannot change or need to preserve it. For an EndpointId not already mapped, EndpointName/IsDefault are instead resolved with one live read from the Connector endpoint before anything is persisted - unlike the later live push, a failure of this live read does fail the whole request (502/504) and persists nothing, because it is needed to build a valid response.
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Headers
The tenant ID for the target ERP instance.
Path Parameters
Sales channel id of the Connector whose customer groups are replaced.
Body
Request model for SaveConnectorCustomerGroups command endpoint. Route parameters bind from the route, query parameters from the query string, everything else from the body.
The complete desired set of customer-group mappings for the connector account. Any existing mapping not contained in this list is cleared.
Response
Successfully replaced the customer-group mappings. Returns the persisted mappings together with the outcome of the live push to the Connector endpoint.
Declaratively replaces the complete set of customer-group mappings of a connector account and pushes the resulting mapping live to the Connector endpoint. The request describes the full desired state - provided assignments are upserted and every mapping not contained in the request is cleared. An EndpointId that is neither already mapped nor currently reported by the Connector endpoint (stale data) is silently ignored, exactly as if it had not been submitted. Persistence of the resulting write always succeeds independently of the later live push outcome; a failed or timed-out live push is reported via LiveSyncStatus/LiveSyncError but does not roll back the persisted assignments or change the response code. This command has no IsDefault input - a customer group's default flag, like its display name, is reported by the Connector endpoint itself; it is never accepted from or echoed back with authority by this write path, so a GET-modify-PUT round trip cannot change or need to preserve it. For an EndpointId not already mapped, EndpointName/IsDefault are instead resolved with one live read from the Connector endpoint before anything is persisted - unlike the later live push, a failure of this live read does fail the whole request (502/504) and persists nothing, because it is needed to build a valid response. - Response
The persisted customer-group mappings, minus any submitted EndpointId ignored as stale (see the command description). For an EndpointId already mapped, EndpointName/IsDefault are carried over unchanged from the previously persisted state, exactly as before this call. For a first-time EndpointId, both are instead resolved from a live read performed before persisting, so IsDefault is always a definite, known value here too, never a guess - EndpointName can still be null there if the endpoint itself reports no usable localized name for that group, the same case QueryConnectorCustomerGroups already tolerates. This list is independent of the later live push outcome reported in LiveSyncStatus/LiveSyncError - it reflects what was persisted, not a re-pull after that push, so it does not depend on or wait for the push to succeed.
Outcome of the live push to the Connector endpoint.
0, 1, 2, 3 Details of the live sync outcome. Code and Message are not set when LiveSyncStatus is Synced (omitted in REST JSON, null in GraphQL), and populated when it is SyncFailed or SyncTimedOut. Always present as an object (rather than the field itself being nullable) because Command response properties do not support optional-field validation the way GET model properties do - this shape sidesteps that generator limitation.