All properties need to be under msg.payload.
Merging
If the incoming message has a payload property with domain, service set it will override any config values if set.
If the incoming message has a payload.data that is an object or parsable into an object these properties will be merged with any config values set.
If the node has a property value in its config for Merge Context then the flow and global contexts will be checked for this property which should be an object that will also be merged into the data payload.
Merge Resolution
As seen above the data property has a lot going on in the way of data merging, in the end, all of these are optional and the rightmost will win if a property exists in multiple objects
Config Data, Global Data, Flow Data, Payload Data ( payload data property always wins if provided
domainstring
Service domain to call
servicestring
Service service to call
dataObject
Service data to send with API call