Целевой регион Etsy API через активные списки вместо профиля пользователя

Играя с Etsy API, документация ничего не перечисляет под listings что я смог использовать, что позволило бы кому-то кодировать запрос, как:

$apistateloc = 'florida';
$apiurl = 'https://openapi.etsy.com/v2/listings/active?api_key=' . $apikey . '&limit=' . $apilimit . '&region=' . $apistateloc;

API упоминает Associations но даже если посмотреть на ассоциации, то после тестирования регион может быть извлечен из userProfile:

$userprofile = json_decode(file_get_contents('https://openapi.etsy.com/v2/users/' . $product->user_id . '/profile?api_key=' . $apikey));
$products[$i]["region"] = $userprofile->results[0]->region;

и выше работает. Я думал, что API Reference для Region позволил бы это:

$theRegion = json_decode(file_get_contents('https://openapi.etsy.com/v2/private/regions?api_key=' . $apikey));
$products[$i]["region_state"] = $theRegion->results[0]->region_name;

но каждый раз, когда я запускаю его, я получаю результат:

"region_state":"European Union"

Есть ли способ в Etsy API для таргетинга всех активных списков (https://openapi.etsy.com/v2/listings/active) с таким регионом, как florida? Я пытаюсь сделать запрос JSON, который будет основан на штате, стране или городе.

0

Решение

Область, край:

Представляет коллекцию стран, в которые отправляется товар.

Итак, с этим:

$theRegion = json_decode(file_get_contents('https://openapi.etsy.com/v2/private/regions?api_key=' . $apikey));
$products[$i]["region_state"] = $theRegion->results[0]->region_name;

Все, что вы делаете, это возвращаете список возможных регионов. Возвращаемое тело на самом деле это:

{
"region_id": 11,
"region_name": "European Union",
"is_dead": false
},
{
"region_id": 12,
"region_name": "Europe non-EU",
"is_dead": false
},
{
"region_id": 13,
"region_name": "South America",
"is_dead": true
},
{
"region_id": 14,
"region_name": "Africa",
"is_dead": true
},
{
"region_id": 15,
"region_name": "Central America",
"is_dead": true
}

Так results[0] возвращает первый элемент, следовательно, всегда получает European Union,

Что вы хотите использовать вместо Region это location параметр. Итак, ваша первая строка запроса будет работать отлично — просто замените регион на местоположение, например так:

$apistateloc = 'florida';
$apiurl = 'https://openapi.etsy.com/v2/listings/active?api_key=' . $apikey . '&limit=' . $apilimit . '&location=' . $apistateloc;
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]