Stay organized with collections
Save and categorize content based on your preferences.
Perform a Three-Way Account Link
Further Account Linking Guidance
Once a merchant has accepted the OAuth scope, an access & refresh token is
generated for the merchant. If the MCA refresh token has been stored, an API
request can be made using accounts.link with an
AccountsLinkRequest object. The action should be "request".
Conversely, an API request then can be made immediately after using the
subaccount's token, with an AccountsLinkRequest object. The action type should
be "approved". This enables a streamlined account linking workflow for
your merchants joining your platform.
Perform a Three-Way Account Link
Assume you have the following example accounts:
Account
Purpose
111111111
MCA Account
2222222
Other Subaccount
3333333
New Onboarding Account
The account.link resource for LINK REQUEST would have the following for
its parameters:
Parameter
Value
merchantID
111111111
accountID
2222222
And the AccountLinkRequest body would have the following properties:
Property
Value
linkType
eCommercePlatform
linkedAccountId
3333333
action
request
Conversely, the account.link resource for LINK APPROVE would have the
following for its parameters:
Parameter
Value
merchantID
3333333
accountID
3333333
And the AccountLinkRequest body would have the following properties:
[null,null,["Last updated 2024-09-03 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eaccounts.link\u003c/code\u003e API enables streamlined account linking for merchants joining your platform.\u003c/p\u003e\n"],["\u003cp\u003eA three-way account link involves an MCA account, a subaccount, and a new onboarding account.\u003c/p\u003e\n"],["\u003cp\u003eTo initiate a link request, use the MCA account's OAuth token and set the action to "request".\u003c/p\u003e\n"],["\u003cp\u003eTo approve a link request, use the subaccount's OAuth token, set the action to "approve", and provide an external account identifier.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eaccounts.link\u003c/code\u003e resource requires specific parameters and an \u003ccode\u003eAccountLinkRequest\u003c/code\u003e body with relevant properties for both request and approval actions.\u003c/p\u003e\n"]]],["A three-way account link involves using the `accounts.link` API. First, a request is made from the MCA account (e.g., 111111111) to link a subaccount (e.g., 2222222) to a new onboarding account (e.g., 3333333), with the `action` set to \"**request**\". Then, using the subaccount's token, another API request is made to approve the link, setting `action` to \"**approve**\". This specifies the `linkedAccountId`, along with services and external identifier.\n"],null,["Perform a Three-Way Account Link\n--------------------------------\n\n### Further Account Linking Guidance\n\n*** ** * ** ***\n\nOnce a merchant has accepted the OAuth scope, an access \\& refresh token is\ngenerated for the merchant. If the MCA refresh token has been stored, an API\nrequest can be made using [`accounts.link`](https://developers.google.com/shopping-content/reference/rest/v2.1/accounts/link) with an\n[`AccountsLinkRequest`](https://developers.google.com/shopping-content/reference/rest/v2.1/accounts/link#accountslinkrequest) object. The action should be \"**request**\".\n\nConversely, an API request then can be made immediately after *using the\nsubaccount's token* , with an AccountsLinkRequest object. The action type should\nbe \"**approved**\". This enables a streamlined account linking workflow for\nyour merchants joining your platform.\n| **Tip:** In the accounts.link API Request. There might be a case where you'd need to do a 3-way merchant link where a subaccount needs to be linked to another external account that is managing its inventory.\n\n### Perform a Three-Way Account Link\n\n*** ** * ** ***\n\nAssume you have the following example accounts:\n\n| Account | Purpose |\n|-----------|------------------------|\n| 111111111 | MCA Account |\n| 2222222 | Other Subaccount |\n| 3333333 | New Onboarding Account |\n\nThe account.link resource for **LINK REQUEST** would have the following for\nits parameters:\n\n| Parameter | Value |\n|------------|-----------|\n| merchantID | 111111111 |\n| accountID | 2222222 |\n\nAnd the **AccountLinkRequest body** would have the following properties:\n\n| Property | Value |\n|-----------------|-------------------|\n| linkType | eCommercePlatform |\n| linkedAccountId | 3333333 |\n| action | **request** |\n\n| **Important:** This request would be made using an API client that has the *MCA Account* OAuth Token.\n\nConversely, the account.link resource for **LINK APPROVE** would have the\nfollowing for its parameters:\n\n| Parameter | Value |\n|------------|---------|\n| merchantID | 3333333 |\n| accountID | 3333333 |\n\nAnd the **AccountLinkRequest body** would have the following properties:\n\n| Property | Value |\n|---------------------------------------------|---------------------------------------------|\n| linkType | eCommercePlatform |\n| linkedAccountId | 2222222 |\n| action | **approve** |\n| eCommercePlatformLinkInfo.externalAccountId | *your external identifier for the customer* |\n| services | shoppingAdsProductManagement |\n\n| **Important:** This request would be made using an API client that has the *Subaccount* OAuth Token."]]