perf2k2 / direct
Yandex Direct API 第五版本的 PHP 封装
0.11.1
2019-09-15 15:20 UTC
Requires
- php: 7.*
- guzzlehttp/guzzle: 6.*
- myclabs/php-enum: 1.6.6
- vlucas/phpdotenv: 2.*
Requires (Dev)
- phpunit/phpunit: 6.*
This package is auto-updated.
Last update: 2024-09-19 22:33:58 UTC
README
不稳定版本,请勿在生产环境中使用。
Yandex Direct API 第五版本的封装。
特点
- 文档中的所有结构都表示为对象,包括 enum
- 支持多种身份验证提供者,包括环境变量文件
- 内置助手,方便处理响应(支持目录和统计响应)
- 测试主要组件的覆盖率
要求
PHP >= 7.0
依赖
- myclabs/php-enum (用于 enum 类型提示)
- vlucas/phpdotenv (用于读取环境变量文件中的变量)
- guzzlehttp/guzzle (用于通过 http 操作 api)
安装
最快速、最方便的安装方法是使用 Composer
$ composer require perf2k2/direct
实现的方法
即使方法已实现,也可能不存在对最新功能的支持
使用示例
获取目录数据
$reference = new ReferenceClient( new Connection(new Credential('token', 'client')), new JsonReader() ); $criteria = (new AdsSelectionCriteria()) ->setCampaignIds([1000]) ->setTypes([AdTypeEnum::TEXT_AD()]); $method = $reference ->getAdsService() ->getGetMethod() ->setSelectionCriteria($criteria) ->setFieldNames([AdFieldEnum::Id, AdFieldEnum::State]) ->setTextAdFieldNames([ TextAdFieldEnum::VCardId, TextAdFieldEnum::Href, TextAdFieldEnum::SitelinkSetId, ]); $data = $reference->process($method)->getResult('Ads');
获取统计数据(报告)
$stats = new ReportClient( new Connection(new Credential('token', 'client')), new TSVReader() ); $method = $stats ->getReportsService() ->getBuildMethod() ->setSelectionCriteria( (new SelectionCriteria()) ->setDateFrom(new \DateTimeImmutable('yesterday')) ->setDateTo(new \DateTimeImmutable('today')) ) ->setFieldNames([FieldEnum::CampaignId(), FieldEnum::CampaignName(), FieldEnum::CampaignType()]) ->setPage(new Page(10)) ->setOrderBy([new OrderBy(FieldEnum::CampaignId(), OrderBySortOrderEnum::DESCENDING())]) ->setReportName('Campaigns stats') ->setReportType(ReportTypeEnum::CAMPAIGN_PERFORMANCE_REPORT()) ->setDateRangeType(DateRangeTypeEnum::CUSTOM_DATE()) ->setFormat(FormatEnum::TSV()) ->setIncludeVAT(YesNoEnum::NO()) ->setIncludeDiscount(YesNoEnum::NO()); $data = $stats->process($method)->asArray();
许可证
GNU GPL v3
版权 (C) 2017 Romannikov Nikita
本程序是自由软件:您可以自由分发和/或修改它,前提是遵守 Free Software Foundation 发布的 GNU 通用公共许可证的条款,无论是许可证的第 3 版,还是(根据您的选择)任何较新版本。
本程序的分发是希望它是有用的,但没有任何保证;甚至不保证其可销售性或适用于特定用途。有关详细信息,请参阅 GNU 通用公共许可证。
您应该已收到随本程序一起提供的 GNU 通用公共许可证副本。如果没有,请参阅 https://gnu.ac.cn/licenses/。