Completed
Push — master ( ad9deb...a369e9 )
by Dmitry
02:50
created

KeywordBids::set()   A

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
12
/**
13
 * Class KeywordBids
14
 *
15
 * Сервис предназначен для назначения ставок и приоритетов ключевым фразам и автотаргетингам и для получения данных,
16
 * полезных при назначении ставок.
17
 *
18
 * @package Yandex\Direct\Service
19
 * @see https://tech.yandex.ru/direct/doc/ref-v5/keywordbids/keywordbids-docpage/
20
 */
21
final class KeywordBids extends Service
22
{
23
    /**
24
     * Возвращает ставки и приоритеты для ключевых фраз и автотаргетингов, отвечающих заданным критериям,
25
     * а также данные торгов: ставки и списываемые цены для различных объемов трафика на поиске и ставки для охвата
26
     * различных долей аудитории в сетях.
27
     *
28
     * @param array $SelectionCriteria
29
     * @param array $FieldNames
30
     * @param array $SearchFieldNames
31
     * @param array $NetworkFieldNames
32
     * @param array $Page
33
     * @return array
34
     * @throws Exception
35
     *
36
     * @see https://tech.yandex.ru/direct/doc/ref-v5/keywordbids/get-docpage/
37
     */
38
    public function get(
39
        $SelectionCriteria,
40
        $FieldNames,
41
        $SearchFieldNames = null,
42
        $NetworkFieldNames = null,
43
        $Page = null
44
    ) {
45
        $params = [
46
            'SelectionCriteria' => $SelectionCriteria,
47
            'FieldNames' => $FieldNames,
48
        ];
49
50
        if ($SearchFieldNames) {
51
            $params['SearchFieldNames'] = $SearchFieldNames;
52
        }
53
54
        if ($NetworkFieldNames) {
55
            $params['NetworkFieldNames'] = $NetworkFieldNames;
56
        }
57
58
        if ($Page) {
59
            $params['Page'] = $Page;
60
        }
61
62
        return $this->request([
63
            'method' => 'get',
64
            'params' => $params
65
        ]);
66
    }
67
68
    /**
69
     * Назначает фиксированные ставки и приоритеты для ключевых фраз и автотаргетингов.
70
     *
71
     * @param array $KeywordBids
72
     * @return array
73
     * @throws Exception
74
     *
75
     * @see https://tech.yandex.ru/direct/doc/ref-v5/keywordbids/set-docpage/
76
     */
77
    public function set($KeywordBids)
78
    {
79
        return $this->request([
80
            'method' => 'set',
81
            'params' => [
82
                'KeywordBids' => $KeywordBids
83
            ]
84
        ]);
85
    }
86
87
    /**
88
     * Назначает для фраз ставки на поиске в зависимости от желаемого объема трафика или ставки в сетях в зависимости
89
     * от желаемой частоты показа (доли аудитории).
90
     *
91
     * @param array $KeywordBids
92
     * @return array
93
     * @throws Exception
94
     *
95
     * @see https://tech.yandex.ru/direct/doc/ref-v5/keywordbids/setAuto-docpage/
96
     */
97
    public function setAuto($KeywordBids)
98
    {
99
        return $this->request([
100
            'method' => 'setAuto',
101
            'params' => [
102
                'KeywordBids' => $KeywordBids
103
            ]
104
        ]);
105
    }
106
}
107