Reputation: 3057
The documentation describes a meta collection as a combination of 2 (or more) different APIs...
By default, a meta API endpoint returns all data from all of its sub-APIs, organized by collection.
But, what I find is that it does not do this. It grabs partial data from some sub-APIs and fails silently, without logging an error.
API #1 Result
COLLECTION2
ROW LIST.HREF LIST.TEXT INDEX URL
1 http://www.amazon.com/Org...pollux+organix+canned+dog Canned Dog Food 3 http://www.austinpetsalive.org/donate/wish-list/
2 http://www.amazon.com/Pre...s-Large/lm/R34ISSXSRJPA71 Premier Brand Martingale collars (Pink, Silver, Blue, Red, and Orange) sizes XL or L 4 http://www.austinpetsalive.org/donate/wish-list/
3 http://www.amazon.com/Pre...ords=medium+gentle+leader Medium & Large Gentle Leaders 5 http://www.austinpetsalive.org/donate/wish-list/
API #2 Result
COLLECTION2
ROW LIST.HREF LIST.TEXT INDEX URL
1 Dry kitten and adult dog food (we ask that the first ingredient listed on the bag be meat). Some Brands we love include: Purina One, Pro-Plan, Wellness, Evolve, Blue Buffalo, and Kirklands 9 http://pawsshelter.org/donate/wishlist/
2 Cat Litter 10 http://pawsshelter.org/donate/wishlist/
3 Kongs, Balls, Durable Toys, Puzzle Toys 11 http://pawsshelter.org/donate/wishlist/
Meta API Result Collection 2 -- it's the entire data set from API #2 and none from API #1
COLLECTION2
ROW LIST.HREF LIST.TEXT INDEX URL API
1 Dry kitten and adult dog food (we ask that the first ingredient listed on the bag be meat). Some Brands we love include: Purina One, Pro-Plan, Wellness, Evolve, Blue Buffalo, and Kirklands 132 http://pawsshelter.org/donate/wishlist/ PAWS Shelter and Humane Society
2 Cat Litter 133 http://pawsshelter.org/donate/wishlist/ PAWS Shelter and Humane Society
3 Kongs, Balls, Durable Toys, Puzzle Toys 134 http://pawsshelter.org/donate/wishlist/ PAWS Shelter and Humane Society
The data structure is verbatim the same. Why don't they combine under meta API?
Testing
The flaky results seem tied to the collections. But I've moved on to a klugey temp fix, which is to call each API separately and combine the JSON results in my app. 3 API calls instead of one. Might be looking for another tool, soon.
Upvotes: 0
Views: 87
Reputation: 3057
Now it works
Since I posted this question in October, KimonoLabs has updated their app and I am now having consistent success with creating and using a Meta API for the set of single APIs I posted above.
That's the positive.
The catch is that you cannot use the URL parameters in a meta API, so if you'd written post-process modify results functions, they will not be executed, even if you use kimmodify=1
.
Upvotes: 0