Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Yandex Direct Laravel Package

biplane/yandex-direct

View on GitHub
Deep Wiki
Context7
5.16.0
5.15.0
5.14.0

Добавлена поддержка сервиса Businesses.

Changelog

5.0.1

Исправлена ситуация, когда при записи в лог выбрасывалось исключение TypeError.

Changelog

5.0.0

Переход с 4.x на 5.0

Biplane\YandexDirect\User

Класс Biplane\YandexDirect\User отмечен как устаревший, и будет удален в 6.0. Вместо этого рекомендуется использовать Biplane\YandexDirect\Config и фабрики для сервисов, ApiServiceFactory и ReportServiceFactory.

4.x:


use Biplane\YandexDirect\User;
use Biplane\YandexDirect\UserBuilder;
use Symfony\Component\EventDispatcher\EventDispatcher;

$session = (new UserBuilder(new EventDispatcher()))
    ->setAccessToken('INSERT_ACCESS_TOKEN')
    ->setLocale(User::LOCALE_RU)
    ->setLogin('agro')
    ->getUser();

$service = $session->getCampaignsService();
// $service is instance of Biplane\YandexDirect\Api\V5\Campaigns

5.0


use Biplane\YandexDirect\Api\V5\Campaigns;
use Biplane\YandexDirect\ApiServiceFactory;
use Biplane\YandexDirect\ConfigBuilder;

$config = ConfigBuilder::create()
    ->setAccessToken('INSERT_ACCESS_TOKEN')
    ->setLocale('ru')
    ->setClientLogin('agro')
    ->getConfig();
$serviceFactory = new ApiServiceFactory();

$service = $serviceFactory->createService($config, Campaigns::class);
// $service is instance of Biplane\YandexDirect\Api\V5\Campaigns

[BC break] Изменения в типах исключений

Biplane\YandexDirect\Exception\ApiException

  • Удалены константы кодов ошибок API.
  • Удалены методы getMethodName() и getMethodRef()

Biplane\YandexDirect\Exception\NetworkException

Данный класс был удален. При ошибках с сетью для SOAP-сервисов будет выброшено SoapFault, а для сервиса отчетов - Biplane\YandexDirect\Exception\DownloadReportException.

Biplane\YandexDirect\Exception\RequestException

Данный класс был удален. Ранее использовался как общий тип для ApiException и NetworkException.

[BC break] Сервис Reports

Теперь сервис совместим с PSR-18 (HTTP Client) и PSR-17 (HTTP Factories). Для поиска подходящей реализации используется php-http/discovery, но можно явно указать зависимости при инициализации фабрики ReportServiceFactory.

Biplane\YandexDirect\Api\V5\Report\ReportDefinitionBuilder

Данный класс удален. Вместо этого следует использовать Biplane\YandexDirect\Api\V5\Reports\ReportDefinition, который по структуре соответствует спецификации.

Biplane\YandexDirect\Api\V5\Report\ReportRequest

Данный класс был удален. Его аналогом можно считать Biplane\YandexDirect\Api\V5\Reports\ReportRequest. Только последний является неизменяемым, а для инициализации нужно использовать Biplane\YandexDirect\Api\V5\Reports\ReportRequestBuilder.

Biplane\YandexDirect\Api\V5\Report\ReportResult

  • Изменено пространство имен, Biplane\YandexDirect\Api\V5\Reports
  • Метод getData переименован в getAsString
  • Метод save переименован в saveToFile. И данный метод в качестве аргумента теперь принимает только строку. Если нужно работать с потоком, то для этого есть новый метод - getStream.

4.x


use Biplane\YandexDirect\User;
use Biplane\YandexDirect\Api\V5\Report;

$session = new User([
    'access_token' => 'INSERT_ACCESS_TOKEN',
    'login' => 'agro',
]);
$service = $session->getReportsService();

$reportDefinition = (new Report\ReportDefinitionBuilder())
    ->setReportName('demo')
    ->setReportType(Report\ReportTypeEnum::CAMPAIGN_PERFORMANCE_REPORT)
    ->setDateRangeType(Report\DateRangeTypeEnum::AUTO)
    ->setFieldNames([
        Report\FieldEnum::DATE,
        Report\FieldEnum::CAMPAIGN_ID,
        Report\FieldEnum::COST,
    ])
    ->addFilter(Report\FieldEnum::CAMPAIGN_ID, Report\FilterOperatorEnum::IN, [12301, 12302])
$request = (new Report\ReportRequest())
    ->setDefinition($reportDefinition)
    ->returnMoneyAsFloat()
    ->skipReportHeader()
    ->skipReportSummary();

$service->download('path/to/file.tsv', $request);

5.0


use Biplane\YandexDirect\Api\V5\Reports;
use Biplane\YandexDirect\ConfigBuilder;
use Biplane\YandexDirect\ReportServiceFactory;

$config = ConfigBuilder::create()
    ->setAccessToken('INSERT_ACCESS_TOKEN')
    ->setClientLogin('agro')
    ->getConfig();
$serviceFactory = new ReportServiceFactory();
$service = $serviceFactory->createService($config);

$selectionCriteria = Reports\SelectionCriteria::create()
    ->addFilter(Reports\FilterItem::create(Reports\FieldEnum::CAMPAIGN_ID, Reports\FilterOperatorEnum::IN, ['12301', '12302']));
$reportDefinition = Reports\ReportDefinition::create($selectionCriteria)
    ->setReportName('demo')
    ->setReportType(Reports\ReportTypeEnum::CAMPAIGN_PERFORMANCE_REPORT)
    ->setDateRangeType(Reports\DateRangeTypeEnum::AUTO)
    ->setFieldNames([
        Reports\FieldEnum::DATE,
        Reports\FieldEnum::CAMPAIGN_ID,
        Reports\FieldEnum::COST,
    ])
$request = Reports\ReportRequestBuilder::create()
    ->setReportDefinition($reportDefinition)
    ->returnMoneyInMicros(false)
    ->skipReportHeader(true)
    ->skipReportSummary(true)
    ->getReportRequest();

$result = $service->getReady($request);
$result->saveToFile('/path/to/file.tsv');
5.0.0-beta3
4.20.0
5.0.0-beta1
4.19.0

Добавлена поддержка Symfony 5.x

4.16.0
  • Добавлена поддержка сервиса Feeds.
  • Добавлена поддержка сервиса SmartAdTargets.

Подробнее в changelog

4.15.0

Added

  • Добавлена поддержка сервиса AudienceTargets (PR #23)

Changed

  • Обновлены контракты данных для совместимости с последней версией API, включая изменения от 2020-02-06.
4.14.1

Отменены изменения в части генерации кода для массива-подобных типов, сделанные в f954f725. Так как, эти изменения несовместимы с нативным SoapClient, в случае десериализации XML.

- public function setTrackingPixels(array $value = null)
+ public function setTrackingPixels(TrackingPixelGetArray $value = null)
  • Biplane\YandexDirect\Api\V5\Contract\CpmBannerAdBuilderAdGet
  • Biplane\YandexDirect\Api\V5\Contract\CpmVideoAdBuilderAdGet
- public function setPriorityGoals(array $value = null)
+ public function setPriorityGoals(PriorityGoalsArray $value = null)
  • Biplane\YandexDirect\Api\V5\Contract\DynamicTextCampaignAddItem
  • Biplane\YandexDirect\Api\V5\Contract\DynamicTextCampaignGetItem
  • Biplane\YandexDirect\Api\V5\Contract\RetargetingListGetItem
  • Biplane\YandexDirect\Api\V5\Contract\TextCampaignAddItem
  • Biplane\YandexDirect\Api\V5\Contract\TextCampaignGetItem
4.14.0

Changes

  • Теперь опция stream_context поддерживается всеми сервисами, где используется SoapClient (issue #20)
4.13.0

New

Добавлена поддержка следующих сервисов: Leads, NegativeKeywordSharedSets и TurboPages.

Changes

  • Обновлены контракты данных для совместимости с последней версией API, включая изменения от 01.10.2019.
  • Улучшена логика определения массивов по данным WSDL, с учетом специфики Яндекс.Директ API.
    • [BC Break] Изменилась сигнатура метода Biplane\YandexDirect\Api\V5\Contract\CpmBannerAdBuilderAdGet::setTrackingPixels()

      - public function setTrackingPixels(TrackingPixelGetArray $value = null)
      + public function setTrackingPixels(array $value = null)
      
    • [BC Break] Изменилась сигнатура метода Biplane\YandexDirect\Api\V5\Contract\CpmVideoAdBuilderAdGet::setTrackingPixels()

    • [BC Break] Изменилась сигнатура метода Biplane\YandexDirect\Api\V5\Contract\DynamicTextCampaignAddItem::setPriorityGoals()

      - public function setPriorityGoals(PriorityGoalsArray $value = null)
      + public function setPriorityGoals(array $value = null)
      
    • [BC Break] Изменилась сигнатура метода Biplane\YandexDirect\Api\V5\Contract\DynamicTextCampaignGetItem::setPriorityGoals()

    • [BC Break] Изменилась сигнатура метода Biplane\YandexDirect\Api\V5\Contract\TextCampaignAddItem::setPriorityGoals()

    • [BC Break] Изменилась сигнатура метода Biplane\YandexDirect\Api\V5\Contract\TextCampaignGetItem::setPriorityGoals()

4.12.0

Updates for compatible with changes of API from 2019-05-15.

BC break: For service Sitelinks. Type Biplane\YandexDirect\Api\V5\Contract\Sitelink has been replaced to Biplane\YandexDirect\Api\V5\Contract\SitelinkGetItem for method Sitelinks.get(), and replaced to Biplane\YandexDirect\Api\V5\Contract\SitelinkAddItem for method Sitelinks.add().

$ composer require biplane/yandex-direct
4.10.0

Updated data contracts to follow the latest changes from API (including changes of 11.03.2019).

4.9.1

Now, Reports service supports the sandbox (PR #16)

4.7.1

Исправлена ошибка в генерации финансового токена для метода AccountManagement (close #13)

4.7.0

Добавлена поддержка медийных кампаний.

Обновление пакета в проекте:

$ composer require biplane/yandex-direct:~4.7
4.6.0

В сервис Reports добавлена поддержка входных параметров: Goals и AttributionModels.

4.5.0

[BC break] Changed format of return value for some getters of data contracts:

  • Biplane\YandexDirect\Api\V5\Contract\AdGroupAddItem::getNegativeKeywords()
  • Biplane\YandexDirect\Api\V5\Contract\AdGroupBase::getNegativeKeywords()
  • Biplane\YandexDirect\Api\V5\Contract\AdGroupGetItem::getRestrictedRegionIds()
  • Biplane\YandexDirect\Api\V5\Contract\CampaignAddItem::getNegativeKeywords()
  • Biplane\YandexDirect\Api\V5\Contract\CampaignAddItem::getBlockedIps()
  • Biplane\YandexDirect\Api\V5\Contract\CampaignAddItem::getExcludedSites()
  • Biplane\YandexDirect\Api\V5\Contract\CampaignGetItem::getNegativeKeywords()
  • Biplane\YandexDirect\Api\V5\Contract\CampaignGetItem::getBlockedIps()
  • Biplane\YandexDirect\Api\V5\Contract\CampaignGetItem::getExcludedSites()
  • Biplane\YandexDirect\Api\V5\Contract\CampaignUpdateItem::getNegativeKeywords()
  • Biplane\YandexDirect\Api\V5\Contract\CampaignUpdateItem::getBlockedIps()
  • Biplane\YandexDirect\Api\V5\Contract\CampaignUpdateItem::getExcludedSites()
  • Biplane\YandexDirect\Api\V5\Contract\DynamicTextCampaignAddItem::getCounterIds()
  • Biplane\YandexDirect\Api\V5\Contract\DynamicTextCampaignBase::getCounterIds()
  • Biplane\YandexDirect\Api\V5\Contract\TextCampaignAddItem::getCounterIds()
  • Biplane\YandexDirect\Api\V5\Contract\TextCampaignBase::getCounterIds()
  • Biplane\YandexDirect\Api\V5\Contract\TimeTargetingBase::getSchedule()

Foo details, see changelog

4.4.0
4.3.0

Support service KeywordBids

4.1.0
  • Added support service AgencyClients
  • Added support service RetargetingLists
  • Updated contracts, including changes from 2017-10-17

For details, see changelog.

4.1.0-beta2

BC break: Signature of methods of the Reports service is changed. For details, see changelog.

4.1.0-beta1

For detail, see changelog

4.0

Has BC break changes, see changelog.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
sayedenam/sayed-dashboard
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed