Help with: Error message: mashery.not.authorized.over.qps

Regular Participant

Help with: Error message: mashery.not.authorized.over.qps

I need information about this error:

Exception thrown: Error message: mashery.not.authorized.over.qps: The Mashery account Associated With This request is over STI queries-per-second quota.

I use the API for C #, sometimes the error happens when creating the contact list; some other times and not very often when creating and scheduling the campaign.

A good percentage of campaigns are recorded without any problems; but others are not generated by this error.
8 REPLIES 8
Participant

I am having the same problem with a PHP script running from the command line.

 

I pause the script for three seconds every 15 requests and I am still getting this error.

 

How can I possibly move forward, it seems the documentation doesn't cover this type of error, or perhaps I don't know where to look.

 

Very frustrating!

 

Jeff

Moderator

Hi Mark, 

 

This is an error thrown by Mashery indicating that the API key being using for these calls has gone over the standard 4 calls/sec limit. This can happen if you are creating a contact list and adding a fair number of subscribers to it one-at-a-time, or if you are adding or updating large numbers of contacts one-at-a-time. 

 

If this is the case, it's best to use one of the Add Contacts bulk activity endpoints for this type of task. You can read more about this here:

http://dotcms.constantcontact.com/docs/contacts-api/contacts-index.html#update_many_contacts

 

There are two endpoints you can use, one supports a JSON payload, the other is the multipart form version that supports using a .CSV or other support file type. 

 

Please let me know if this is helpful, or if your situation is different.

 

 

Rich Marcucella
Sr. Technical Writer, Content Developer
Web Services Team
http://developer.constantcontact.com

Thanks for replying,

But I have a question, I am using this logic: "Import Contacts Endpoint" but when running, I have always the same answer:

"401 Authentication failure"

The code (in C#) is simple and based on his example:

 

 

                string jsonContent = "    {  \"import_data\": [ ";
                for (int i = 0; i < 4; i++)
                {
                    jsonContent += " { ";
                    jsonContent += " \"email_addresses\": [ \"user" + i + "@example.com\"], ";
                    jsonContent += " \"first_name\": \"" + i + "John\", ";
                    jsonContent += " \"last_name\": \"Smith\" ";
                    jsonContent += " }, ";
                }
                
                jsonContent += " ], ";
                jsonContent += " \"lists\": [ " + idListFin + " ], ";
                jsonContent += " \"column_names\": [ ";
                jsonContent += " \"EMAIL\", ";
                jsonContent += " \"FIRST NAME\", ";
                jsonContent += " \"LAST NAME\" ";
                jsonContent += "  ] ";
                jsonContent += "  }";

                string url = "";
               

                url = "https://api.constantcontact.com/v2/activities/addcontacts?api_key=" + apiKey;  // +"&access_token=" + accessToken;                
                result = POST(url, jsonContent);

 

Can you help?

requires Token ??

Hello,

 

The error that you are seeing is happening because there is no access token provided on this POST request. Access tokens can be provided as a URL parameter (as shown in the sample code you provided) or as a header on the request. If you do not have an access token, you can generate one for your account using the I/O docs here: https://constantcontact.mashery.com/io-docs

 

Best Regards,

Elijah G.
API Support Engineer
Regular Participant

I am using this logic: "Import Contacts Endpoint"; but when programming the campaign I have always this message

 

Error message: http.status.bad_request:No contacts to send.

 

The campaign is created in Draf mode, and the corresponding contacts list also is created;but does not allow me to program the campaign

We program in C #


img.jpg

Hello,

 

In order to resolve this issue, your email campaigns must be assigned a list which it will send contacts to. This can be done by setting the Lists property of the campaign before calling ConstantContact.AddCampaign. The type for this property is IList<SentContactList> and you can see the definition for the SentContactList class here.

 

For existing campaigns, you can use the GetCampaign and UpdateCampaign methods of the ConstantContact class to address the problem.

 

If you have any questions for me about this, please let me know!

 

Sincerely,

Elijah G.
API Support Engineer

I am not processing in batches yet see this error in our logs sporadically.  Is it possible that multiple async calls are violating the 4/second rate?  I added code to capture the exception and try again, but don't understand how I can be violating the rate.  I log every outgoing call and can't locate anycases where multiple calls are being made at the same time.  

Hi @GlennS015,

 

While this post is several years old and we have made several changes it is possible you are running in to the per second limit due to async calls. If you continue to run in this message after you have put in a delay to ensure that you are not hitting the per second limit feel free to reach out to us by email.


Regards,
Jimmy D.
Tier II API Support Engineer
Developer Portal

View API documentation, code samples, get your API key.

Visit Page