yandex-market/yandex-market-php-content

This package is abandoned and no longer maintained. The author suggests using the https://github.com/yandex-market/yandex-market-partner-api package instead.

Yandex PHP Market Content library.

1.0.0 2018-10-02 09:36 UTC

This package is auto-updated.

Last update: 2023-12-27 07:27:59 UTC


README

С помощью контентного API Яндекс.Маркета внешние приложения могут получать сведения о моделях товаров, предложениях на них и магазинах, размещающихся на Яндекс.Маркете. Библиотека реализует работу с контентным API на языке PHP.

Требования

  • PHP 5.6 или выше.
  • Зарегистрированное приложение с авторизационным ключом.

Подробнее см. раздел С чего начать в Wiki.

Лицензия и условия использования

Библиотека распространяется по лицензии MIT.

Использование контентного API регулируется пользовательским соглашением.

Установка

Библиотека устанавливается с помощью пакетного менеджера Composer.

  1. Добавьте библиотеку в файл composer.json вашего проекта:

    {
        "require": {
            "yandex-market/yandex-market-php-content": "*"
        }
    }
  2. Включите автозагрузчик Composer в код проекта:

    require __DIR__ . '/vendor/autoload.php';

Использование

Например, получим обзоры на Apple iPhone 8 Plus 64GB:

// Указываем авторизационный токен
$token = '01234567-89ab-cdef-fedc-ba9876543210';

// Создаем экземпляр клиента для работы с моделями
$modelClient = new \Yandex\Market\Content\Clients\ModelClient($token);

$modelReviews = [];

// Обзоры возвращаются постранично
$pageNumber = 0;
do {
    $pageNumber++;

    // Получаем страницу обзоров на Apple iPhone 8 Plus 64GB с номером pageNumber
    $modelReviewsObject = $modelClient->getReviews(1732171530, ['page' => $pageNumber,]);
    // Получаем итератор по обзорам
    $modelReviewsPage = $modelReviewsObject->getReviews();

    // Получаем количество обзоров на странице
    $modelReviewsPageCount = $modelReviewsPage->count();

    // Получаем первый обзор
    $modelReview = $modelReviewsPage->current();
    // Добавляем объект с URL и заголовком обзора в массив modelReviews,
    // затем переходим к следующему    
    for ($i = 0; $i < $modelReviewsPageCount; $i++) {
        $reviewObject = [
            'url' => $modelReview->getUrl(),
            'title' => $modelReview->getTitle(),
        ]            
        $modelReviews[] = $reviewObject;        
        $modelReview = $modelReviewsPage->next();
    }
    
    // Узнаем, является ли полученная страница последней   
    $modelReviewsIsLastPage = $modelReviewsObject->getPager()->getLast();
} while (! $modelReviewsIsLastPage);    

Подробнее см. Wiki и документацию контентного API.