8

In Salesforce marketing cloud I have an installed package with an API integration. I am in the process of moving from the old OAuth token created via https://auth.exacttargetapis.com/v1/requestToken to the new OAuth 2 token created via https://mcc289rsykf7bklym5hlwv5n40n4.auth.marketingcloudapis.com/v2/token

I am using the client credentials server to server integration type.

The new OAuth 2 token generated works correctly via any of the REST API endpoints however it doesn't work with the old soap web service when passed in the <fueloauth>TOKEN_HERE</fueloauth> soap header. This does work correctly with the old OAuth token.

Here is an example of the soap call that I am testing with. Like I said this works correctly with tokens generated via https://auth.exacttargetapis.com/v1/requestToken

<?xml version="1.0" encoding="UTF-8"?>
  <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Header>
      <fueloauth>TOKEN_HERE</fueloauth>
    </soapenv:Header>
    <soapenv:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <RetrieveRequestMsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
           <RetrieveRequest>
              <ObjectType>DataExtensionObject[DE-KEY]</ObjectType>
              <Properties>CustomerKey</Properties>
              <Properties>Name</Properties>
              <Properties>Keys</Properties>
              <Properties>Type</Properties>
              <Properties>ModifiedDate</Properties>
              <Properties>CreatedDate</Properties>
           </RetrieveRequest>
        </RetrieveRequestMsg>
      </soapenv:Body>
    </soapenv:Envelope>

The error I receive back is "User not authorized" the soap fault is below:

            <faultcode>soap:Client</faultcode>
            <faultstring>User not authorized</faultstring>
            <faultactor>https://mcc289rsykf7bklym5hlwv5n40n4.soap.marketingcloudapis.com/Service.asmx</faultactor>
            <detail>
                <apifault xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:fault.partner.exacttarget.com">
                    <Code>11</Code>
                    <Message>User not authorized</Message>
                </apifault>
            </detail>
        </soap:Fault>

Its worth noting that I have enabled every permission available in the API integration.

Has any one experienced any similar issues or have an idea how to fix this issue?

5
  • i think your token was expired generate new token the try
    – Ravi.A
    Feb 28, 2019 at 7:23
  • The token definitely hasn’t expired, it was just generated and I used it via the REST API and it works fine. The soap service returns a different fault when the token has expired.
    – Dan
    Feb 28, 2019 at 7:42
  • workaround (no solution unfortunately) suggested here: salesforce.stackexchange.com/questions/252031/… Feb 28, 2019 at 14:25
  • To verify, you are using the new soap_instance_url when you are making your soap calls, right? This authentication will not work with any legacy endpoints Feb 28, 2019 at 15:16
  • I have successfully used the new S2S v2 OAuth token to make SOAP calls now. This issue appears to have been resolved. Mar 21, 2019 at 20:41

1 Answer 1

6

I had a email exchange with a contact I have in the salesforce marketing cloud team and I was specifically told that the enchanced package support isn’t complete yet for AppExchange partners and we should continue to use the legacy endpoints until further comms to AppExchange partners says otherwise.

I don’t know what that means for other people how are having a similar issue. We are building an app for the AppExchange so this was relevant to me.

Once I receive further communication regarding the readiness of the enchanced package support I will update this answer.

5
  • Thanks for the update @Dan! Mar 1, 2019 at 14:33
  • 1
    Got feedback in the partner community: "there was a problem on the product side and the fix was deployed last night. I've run my test and was able to create DE without any problems." Sounds like it should work now. Mar 7, 2019 at 7:42
  • Thanks, I have confirmed it now works. I wasted a lot of time with this problem thinking I was missing some vital piece of information in the docs. More testing please SFMC devs :)
    – Dan
    Mar 15, 2019 at 3:06
  • Can confirm that legacy SOAP API calls using the new auth token header now also works for me. Thanks! Mar 18, 2019 at 16:37
  • 1
    Hmm also went back to check this one and was surprised it is now working...for once would be nice if documentation was clear and support had the real answers:/
    – Doug
    Apr 7, 2019 at 9:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .