Completed
Push — master ( cd10db...33546a )
by Dmitry
39:39
created

KeywordBids::get()   B

Complexity

Conditions 4
Paths 8

Size

Total Lines 29
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 29
rs 8.5806
c 0
b 0
f 0
cc 4
eloc 18
nc 8
nop 5
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\Service;
10
11
/**
12
 * Class KeywordBids
13
 *
14
 * Сервис предназначен для назначения ставок и приоритетов ключевым фразам и автотаргетингам и для получения данных,
15
 * полезных при назначении ставок.
16
 *
17
 * @package Yandex\Direct\Service
18
 * @see https://tech.yandex.ru/direct/doc/ref-v5/keywordbids/keywordbids-docpage/
19
 */
20
final class KeywordBids extends Service
21
{
22
    /**
23
     * Возвращает ставки и приоритеты для ключевых фраз и автотаргетингов, отвечающих заданным критериям,
24
     * а также данные торгов: ставки и списываемые цены для различных объемов трафика на поиске и ставки для охвата
25
     * различных долей аудитории в сетях.
26
     *
27
     * @param array $SelectionCriteria
28
     * @param array $FieldNames
29
     * @param array $SearchFieldNames
30
     * @param array $NetworkFieldNames
31
     * @param array $Page
32
     * @return array
33
     * @see https://tech.yandex.ru/direct/doc/ref-v5/keywordbids/get-docpage/
34
     */
35
    public function get(
36
        $SelectionCriteria,
37
        $FieldNames,
38
        $SearchFieldNames = null,
39
        $NetworkFieldNames = null,
40
        $Page = null
41
    ) {
42
        $params = [
43
            'SelectionCriteria' => $SelectionCriteria,
44
            'FieldNames' => $FieldNames,
45
        ];
46
47
        if ($SearchFieldNames) {
48
            $params['SearchFieldNames'] = $SearchFieldNames;
49
        }
50
51
        if ($NetworkFieldNames) {
52
            $params['NetworkFieldNames'] = $NetworkFieldNames;
53
        }
54
55
        if ($Page) {
56
            $params['Page'] = $Page;
57
        }
58
59
        return $this->request([
60
            'method' => 'get',
61
            'params' => $params
62
        ]);
63
    }
64
65
    /**
66
     * Назначает фиксированные ставки и приоритеты для ключевых фраз и автотаргетингов.
67
     *
68
     * @param array $KeywordBids
69
     * @return array
70
     * @see https://tech.yandex.ru/direct/doc/ref-v5/keywordbids/set-docpage/
71
     */
72
    public function set($KeywordBids)
73
    {
74
        return $this->request([
75
            'method' => 'set',
76
            'params' => [
77
                'KeywordBids' => $KeywordBids
78
            ]
79
        ]);
80
    }
81
}
82