KeywordBids::set()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 9
rs 9.9666
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
/**
3
 * @author Dmitry Gladyshev <[email protected]>
4
 * @date 23/04/2018 09:50
5
 */
6
7
namespace Yandex\Direct\Service;
8
9
use Yandex\Direct\Exception\Exception;
10
use Yandex\Direct\Service;
11
use function Yandex\Direct\get_param_names;
12
13
/**
14
 * Class KeywordBids
15
 *
16
 * Сервис предназначен для назначения ставок и приоритетов ключевым фразам и автотаргетингам и для получения данных,
17
 * полезных при назначении ставок.
18
 *
19
 * @package Yandex\Direct\Service
20
 * @see https://tech.yandex.ru/direct/doc/ref-v5/keywordbids/keywordbids-docpage/
21
 */
22
final class KeywordBids extends Service
23
{
24
    /**
25
     * Возвращает ставки и приоритеты для ключевых фраз и автотаргетингов, отвечающих заданным критериям,
26
     * а также данные торгов: ставки и списываемые цены для различных объемов трафика на поиске и ставки для охвата
27
     * различных долей аудитории в сетях.
28
     *
29
     * @param array $SelectionCriteria
30
     * @param array $FieldNames
31
     * @param array $SearchFieldNames
32
     * @param array $NetworkFieldNames
33
     * @param array $Page
34
     * @return array
35
     * @throws Exception
36
     * @throws \ReflectionException
37
     *
38
     * @see https://tech.yandex.ru/direct/doc/ref-v5/keywordbids/get-docpage/
39
     */
40
    public function get(
41
        $SelectionCriteria,
42
        $FieldNames,
43
        $SearchFieldNames = null,
44
        $NetworkFieldNames = null,
45
        $Page = null
46
    ) {
47
        $params = compact(get_param_names(__METHOD__));
48
49
        return $this->request([
50
            'method' => 'get',
51
            'params' => $params
52
        ]);
53
    }
54
55
    /**
56
     * Назначает фиксированные ставки и приоритеты для ключевых фраз и автотаргетингов.
57
     *
58
     * @param array $KeywordBids
59
     * @return array
60
     * @throws Exception
61
     *
62
     * @see https://tech.yandex.ru/direct/doc/ref-v5/keywordbids/set-docpage/
63
     */
64
    public function set($KeywordBids)
65
    {
66
        return $this->request([
67
            'method' => 'set',
68
            'params' => [
69
                'KeywordBids' => $KeywordBids
70
            ]
71
        ]);
72
    }
73
74
    /**
75
     * Назначает для фраз ставки на поиске в зависимости от желаемого объема трафика или ставки в сетях в зависимости
76
     * от желаемой частоты показа (доли аудитории).
77
     *
78
     * @param array $KeywordBids
79
     * @return array
80
     * @throws Exception
81
     *
82
     * @see https://tech.yandex.ru/direct/doc/ref-v5/keywordbids/setAuto-docpage/
83
     */
84
    public function setAuto($KeywordBids)
85
    {
86
        return $this->request([
87
            'method' => 'setAuto',
88
            'params' => [
89
                'KeywordBids' => $KeywordBids
90
            ]
91
        ]);
92
    }
93
}
94