this is our first time using the Amazon MWS (or any API for that matter) and we want to pull all of the unshipped orders from our seller account. We've tried using many different methods (RequestReportRequest, with this link: http://www.amazonsellercommunity.com/forums/message.jspa?messageID=2370410, and more) but none seem to work. Is there a simple way to access our unshipped orders using C#?
Thanks for the help.
Should be the same in all supported languages.
You can request an report using the RequestReport API operation with ReportType being set to _GET_FLAT_FILE_ACTIONABLE_ORDER_DATA_ . As a response you get a ReportRequestId which you store.
Next you periodically check the status of your report request by calling the GetReportRequestList operation, probably with the parameter ReportRequestIdList containing your ReportRequestId. The response tells you in which ReportProcessingStatus the reportRequest is. According to the sellercentral webpage it can take up to 45 minutes to finish a report.
Once the ReportProcessingStatus is DONE, you need to get the reportId. For this purpose you use the GetReportList operation with the parameter ReportRequestIdList set to your ReportRequestId. The response contains the reportId
Finally, you get your report by calling GetReport with the reportId you got in step 3.
For more details, have a look in the MWS API reference
Related
Based on the examples from the Internet I made this database, but I have some problems using it
How should I add ExtraItem to the order?
For example if I put in my orders a food item then I send a POST request to the server which returns a new created entry. What should I do next in order to add an Extra to that order? I have FoodItemExtraId but I don't know the OrderFoodItemId to make a POST request to OrderFoodItemExtra table.
Or maybe this schema is not correct?
I am trying to get all threaded messages from a group of yammer, but it seems that something wrong happened in the call.
The retrive all messages from the group I use this call:
/api/v1/messages/in_group/{groupId}.json?threaded=true
And when this call ends, I save the last message retrieved from the result and I execute the following call recursively until there is no more messages in the group:
/api/v1/messages/in_group/{groupId}.json?threaded=true&older_than={messageId}
It seems that the process works correctly, but when you look the data that you have retrieved from Yammer, there is some messages that appear in the Yammer group Wall that have been not retrieved using the REST API.
Do someone know why the REST API is not getting all Yammer data?
Thank you so much!
Aleu
From the docs https://developer.yammer.com/docs/messagesjson, here is the intended functionality of threaded=true: "threaded=true will only return the thread starter (first message) for each thread. This parameter is intended for apps which need to display message threads collapsed. threaded=extended will return the thread starter messages and the two most recent messages all ordered by activity, as they are viewed in the default view on the Yammer web interface."
Based on your question, perhaps threaded=extended would give you what you need.
im trying to implement Facebook Real Time Update (webhook) , i do all the steps in the Facebook graph API documentation, and the result was JSON contain only few information about the change.
i want to get more information in the JSON result when user upload a delete a photo to his account , like getting new photo id,url or specify what is the real change.
these some photos for my webhook setting and result in codebehind
Webhook image
JSON result in code behind
To get more details, you will have to use the id to fetch the object using Graph API Get request. Then you may be able to compare the result with the previous values. Webhooks returns specific data inside entry object as described in https://developers.facebook.com/docs/graph-api/webhooks
In a database i have 30k users, each with a specified phonenumber. For each phonenumber, I will call a webservice which pulls some information for the user. Many users are not presented in the webservice, so I will just recieve null, but I don't know which users, and new users can be presented from time to time. The webservice updates realtime, so new results will come from minute to minute.
If the response is not null, and the recieved file is not the same as received last time, I create a PDF document from the recived XML-file.
The webservice call is started by a scheduled task which starts an .aspx-site with the following pseudo-code:
Foreach phonenumber {
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("webservice/phonenumber");
using (StreamReader reader = new StreamReader(webResponse.GetResponseStream()))
{
makePdf();
}
}
The problem is, of course, that the request takes forever. For 30k users it would take about 7 hours. I have tried looking at async webservice calls, but couldn't get anything to work. Can someone point me in the right direction - if possible -, or tell me how I should go about this?
Thanks
First you should check if the time is in the webservice or in the PDF creation. If it is in the webservice, check if you are missing indexes, etc. To improve the webserice you can thing of getting multiple phonenumbers at the same time. If your problem is in the PDF creation, find a way to improve the creation of the pdfs. It's not clear what tools you are using to create a pdf at this moment.
Why cant your service just implement a method that accepts a timestamp parameter and return a list(or array) of users that changed since that timestamp. That way you should be able to send request only for those users.
I have implemented a method which manually scrapes the Search Twitter page and gets the tweets on different pages.
But since there is a fast refresh rate, the method triggers an exception.
Therefore I have decided to use TweetSharp API instead
var search = FluentTwitter.CreateRequest()
.AuthenticateAs(TWITTER_USERNAME, TWITTER_PASSWORD)
.Users()
.SearchFor("dumbledore");
var result = search.Request();
var users = result.AsUsers();
this code was on the site.
Does anyone know how I can avoid giving my credentials and retrieve from all users and not just the ones I have as friends?
Thanks!
What you want to do is interface with the Twitter Streaming API. This API allows you to open a persistent connection with Twitter and Twitter will then stream results to you as they come in.
(taken from the Twitter Streaming API page)
That said, TweetSharp doesn't currently support the Streaming API. However, it's not difficult to open a connection to Twitter in .NET and process the responses as they're received (however, I'd recommend using the HttpClient class to process this asynchronously, as well as using a proper JSON parsing library, like Json.NET).
Note the third column in the diagram "Streaming connection process", specifically the middle part:
Receives streamed Tweets, performs processing and stores result
As well as the "HTTP Server process" column:
Server pulls processed result from data store and renders view.
While not explicitly mentioned, you are best off just persisting the Tweet as you get it into a data store and then having another process handle the Tweets; the volume of Tweets you might get is so high that performing any processing when you get the Tweet will backlog the receiving of new Tweets.
For your specific case, you'll want to access the Public Streams with a POST filter of "dumbledore".