Expand my Community achievements bar.

The 5th edition of the Campaign Community Lens newsletter is out now!
SOLVED

Campaign ACS API "No match in backends for the given tenant id"

Avatar

Level 2

Hello!

I am working, for a customer, on a server side proxy in C# for the Campaign APIs and after fighting my way through the JWT authentication using the Microsoft jwt libraries I was ready to try out my first test following the examples here Campaign Standard: use APIs to optimize your cross-channel campaigns

I have built out the call as noted in the documentation... and so I am calling https://mc.adobe.io/<instance>.adobe.com/campaign/profileAndServices/service  where <instance> is my instance name.   I have previously created the integration in Adobe IO console.

When I make the call, though, all I get back is {"headers":{"X-Request-Id":"ngx.var.requestId"},"http_status":400,"message":"No match in backends for the given tenant id."}

What am I missing?

Thanks,

Thom

Below is the code that makes the call

public async Task<SubscriptionServiceList> GetAvailableSubsriptionServicesAsync() {

            SubscriptionServiceList result = new SubscriptionServiceList();

            ApiAccessToken AccessToken = GetAccessToken();

            result.AsOfDate = DateTime.Now;

            HttpClient client = new HttpClient();

            var httpRequestMessage = new HttpRequestMessage {

                Method = HttpMethod.Get,

                RequestUri = new Uri(ServiceListingEndpoint),

                Headers = {

                    {HttpRequestHeader.ContentType.ToString(),"application/json" },

                    { HttpRequestHeader.Authorization.ToString(), AccessToken.HttpRequestHeaderText },

                    { HttpRequestHeader.CacheControl.ToString(), "no-cache" },

                    { "X-Api-Key", APIKey }

                }

            };

            Task<HttpResponseMessage> t = client.SendAsync(httpRequestMessage);

            t.Wait();

            HttpResponseMessage response = t.Result;

            using (HttpContent respContent = response.Content) {

                string toLoad = await respContent.ReadAsStringAsync();

                System.Diagnostics.Debug.WriteLine (toLoad)

                //TODO load string into JSON object for parsing and load response value

            }

            return result;

        }

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

The tenant in the url is only the instance name and shall not contain the parrt ".adobe.com"

6 Replies

Avatar

Correct answer by
Employee Advisor

The tenant in the url is only the instance name and shall not contain the parrt ".adobe.com"

Avatar

Level 2

Thanks for the quick reply!  I could swear I had tried that before, but I removed the extra ".adobe.com" and it seems to be working now.   Notably, the documentation for lesson 5 at Campaign Standard: use APIs to optimize your cross-channel campaigns says it should be there. 

Avatar

Level 10

Forwarding this to the documentation team.

Thanks for the catch, Thom!