What is an expired account in SonosAPI and which error code should be returned? - sonos

Our music service is rejected by Sonos because no expired account is provided.
In Sonos Labs, Under Development & Submit section C: QUALITY ASSURANCE & PERFORMANCE, you should provide at least 1 account that reflects other types of accounts you support.
I provided a disabled account which returns the 'LoginDisabled' error code when this account is used. This seems to be not enough.
In the documentation about 'Standard Error Handling' (http://musicpartners.sonos.com/node/110), I don't see any error code to return for an expired account.
So my question is: What is an expired account in Sonos, which error code should we return for an expired account, and is it really necessary to provide an expired account to succeed Sonos tests? There's nothing in de submit section about an expired account.

Have you had a look at the Python self-test suite (at the bottom of this page)? The following configuration parameters are requested:
[Accounts]
supportedaccount =
supportedpassword =
unsupportedaccount =
unsupportedpassword =
expiredtrialaccount =
expiredtrialpassword =
unsupportedterritoryaccount =
unsupportedterritorypassword =
I'm only just starting to develop our solution here, but returning a Client.LoginUnauthorized SOAP fault passes this test. This is documented here.

Related

Detect an invalid paypal email using MassPay Paypal API

I'm using MassPay Paypal API to make payments.
I was able to test it and is working pretty well using sandbox accounts.
The problem is I couldn't find a way to identify if the email that is going to receive money is a valid paypal email.
I tested it using a fake email and money was taken from the payer sandbox account even though the email (the one that should receive the money) doesn't have a paypal account associated, and the API response was as if it was a successful request.
I found this method to get the verification status of an account, but there is no much info in the documentation or any other info that helps me understand if this is what I'm looking for or how to apply it.
You will need an API operation called GetVerifiedStatus API Operation under PayPal adaptive accounts. Refer the below:
https://developer.paypal.com/docs/classic/api/adaptive-accounts/GetVerifiedStatus_API_Operation/
https://developer.paypal.com/docs/classic/adaptive-accounts/gs_AdaptiveAccounts/
Sample API request:
API end point: https://svcs.sandbox.paypal.com/AdaptiveAccounts/GetVerifiedStatus
requestEnvelope.errorLanguage = en_US&emailAddress = email#test.com&firstName = Firstname&lastName = Lastname&matchCriteria = NAME

Invalid account details accepts while adding new site account in yodlee live API

I'm using yodlee live API to link the bank transaction details.
Invalid bank account details accepts, when we add new site account in yodlee via live API, For example, the the account details like xxxxx and yyyyy, then the account added successful.
It's normal or any settings to be turned on in yodlee account or API parameters?
How can i validate the account details? while user add new site account?
Thanks in advance.
Though Yodlee accepts the invalid details/credentials, the account would fail. This would be represented by an Error code such as 402, which would mean that the credentials are wrong.
This is normal setting and teh only way you can validate if the details are right is by checking the status of the account. The error code should be "0" if everything is right.
Hope this helps. You can get more details on error codes under different scenarios #Error Code
Hope this helps
-Vijay
In short: Yodlee doesn't know the username/password entered during add account are correct or not; it has to validate the same with Bank website.
To explain you the process:
When you are adding a particular Bank account, you provides the username/password(it may be correct or incorrect) Yodlee doesn't know and can't validate at the time of submission. Yodlee takes the inputs(username/password) and submits the same to the Bank website(which consumer had selected); meanwhile you'll receive a response from API- addSiteAccount1, which will have the code as 801 (Refresh Never Done and Yodlee is going to update your account).
Once Bank website validate the same and found them incorrect Yodlee return 402 error code(invalid credentials), you need to call getSiteRefreshInfo API to check the same in loops each of 3-4sec.

ERROR : 401 loginpost URL timed out,

While linking one of our bank account from HDFC bank india we see an error message stating :
ERROR : 401 : HDFC Bank (India) - Bank and Credit Card
As part of our internal proactive monitoring initiative, we have observed that agent is failing with 401 because loginpost URL timed out.
Let me know does these banks are not supported within yodlee or is there any access restriction.
Besides this API accepts invalid login too and returns has site(bank name) added successfully.
Let me know how to solve these problems
Thanks In Advance.
This error comes when Yodlee is not able to connect with the Bank website in a defined time frame. This could happen due to various reasons,one of basic reason is that Site is taking too much time to load or open login page.
For your reference here is the details about different error codes.
On your second question: Where you have mentioned that this API takes invalid login credentials as well.
To explain you the process- You'll provide the credentials(whether correct or incorrect) to this API, then Yodlee uses those credentials and try to login at the bank website while if site says that the credentials are invalid Yodlee returns the respective error code and message. Hope this helps.

AccessTokenRefreshError : Gdata Spreadsheet API with Service Account

First some background, Using Service Accounts with GData Spreadsheet API for an app installed via Google Apps Marketplace.
credentials = SignedJwtAssertionCredentials(
SERVICE_ACCOUNT_EMAIL,
PRIVATE_KEY,
scope = SCOPE,
sub = "admin#domain.com")
auth2token = gauth.OAuth2TokenFromCredentials(credentials)
client = SpreadsheetsClient()
auth2token.authorize(client)
q = SpreadsheetQuery(title= "ItemMaster",title_exact=True,)
feed = client.get_spreadsheets(query = q)
The problem is that the API calls fail randomly with,
AccessTokenRefreshError: Invalid response 403.
Failed to retrieve access token: You are not authorized to perform this request.
I tried doing a test in which 10 API calls are made one after another with 1 second intervals between them, atleast 4 API calls failed with the above error.
I tried checked the quota on API console and that is not being exceeded, Per user limits on the API are at 100 requests/user/second for the Drive API, and billing is enabled.
PS: This question is different from Getting AccessTokenRefreshError: invalid_grant in Google API fro service account and Google API Python Client - AccessTokenRefreshError which are related to invalid_grant while my issue is specifically related to Random Failures of API calls
EDIT: The problem seems to be related to #210 in google-api-python-client

Authorize.net Integration

I am attempting to integrate Authorize.net into my site. I have set up and activated a test account in their test.authorize.net domain and have obtained and inserted their API key/login for my account into my configurations. I run my script through their API and I get the proper success message that they've received the information. However, every time I log into the test.authorize.net domain and search for the transactions via their Search tab, it always returns with nothing regardless of what parameters I search with. What can cause this?
Look in the unsettled transactions. That's where they'll be.
FYI, Authorize.Net developer accounts do not actually process transactions. They only validate that the data you sent over via their API was valid and complete. If it is you will receive an approved response with a fake transaction number, approval, and AVS response code (which is always a match). If your made an invalid API call an error message will be returned alerting you to your error so you can correct it.
If you don't want o call Authorize.Net for support or they give you the run around, you can also get help in their developer forums.
Authorize.net does not actually log transactions in test mode.
You should call their support; they are fantastic. However, from my experience you typically get a shared account where lots of tests are running and it can be hard to search for your transaction.