С помощью партнерского API Яндекс.Маркета для моделей DBS (Delivery by Seller, продажи с доставкой продавца) и ADV (Advertising, рекламная модель) внешние приложения могут получать сведения о своих магазинах и предложениях и управлять ими. Библиотека написана на языке PHP и содержит методы для работы с партнерским API.
- PHP 5.6 или выше.
- Зарегистрированный магазин на Яндекс.Маркете.
- Зарегистрированное приложение с авторизационным токеном.
Подробнее см. раздел С чего начать в Wiki.
Библиотека распространяется по лицензии MIT.
Использование партнерского API регулируется пользовательским соглашением.
Библиотека устанавливается с помощью пакетного менеджера Composer.
-
Добавьте библиотеку в файл
composer.json
вашего проекта:{ "require": { "yandex-market/yandex-market-php-partner": "*" } }
-
Включите автозагрузчик Composer в код проекта:
require __DIR__ . '/vendor/autoload.php';
Выведем на экран список всех магазинов пользователя Яндекса, на которого зарегистрировано приложение:
// Указываем авторизационные данные
$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 Маркета для моделей: