2016-02-10 3 views
4

Использование Etsy Listing API, У меня есть объявления, которые соответствуют ключевому слову, и я не могу с ними справиться.Etsy PHP API - Опции доставки

Однако я хочу найти только списки, которые доставляются в Великобританию.

Я попытался использовать параметр URL region, но я все еще получаю предметы, которые могут быть доставлены в США.

Может кто-нибудь помочь мне понять, что мне нужно, чтобы пройти, чтобы получить товары, поставляемые в Великобритании, пожалуйста?

+0

Кажется, что это работает для меня [здесь] (https://openapi.etsy.com/v2/listings/active?region=GB&api_key=) * API KEY EXCLUDED * – pxgamer

+0

@PXgamer, пока ваш URL-адрес действительно работает, он кажется, не ограничивает, как ожидалось. Например, попробуйте [link] (https://openapi.etsy.com/v2/listings/active?keywords=ISBN®ion=GB&api_key=) и некоторые элементы (2-е место в момент публикации), 'Только для отправки в Соединенные Штаты из Алабамы, США. –

ответ

1

Если вы хотите использовать только списки, которые могут быть отправлены в Великобританию, вы должны посмотреть в ShippingInfo. Вот как я это сделал:

$json = file_get_contents("https://openapi.etsy.com/v2/listings/active?keywords=ISBN&region=GB&includes=ShippingInfo(destination_country_id)&api_key="); 
$listings = json_decode($json, true); 
foreach($listings['results'] as $listing) { 
    if (isset($listing['ShippingInfo'])) { 
     foreach ($listing['ShippingInfo'] as $shipping) { 
      if ($shipping['destination_country_id'] == 105) { 
       //this listing ships to UK 
       print_r($listing); 
      }  
     } 

    } 
} 
1

Вот код, чтобы получить листинг, что корабли/доставить «Соединенное Королевство»

<?php 
$apiContent = file_get_contents("https://openapi.etsy.com/v2/listings/active?api_key=YOUR-API-KEY-HERE&includes=ShippingInfo(destination_country_name)"); 
     $contentDecode = json_decode($apiContent, true); 
     $total=0; 
     foreach ($contentDecode['results'] as $row) { 
      if (isset($row['ShippingInfo'])) { 
       foreach ($row['ShippingInfo'] as $r) { 
        if ($r['destination_country_name'] == "United Kingdom") { 
         echo "<pre>"; 
         print_r($row); 
         $total++; 
        } 
       } 
      } 
     } 
     echo $total; 
?> 

Я включает = ShippingInfo (destination_country_name) параметр, чтобы получить подробности доставки. Он получает информацию о том, в какой стране будет отправлен листинг. Надеюсь, что это сработает для вас.

Смежные вопросы