iTunes App Store API for Querying My Apps, Editing My Apps, and Uploading New Apps - app-store

Does Apple offer a web service API for querying iOS apps I sell under my account, editing these apps, and uploading new ones? If so, could someone provide a link?
The only thing I could find is the Application Loader tool that allows bulk creation operation for IAP via a file. Does this tool support bulk creation of apps? Does this tool support editing existing IAP?
https://itunesconnect.apple.com/docs/UsingApplicationLoader.pdf

Update
The App Store Connect API offers API access to a limited set of App Store connect features.
Old Answer
There is no web service API for performing private actions available only to you. You must login to iTunes Connect and do it there.
There is a web service for accessing publicly available information. It is documented here.
For example, for more info on the Yelp app, you could send this request:
https://itunes.apple.com/lookup?id=284910350
Which will return JSON like this:
{
"resultCount": 1,
"results": [
{
"kind": "software",
"features": [
"iosUniversal"
],
"supportedDevices": [
"all"
],
"isGameCenterEnabled": false,
"screenshotUrls": [
"http://a1283.phobos.apple.com/us/r1000/084/Purple/v4/d7/10/4e/d7104e7c-69b9-c30e-fb74-dc9ad4907e5d/mzl.qhnhnswp.png",
"http://a1583.phobos.apple.com/us/r1000/091/Purple/v4/f2/9e/1f/f29e1ff0-15ae-955b-9470-95e777e0d302/mzl.ehinvjli.png",
"http://a232.phobos.apple.com/us/r1000/080/Purple/v4/fa/be/87/fabe8765-de35-ae10-6eba-4b77dee9579c/mzl.ypncttex.png",
"http://a1190.phobos.apple.com/us/r1000/114/Purple2/v4/86/68/86/86688674-4540-b317-9e1f-fc2c8adede50/mzl.ekbdqwzg.png",
"http://a296.phobos.apple.com/us/r1000/115/Purple2/v4/b6/ca/e1/b6cae1d2-5754-d092-c2c3-09dce16a5b86/mzl.xroiibzd.png"
],
"ipadScreenshotUrls": [
"http://a1855.phobos.apple.com/us/r1000/069/Purple2/v4/27/53/59/27535982-a8ab-752b-1352-14376dbd52fa/mzl.pzkmvqsc.1024x1024-65.jpg",
"http://a1384.phobos.apple.com/us/r1000/120/Purple/v4/d8/61/72/d86172b0-c012-b520-aaea-0fe405af8220/mzl.ayvdvsyz.1024x1024-65.jpg",
"http://a1714.phobos.apple.com/us/r1000/107/Purple/v4/d4/e6/54/d4e65417-151e-c358-cf46-67034eb1c809/mzl.cqcnsrnw.1024x1024-65.jpg",
"http://a668.phobos.apple.com/us/r1000/115/Purple2/v4/9f/0f/0c/9f0f0c76-86cf-5af0-7d62-e57d05cdb7d9/mzl.gdkkhahb.1024x1024-65.jpg",
"http://a886.phobos.apple.com/us/r1000/080/Purple2/v4/4e/2c/e8/4e2ce8be-f69d-2fd9-b79a-e9a689dd1ad6/mzl.vjffwbxj.1024x1024-65.jpg"
],
"artworkUrl60": "http://a1154.phobos.apple.com/us/r1000/093/Purple2/v4/df/d2/d1/dfd2d173-7901-1c41-fcc3-ea953e698961/57.png",
"artworkUrl512": "http://a1157.phobos.apple.com/us/r1000/108/Purple/v4/db/b7/fb/dbb7fb10-29a7-4771-e781-38fffee81c85/mzl.atjqxuth.png",
"artistViewUrl": "https://itunes.apple.com/us/artist/yelp/id284910353?uo=4",
"artistId": 284910353,
"artistName": "Yelp",
"price": 0,
"version": "6.5.1",
"description": "Looking for a burrito joint open now? An Irish pub nearby? A gas station you can drive to before your tank hits empty? Yelp for your iPhone or iPad is here to help. Use us to search for places to eat, shop, drink, relax and play then read reviews from an active community of locals in the know. \n\nFEATURES:\n★ Search for businesses near you \n★ Tap quick links to find nearby bars, restaurants, cafes and more\n★ Narrow your searches by 'hood, distance, price, and what's open now\n★ Browse reviews to read what's great (and not so great) in your city\n★ Find great Deals offered by your favorite local businesses on iPhone\n★ Add tips, photos, and draft reviews for your favorite businesses\n★ Check-in and share on Facebook and Twitter\n★ Make reservations on OpenTable without leaving the Yelp app\n★ Look up addresses and phone numbers for thousands of businesses, then call or map them from your iPhone or iPad\n★ Yelp does augmented reality with Monocle. Overlay business information onto the world around you.",
"currency": "USD",
"genres": [
"Travel",
"Navigation"
],
"genreIds": [
"6003",
"6010"
],
"releaseDate": "2008-07-11T07:00:00Z",
"sellerName": "Yelp, Inc.",
"bundleId": "com.yelp.yelpiphone",
"trackId": 284910350,
"trackName": "Yelp",
"primaryGenreName": "Travel",
"primaryGenreId": 6003,
"releaseNotes": "New in 6.5.1:\nJust to show how much we love our Yelpers, we're knocking out two big feature requests with this release:\n☆ Apparently 300 characters per Tip wasn't enough for you to fully express yourself. We dig that. This release gives you 200 more.\n☆ From the \"More Reviews\" list on iPhone, pull down to expose a review search box. Now you can skip the other stuff and find out exactly what people think about the \"carne asada burrito\" at that new Mexican spot down the street.\n\nNew in 6.5:\n☆ We gave our iPad business page a whole lot of love. It's now more streamline and clear, with more emphasis on business photos. In addition, we're now showing Yelp Deals and our new \"Explore the Menu\" feature.\n☆ Yelp search just got more social: Now you can see which friends are checked in to businesses directly from your search results.\n☆ Getting to a restaurant just after closing is a major bummer. Now we'll indicate if a business will be closing soon or is just about to open.\n☆ We also got in a TON of bug fixes and enhancements: showing your review first in the reviews list, supporting updated reviews on iPad, swipe-able photos on the business page, and huge speed improvements on iPhone5!",
"formattedPrice": "Free",
"wrapperType": "software",
"trackCensoredName": "Yelp",
"languageCodesISO2A": [
"SV",
"TR",
"NB",
"DA",
"DE",
"EN",
"ES",
"FI",
"FR",
"IT",
"NL",
"PL"
],
"fileSizeBytes": "18176675",
"contentAdvisoryRating": "12+",
"averageUserRatingForCurrentVersion": 3.5,
"userRatingCountForCurrentVersion": 74,
"artworkUrl100": "http://a1157.phobos.apple.com/us/r1000/108/Purple/v4/db/b7/fb/dbb7fb10-29a7-4771-e781-38fffee81c85/mzl.atjqxuth.png",
"trackViewUrl": "https://itunes.apple.com/us/app/yelp/id284910350?mt=8&uo=4",
"trackContentRating": "12+",
"averageUserRating": 3.5,
"userRatingCount": 170887
}
]
}

Related

Implementing tripadvisor traveller rating

my goal is to show TripAdvisor score rank inside my app alongside other ranking system. Keep in mind that my application is a B2B app, not B2C.
What i can not understand even after reading the developer documentation is what kind of API should i eventually ask for.
The Content API is only for B2C purposes...but, apparently, it is the only one that send me in response the actual TripAdvisor rating (the only thing i actually want from all TripAdvisor information).
Has anyone implemented TripAdvisor in an OTA (online travel agency) application and can guide me on which APIs to request?
Thank you in advice
I have not implemented TripAdvisor ratings in a B2B system, but helped on a B2C project that used Tripadvisor data.
Your findings regarding Content API is correct, this is the only API where you find ratings.
Rating is TripAdvisor "selling point", so this data protected and can only be used by following their presentation terms. Check out how here: https://developer-tripadvisor.com/content-api/display-requirements/
You have 6 months implementation time and have to get Tripadvisor approval, or they cancel your API key. By using their API you commit not to store any data retrieved from their API.
Quick guide to use their API: https://developer-tripadvisor.com/content-api/documentation/
Call the locator_mapper to get possible location_id(s)
http://api.tripadvisor.com/api/partner/2.0/location_mapper/42.344978,-71.119030?key=[YOUR_KEY_HERE]-mapper&category=hotels&q=Beacon%20Townhouse%20Inn%201023
It returns a JSON with possible locations,
{
"data": [
{
"location_id": "89575",
Then call location with the id to get ratings: http://api.tripadvisor.com/api/partner/2.0/location/89575?key=[YOUR_KEY_HERE]
"review_rating_count": {
"1": "18",
"2": "22",
"3": "63",
"4": "269",
"5": "1408"
},
Use this data, together with the presentation and links back to tripadvisor to comply with their license.

Initiating a phone call

Is it possible yet to initiate a phone call? E.g. if I'm making a branch finder action a dialogue might go like:
"Hi, where's my nearest store?"
"Your nearest store is our Oxford Street branch, at 300 Oxford St, Marylebone."
"Call it"
"Sure"
It then initiates a call to the store, like an Android app using an ACTION_DIAL intent.
I would think something like this should be possible, especially considering the current devices supporting Assistant are phones and Google Home, both of which can make calls (I guess future devices with assistant built in might not, but then there can be a check like app.phoneCapabilities). I've tried using .addSuggestionLink with a tel: address with no luck.
I actually made a dodgy work around for this, if anyone comes back to this and is interested.
You can suggest a webpage URL, which can be a page which has a tel: link from there. Either using server side work or just simple JavaScript (mine uses simple JavaScript), you can update the link.
My link is below - feel free to use it, I use it in my app. It's pretty basic, the documentation is in the comments:
https://domdomegg.github.io/linkgenerator?href=tel%3A%2B442070313000&bgcolor=607d8b&buttontext=Click%20to%20call%20Google
For starters, the Google Home cannot (yet) make calls. That feature was announced at I/O and will be rolling out later this year. It is not yet known if there will be API access to that feature when it does roll out. (There is certainly potential for abuse of the feature, although there are some ways that can mitigate that abuse.)
I haven't tested, but I'm a little surprised that the tel: url form didn't work since I thought that would just launch an intent on Android (tho I don't know how iOS would handle it) and tel: goes to the dialer intent.
You can show a call button which will redirect to the specified number on the dialer app.
Here's a way to do that from fulfillment response:
"buttons": [
{
"title": "Call",
"openUrlAction": {
"url": "tel:+91123456789",
"androidApp": {
"packageName": "com.android.phone"
},
"versions": []
}
}
]
Add this JSON to your response and it will show a button which will redirect to default call app and shows +91123456789 number filled.
EXTRA
Similarly, if you want to send mail then you can add:
{
"title": "Send Mail to Jay",
"openUrlAction": {
"url": "mailto:Jp9573#gmail.com",
"androidApp": {
"packageName": "android.intent.extra.EMAIL"
},
"versions": []
}
}

Google Structured Data Delegation

I am attempting to get events to show up in the Google Knowledge panel for a business. I have created an organization SD JSON object in the header of the business homepage and delegated the events to another website with proper event markup (microdata) on the page.
I used the following documentation
https://developers.google.com/search/docs/data-types/events#delegation_markup
I have had Google reindex the page and the structured data object shows up in the cached version of the website. I have also waited 3 days before posting here to ensure it had time to get captured by Google and related in searches.
I would like to know if there is something wrong with the following markup, etc in order to get the delegated events to show up in the Google Knowledge panel.
<script type="application/ld+json">
{
"#context":"http://schema.org",
"#type":"Organization",
"legalName":"Diversified Design and Manufacturing",
"address":"165 Boro Line Road, King of Prussia, PA 19406",
"email":"www.diversifieddesignmfg.com/",
"telephone":"(610) 337-1969",
"event": "http://www.burbio.com/groups/diversified-design-and-manufacturing"
}
Also I noticed most release notes and documentation refers to MusicGroups, etc. Is event delegation supported for Organization type SD objects?
Google provides the following information for trouble-shooting events:
Troubleshooting events in Knowledge Graph cards
Knowledge Graph card display is governed by a complex algorithm, so if you don’t see your artist or your artist’s events in the Knowledge Graph card, try these steps:
Make sure that the artist is in both Wikipedia and MusicBrainz, and that the artist's official home page is recorded properly on both those sites.
For events missing from a Knowledge Graph card, check that the events
are shown correctly with no errors in the Structured Data Testing
Tool.
If all fields look correct, report the missing events using the Feedback link under the Knowledge Graph card in Google search.
Please report it asgeneral feedback and be sure to use the term events in your description of the problem.
It also states that event information should come from the *ticket seller's website** and that you cannot use delegation to link to your own website.
SOLUTION -
Firstly, it appears only certain artists are expected to appear in Knowledge Graph Events.
Secondly, your structured data does not contain any information about the specific event, eg start or end time, location or name. The event field must be of type http://schema.org/Event OR a hyperlink to a webpage with http://schema.org/Event markup - the link you included does not refer to any specific event.
If the destination does not contain http://schema.org/Event structured data you can include it manually by nesting it inside http://schema.org/Organization (not delegate) event data inside the Organization as follows:
<script type="application/ld+json">
{
"#context":"http://schema.org",
"#type":"Organization",
"legalName":"Diversified Design and Manufacturing",
"address":"165 Boro Line Road, King of Prussia, PA 19406",
"email":"www.diversifieddesignmfg.com/",
"telephone":"(610) 337-1969",
"event": {
"#context": "http://schema.org/",
"#type": "Event",
"name": "Chinese New Year Festival",
"url": "http://chinesenewyear-2017.org/festival"
"startDate": "2016-01-28T06:00",
"description": "The best Chinese New Year party in 2017",
"location": {
"#type": "Place",
"name": "Missoula, MT",
"url": "http://www.missoula.com/",
"address": {
"#type": "PostalAddress",
"addressLocality": "Missoula",
"addressRegion": "MT"
},
}
}
Google requires certain fields to be included, such as startDate, Location, see at the bottom of this page from google's documentation
Finally, in your example code the email field contains a website URL - not an email address.

Can I aggregate Facebook Likes, Tweets, and Google Pluses?

I'm building a voting application on my new website, cabinethardware.org. I'd like the voting to be done in such a way that when someone votes for a project (to receive a $1000 rebuilding grant) that they are encouraged to plug the project via social networks. My programmer has had difficulty with the application, and it occurred to me that one way of doing it is to just put like, tweet and G+ buttons on the site and add them together. So if a project gets 24 likes, 12 tweets, and 18 G+, it would have 64 votes. It doesn't bother me if someone votes on all three engines.
Before a project is eligible for a grant, it must receive 100 votes. My question is, is there a way that I can aggregate the likes, tweets, and G+ so that I can see on the backend how many votes each project has, without going to each project and adding them up by hand? Also, I'd like to display to customers the combined total.
Does anyone know of a way to combine the count of these three?
For Google+, you would only need to perform one API call to the Google+ APIs that would be searching the Google+ public data. Searching the Google+ public data is demonstrated in the API explorer.
The post response contains information about reshares and +1s:
"verb": "post",
"object": {
"objectType": "note",
"content": "Setting up a server-side flow project that accesses Google+ data using the .NET stack can be a little tricky, I walk you through it in this blog post.",
"url": "https://plus.google.com/109716647623830091721/posts/g8LjdGAXdDc",
"replies": {
"totalItems": 0,
"selfLink": "https://www.googleapis.com/plus/v1/activities/z125srm50lf1slxrd04cfftatqyoglnoqio/comments"
},
"plusoners": {
"totalItems": 6,
"selfLink": "https://www.googleapis.com/plus/v1/activities/z125srm50lf1slxrd04cfftatqyoglnoqio/people/plusoners"
},
"resharers": {
"totalItems": 0,
"selfLink": "https://www.googleapis.com/plus/v1/activities/z125srm50lf1slxrd04cfftatqyoglnoqio/people/resharers"
},
For Facebook, you can use the Pages API to count likes for your page, you can experiment with this in their API explorer.
The following data shows their response data:
{
"about": "Build and distribute amazing social apps on Facebook. https://developers.facebook.com/ ",
"company_overview": "Facebook Platform enables anyone to build social apps on Facebook, mobile, and the web.\n\n",
"is_published": true,
"talking_about_count": 39241,
"username": "FacebookDevelopers",
"website": "http://developers.facebook.com",
"were_here_count": 0,
"category": "Product/service",
"id": "19292868552",
"name": "Facebook Developers",
"link": "https://www.facebook.com/FacebookDevelopers",
"likes": 952596,
"cover": {
"cover_id": "10151121467948553",
"source": "https://fbcdn-sphotos-f-a.akamaihd.net/hphotos-ak-ash4/s720x720/299374_10151121467948553_45631061_n.png",
"offset_y": 0
}
}
Likes are just a member in the response data.
For twitter, you can query for mentions of a user with their search API and passing a search string for the user as #user. A count of the objects within results is going to be your mention count. The response data is a little too much to paste in here but here's an example query using their API.

Facebook platform: what data can I get?

I want to get some data from companies' Facebook pages, but I don't know what kind of data I can expect. Here is just a small set of properties I can use, although I can see that I can get more according to their official example:
{
"id": "19292868552",
"name": "Facebook Platform",
"picture": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/50414_19292868552_7650_s.jpg",
"link": "http://www.facebook.com/platform",
"category": "Product/service",
"website": "http://developers.facebook.com",
"username": "platform",
"founded": "May 2007",
"company_overview": "Facebook Platform enables anyone to build social applications on Facebook and the web.",
"mission": "To make the web more open and social.",
"fan_count": 1522363
}
On the official site it is written:
Pages in specific categories have
additional fields depending on
category.
But what does that mean? Is there a finite set of properties that can be put on a page, or can a company choose what they want to put? Where can I get the complete list of fields that can be on a page?
Thanks,
Ivan
When you create a page inside Facebook, it lets you choose which type of page you want to create e.g. product, service, company, etc.
Depending on the category that you choose, I guess that there will be some instrinsic information fields for your page. Anyway, I don't think that one category is much different than the others, you should be fine with the standard fields that you have outlined in your question.