a-posokhov/yandex-market-php-partner

Yandex PHP Market Partners 库。

dev-main 2024-01-24 11:06 UTC

This package is auto-updated.

Last update: 2024-09-24 12:52:10 UTC


README

使用 Yandex 市场合作伙伴 API 为 DBS(Delivery by Seller,卖家配送)和 ADV(Advertising,广告模式)模型,外部应用程序可以获取其商店和商品的信息并管理它们。该库用 PHP 编写,包含用于操作合作伙伴 API 的方法。

要求

  • PHP 5.6 或更高版本。
  • 在 Yandex 市场注册的商店。
  • 注册的应用程序,并具有授权令牌。

有关详细信息,请参阅 Wiki 中的开始步骤

许可证和条款

该库根据 MIT 许可证 进行分发。

合作伙伴 API 的使用受 用户协议 的约束。

安装

该库通过包管理器 Composer 进行安装。

  1. 将库添加到项目的 composer.json 文件中

    {
        "require": {
            "yandex-market/yandex-market-php-partner": "*"
        }
    }
  2. 在项目代码中启用 Composer 自动加载器

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

示例使用

显示用户注册的 Yandex 商店列表,这些商店已注册应用程序

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

// Создаем экземпляр клиента с базовыми методами
$baseClient = new \Yandex\Market\Partner\Clients\BaseClient($clientId, $token);

// Магазины возвращаются постранично
$pageNumber = 0;
do {
    $pageNumber++;
    
    // Получаем страницу магазинов с номером pageNumber
    $campaignsObject = $baseClient->getCampaigns(['page' => $pageNumber,]);
    // Получаем итератор по магазинам на странице
    $campaignsPage = $campaignsObject->getCampaigns();

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

    // Получаем первый магазин
    $campaign = $campaignsPage->current();
    // Печатаем идентификатор и URL магазина, затем переходим к следующему    
    for ($i = 0; $i < $campaignsCount; $i++) {
        echo 'ID: ' . $campaign->getId();
        echo 'Domain: ' . $campaign->getDomain();        
        $campaign = $campaignsPage->next();
    }
    
    // Получаем информацию о страницах. Возвращаемое количество страниц может увеличиваться 
    // по мере увеличения номера страницы. Последняя страница будет достигнута, 
    // когда вернется количество страниц, равное номеру текущей страницы    
    $campaignsTotalPages = $campaignsObject->getPager()->getPagesCount();
} while ($pageNumber != $campaignsTotalPages);    

有关详细信息,请参阅 Wiki 和市场合作伙伴 API 文档