Добавлена поддержка сервиса Businesses.
Исправлена ситуация, когда при записи в лог выбрасывалось исключение TypeError.
Класс 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
getMethodName() и getMethodRef()Данный класс был удален.
При ошибках с сетью для SOAP-сервисов будет выброшено SoapFault, а для сервиса отчетов - Biplane\YandexDirect\Exception\DownloadReportException.
Данный класс был удален. Ранее использовался как общий тип для ApiException и NetworkException.
Теперь сервис совместим с PSR-18 (HTTP Client) и PSR-17 (HTTP Factories). Для поиска подходящей реализации используется php-http/discovery, но можно явно указать зависимости при инициализации фабрики ReportServiceFactory.
Данный класс удален. Вместо этого следует использовать Biplane\YandexDirect\Api\V5\Reports\ReportDefinition, который по структуре соответствует спецификации.
Данный класс был удален. Его аналогом можно считать Biplane\YandexDirect\Api\V5\Reports\ReportRequest. Только последний является неизменяемым, а для инициализации нужно использовать Biplane\YandexDirect\Api\V5\Reports\ReportRequestBuilder.
Biplane\YandexDirect\Api\V5\ReportsgetData переименован в getAsStringsave переименован в 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');
Добавлена поддержка Symfony 5.x
Подробнее в changelog
AudienceTargets (PR #23)Отменены изменения в части генерации кода для массива-подобных типов, сделанные в f954f725. Так как, эти изменения несовместимы с нативным SoapClient, в случае десериализации XML.
- public function setTrackingPixels(array $value = null)
+ public function setTrackingPixels(TrackingPixelGetArray $value = null)
Biplane\YandexDirect\Api\V5\Contract\CpmBannerAdBuilderAdGetBiplane\YandexDirect\Api\V5\Contract\CpmVideoAdBuilderAdGet- public function setPriorityGoals(array $value = null)
+ public function setPriorityGoals(PriorityGoalsArray $value = null)
Biplane\YandexDirect\Api\V5\Contract\DynamicTextCampaignAddItemBiplane\YandexDirect\Api\V5\Contract\DynamicTextCampaignGetItemBiplane\YandexDirect\Api\V5\Contract\RetargetingListGetItemBiplane\YandexDirect\Api\V5\Contract\TextCampaignAddItemBiplane\YandexDirect\Api\V5\Contract\TextCampaignGetItemstream_context поддерживается всеми сервисами, где используется SoapClient (issue #20)Добавлена поддержка следующих сервисов: Leads, NegativeKeywordSharedSets и TurboPages.
[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()
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
Updated data contracts to follow the latest changes from API (including changes of 11.03.2019).
Now, Reports service supports the sandbox (PR #16)
Исправлена ошибка в генерации финансового токена для метода AccountManagement (close #13)
Добавлена поддержка медийных кампаний.
Обновление пакета в проекте:
$ composer require biplane/yandex-direct:~4.7
В сервис Reports добавлена поддержка входных параметров: Goals и AttributionModels.
[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
Добавлена поддержка редактирования отдельных параметров.
Support service KeywordBids
For details, see changelog.
BC break: Signature of methods of the Reports service is changed. For details, see changelog.
For detail, see changelog
Has BC break changes, see changelog.
How can I help you explore Laravel packages today?