Amazon Advertising API: report is 'in progress' forever, until 'server is busy' - amazon-advertising-api

Is anybody else having trouble with Amazon Advertising reports this week or am I doing something wrong?
This was working just fine last week, then all of a sudden I couldn't get reports any more. Instead of requesting a report and it being available max 10 seconds later, I get this response:
{'reportId': 'snip', 'status': 'IN_PROGRESS', 'statusDetails': 'Report generation is in progress.'}
Which is nothing out of the ordinary. Then a few minutes later I start getting this:
{'reportId': 'snip', 'status': 'IN_PROGRESS', 'statusDetails': 'Report generation job has been submitted.'}
And then eventually:
{'code': 'SERVER_IS_BUSY', 'details': 'Server is busy. Try again later.', 'requestId': 'snip'}
Authentication seems to be fine, I think I wouldn't be able to request a report without that working. And I think if I was getting throttled it would tell me that. FYI this is happening in the US and CA stores.
Aside: the Advertising API is such a hard one to google, given that its name is a subset of the Product Advertising API, which is completely different. Hopefully Amazon, given how often they change the names of things, decide to rename this one too.
EDIT: only having this problem with Sponsored Products reports. Sponsored Brands seems to be ok.

We use the same API as well, we are getting the same issue and their API has not been stable lately.

Related

All new calls to cloud translation service are ending in quota error

Yesterday, about 1500 PST, my connection to the translation API began emitting errors about exceeding:
Error 8: RESOURCE EXHAUSTED: Quota Error
Quota exceeded for quota metric ‘v2 and v3 general model characters’ and limit ‘v2 and v3 general model characters per day’.
I have googled online, and found this can happen, and that it resets at 0000 hours PST. This time has come and gone, and second day now, the same Error 8 is arriving when attempting to access the service.
I have also signed in to my console, and looked at my quotas. None of them are over-quota, or have they been in the last 7 days. (I’m no where near the limits)
I had a spike (bug) where the code got into a bad state and spammed the API retrying the request, and I’ve found an fixed this issue. This was yesterday, so I don’t know why it’s still giving errors.
OK so I found the answer. My credit card had expired, and the billing was overdue. Unfortunately this is not obvious in any of the errors, or many of the pages the google search results point to (check quotas etc)…hopefully this helps someone else who searches.

Why is Bing Custom Search API throwing an error when I make a call through node-js?

I was using Bing Custom Search API for the past week with no problems thanks to the free trial, but today, I tried upgrading to the S1 plan, since the API was sending error messages. I tried regenerating the key as well, but despite doing both of these things, I was still getting errors and unable to use the API.
However, I was able to make calls using: https://www.customsearch.ai/applications, where I was able to use my API key to test endpoints and get the results I expected. What baffles me is that my nodejs code which hasn't been modified aside from the subscription key should still work with the upgraded plan, but it doesn't.
I should be able to help here. Let us do little bit of troubleshooting once:
First go to https://www.customsearch.ai/applications -> click on your instance name ->Click on "Production" tab on top -> Try making API call on this page by providing Query and Subscription key you got. If this works, go to the next step.
On the page mentioned above you would have seen Custom Configuration ID and Subscription Key. Make sure those two are same in your node.js code. Ideally this should work.
If it still doesn't work, please share your error code so that I can get better understanding of the error you are getting.

Access denied due to invalid subscription key error

My app has been working fine since I changed my free account to a Pay-As-You-Go account but yesterday I started receiving the Access denied due to invalid subscription key error
I haven't changed anything. What can be the source of this error?
Microsoft CRIS servers were experiencing down time starting from ~ 10 pm GMT (according to my observation) on Wednesday 04/19 till 9 am GMT Thursday 14/20. I've experienced problems with log in, deployment access. But some of their servers went back and I was able to log in console. However all my deployments weren't accessible including newly created one. So, as their system went down, you might have problems accessing your deployment. Even if error description is related to invalid subscription key, it might be that issue. It's a new service and I still see 500 Internal errors in console often. If issue is still reproducing, I recommend you to contact their support team crservice#microsoft.com. They are very helpful. However they respond during European working hours.
I have experienced similar issues when we hit the API limits. It would not be a bad idea to check if either the number of requests per second or the volume has been reached ( in case of bootstrap keys it is 1000 hits)

Limit on number of Paypal Billing Agreements

I am implementing Paypal express checkout (using paypal rest sdk for php )in one of my projects for recurring billing (for subscription), every thing is working fine for the initial requests (about 10 checkouts) after that I start to get Error 400 for few days and then everything starts working again.
I just wanted to confirm if there is any sort of limit on creating billing agreement in sandbox environment?
Thanks in advance
Finally found the solution, the reason I was getting error 400 after some times was because I was setting a static time while creating billing agreement.
$agreement = new Agreement();
$agreement->setName('My Billing Agreement')
->setDescription('Subscription to My Billing Agreement')
->setStartDate(date('Y-m-d').'T9:45:04Z');
The reason this snippet was resulting in error is because the start date/time of the billing agreement can only be a future time.
All I needed to do was replace
setStartDate(date('Y-m-d').'T9:45:04Z')
with
setStartDate(date("c", time() + 1800))
and everything started working as expected. Hope this helps some one.

Google translate: Quota Exceeded

I am trying to use Google Translate REST API and while requesting the following url:
http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=test&langpair=en|hi&key=mykey
I am getting the following response:
Response: {"responseData": null, "responseDetails": "Quota Exceeded.
Please see
http://code.google.com/apis/language/translate/overview.html",
"responseStatus": 403}
I am getting this message today only. I have tried using the service after one or two months. Previously it was working perfectly. Has Google stopped the Google translate free service or what?
You exceeded your quota. Google started to limit the number of API usages a few months back due to the large number of users using the tool excessively.
EDIT: Read the notice on the top of this page: http://code.google.com/apis/language/translate/v2/getting_started.html
Google has moved to a Paid model. We moved to the free Bing Translation API, its very similar, it seems to be better at translating and still free:
http://www.microsoft.com/web/post/using-the-free-bing-translation-apis
Example of how to use it:
http://basharkokash.com/post/2010/04/19/Bing-Translator-for-developers.aspx
Well, I think the error message explains itself - there seems to be some daily quota on the use of their API, and you have exceeded it.
But yes, Google is discontinuing the free version of their Translate API, and you will have to pay to continue to use it after December 1 2011.

Resources