Wondered if anyone can help
Im using the getrescommededcategory api for eBay but cannot seem to get he value of one of the fields i have switched the code a number of times using json decode not using it but cant seem to grasp it.
I get this result and looking to get the first categoryname and the categoryid, i would also like if someone could explain how this works if possible and how would i select other properties if need be.
stdClass Object ( [categorySuggestions] => Array ( [0] => stdClass Object ( [category] => stdClass Object ( [categoryId] => 85892 [categoryName] => Doors ) [categoryTreeNodeLevel] => 4 [categoryTreeNodeAncestors] => Array ( [0] => stdClass Object ( [categoryId] => 41976 [categoryName] => Doors & Door Hardware [categoryTreeNodeLevel] => 3 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=41976 ) [1] => stdClass Object ( [categoryId] => 3187 [categoryName] => DIY Materials [categoryTreeNodeLevel] => 2 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=3187 ) [2] => stdClass Object ( [categoryId] => 11700 [categoryName] => Home, Furniture & DIY [categoryTreeNodeLevel] => 1 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=11700 ) ) ) [1] => stdClass Object ( [category] => stdClass Object ( [categoryId] => 36022 [categoryName] => Door Stops ) [categoryTreeNodeLevel] => 3 [categoryTreeNodeAncestors] => Array ( [0] => stdClass Object ( [categoryId] => 10033 [categoryName] => Home Décor [categoryTreeNodeLevel] => 2 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=10033 ) [1] => stdClass Object ( [categoryId] => 11700 [categoryName] => Home, Furniture & DIY [categoryTreeNodeLevel] => 1 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=11700 ) ) ) [2] => stdClass Object ( [category] => stdClass Object ( [categoryId] => 37910 [categoryName] => Doors ) [categoryTreeNodeLevel] => 3 [categoryTreeNodeAncestors] => Array ( [0] => stdClass Object ( [categoryId] => 4707 [categoryName] => Architectural Antiques [categoryTreeNodeLevel] => 2 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=4707 ) [1] => stdClass Object ( [categoryId] => 20081 [categoryName] => Antiques [categoryTreeNodeLevel] => 1 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=20081 ) ) ) [3] => stdClass Object ( [category] => stdClass Object ( [categoryId] => 20593 [categoryName] => Other Door Hardware ) [categoryTreeNodeLevel] => 4 [categoryTreeNodeAncestors] => Array ( [0] => stdClass Object ( [categoryId] => 41976 [categoryName] => Doors & Door Hardware [categoryTreeNodeLevel] => 3 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=41976 ) [1] => stdClass Object ( [categoryId] => 3187 [categoryName] => DIY Materials [categoryTreeNodeLevel] => 2 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=3187 ) [2] => stdClass Object ( [categoryId] => 11700 [categoryName] => Home, Furniture & DIY [categoryTreeNodeLevel] => 1 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=11700 ) ) ) [4] => stdClass Object ( [category] => stdClass Object ( [categoryId] => 115699 [categoryName] => Garage Doors ) [categoryTreeNodeLevel] => 4 [categoryTreeNodeAncestors] => Array ( [0] => stdClass Object ( [categoryId] => 180972 [categoryName] => Garage Doors & Openers [categoryTreeNodeLevel] => 3 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=180972 ) [1] => stdClass Object ( [categoryId] => 3187 [categoryName] => DIY Materials [categoryTreeNodeLevel] => 2 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=3187 ) [2] => stdClass Object ( [categoryId] => 11700 [categoryName] => Home, Furniture & DIY [categoryTreeNodeLevel] => 1 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=11700 ) ) ) [5] => stdClass Object ( [category] => stdClass Object ( [categoryId] => 29432 [categoryName] => Fairies/Pixies ) [categoryTreeNodeLevel] => 4 [categoryTreeNodeAncestors] => Array ( [0] => stdClass Object ( [categoryId] => 98788 [categoryName] => Mythical Creatures [categoryTreeNodeLevel] => 3 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=98788 ) [1] => stdClass Object ( [categoryId] => 10860 [categoryName] => Fantasy, Myth & Magic [categoryTreeNodeLevel] => 2 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=10860 ) [2] => stdClass Object ( [categoryId] => 1 [categoryName] => Collectables [categoryTreeNodeLevel] => 1 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=1 ) ) ) [6] => stdClass Object ( [category] => stdClass Object ( [categoryId] => 37914 [categoryName] => Door Knobs & Handles ) [categoryTreeNodeLevel] => 3 [categoryTreeNodeAncestors] => Array ( [0] => stdClass Object ( [categoryId] => 4707 [categoryName] => Architectural Antiques [categoryTreeNodeLevel] => 2 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=4707 ) [1] => stdClass Object ( [categoryId] => 20081 [categoryName] => Antiques [categoryTreeNodeLevel] => 1 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=20081 ) ) ) [7] => stdClass Object ( [category] => stdClass Object ( [categoryId] => 45515 [categoryName] => Curtains & Drapes ) [categoryTreeNodeLevel] => 3 [categoryTreeNodeAncestors] => Array ( [0] => stdClass Object ( [categoryId] => 63514 [categoryName] => Curtains, Blinds & Accessories [categoryTreeNodeLevel] => 2 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=63514 ) [1] => stdClass Object ( [categoryId] => 11700 [categoryName] => Home, Furniture & DIY [categoryTreeNodeLevel] => 1 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=11700 ) ) ) [8] => stdClass Object ( [category] => stdClass Object ( [categoryId] => 167125 [categoryName] => Door Closers ) [categoryTreeNodeLevel] => 4 [categoryTreeNodeAncestors] => Array ( [0] => stdClass Object ( [categoryId] => 41976 [categoryName] => Doors & Door Hardware [categoryTreeNodeLevel] => 3 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=41976 ) [1] => stdClass Object ( [categoryId] => 3187 [categoryName] => DIY Materials [categoryTreeNodeLevel] => 2 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=3187 ) [2] => stdClass Object ( [categoryId] => 11700 [categoryName] => Home, Furniture & DIY [categoryTreeNodeLevel] => 1 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=11700 ) ) ) [9] => stdClass Object ( [category] => stdClass Object ( [categoryId] => 31587 [categoryName] => Plaques & Signs ) [categoryTreeNodeLevel] => 3 [categoryTreeNodeAncestors] => Array ( [0] => stdClass Object ( [categoryId] => 10033 [categoryName] => Home Décor [categoryTreeNodeLevel] => 2 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=10033 ) [1] => stdClass Object ( [categoryId] => 11700 [categoryName] => Home, Furniture & DIY [categoryTreeNodeLevel] => 1 [categorySubtreeNodeHref] => https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_subtree?category_id=11700 ) ) ) ) [categoryTreeId] => 3 [categoryTreeVersion] => 118 )
This is what i have at the moment to get he above and i also tried some steps on this article but still cant get it How to extract and access data from JSON with PHP?
This is what i have, $query is my search term passed in by a function, i have other ones bu they are XML but these are different i believe.
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_suggestions?q='.$query,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: TOKENGOESHERE',
'Accept: application/json',
'Content-Type: application/json',
'Accept-Encoding: gzip'
),
));
$response = curl_exec($curl);
// Decoding JSON data
$decodedData = json_decode($response);
print_r($decodedData);
curl_close($curl);
Thanks for the help
Update
Thanks to Guido i was able to add the following and seems to work, adding this to the question in case there is any other alternatives people could try.
If there are any suggestions please let me know.
//Query i want to lookup
$query = 'New Iphone 12 Brand New Unlocked'
//Passing in an option of what i want to retrieve
$option = 'categoryId'
function get_Recom($query, $option) {
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.ebay.com/commerce/taxonomy/v1/category_tree/3/get_category_suggestions?q='.$query,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: TOKENGOESHERE',
'Accept: application/json',
'Content-Type: application/json',
'Accept-Encoding: gzip'
),
));
$response = curl_exec($curl);
// Decoding JSON data
$decodedData = json_decode($response);
$i = 0;
foreach ($decodedData->categorySuggestions as $categorySuggestions) {
echo ''.$categorySuggestions->category->$option .'';
if (++$i == 1) break;
}
curl_close($curl);
}