DynamicTextAdTargets   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 121
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
dl 0
loc 121
rs 10
c 0
b 0
f 0
wmc 6
lcom 1
cbo 1

6 Methods

Rating   Name   Duplication   Size   Complexity  
A add() 0 9 1
A delete() 0 9 1
A get() 0 9 1
A resume() 0 9 1
A setBids() 0 9 1
A suspend() 0 9 1
1
<?php
2
/**
3
 * @author Dmitry Gladyshev <[email protected]>
4
 * @date 29/08/2016 12:34
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 DynamicTextAdTargets
15
 * @package Yandex\Direct\Service
16
 */
17
final class DynamicTextAdTargets extends Service
18
{
19
    /**
20
     * Создает условия нацеливания для динамических объявлений,
21
     * назначает ставки или приоритеты для создаваемых условий.
22
     *
23
     * @param $Webpages
24
     * @return array
25
     * @throws Exception
26
     *
27
     * @see https://tech.yandex.ru/direct/doc/ref-v5/dynamictextadtargets/add-docpage/
28
     */
29
    public function add($Webpages)
30
    {
31
        return $this->request([
32
            'method' => 'add',
33
            'params' => [
34
                'Webpages' => $Webpages
35
            ]
36
        ]);
37
    }
38
39
    /**
40
     * Удаляет условия нацеливания для динамических объявлений.
41
     *
42
     * @param $SelectionCriteria
43
     * @return array
44
     * @throws Exception
45
     *
46
     * @see https://tech.yandex.ru/direct/doc/ref-v5/dynamictextadtargets/delete-docpage/
47
     */
48
    public function delete($SelectionCriteria)
49
    {
50
        return $this->request([
51
            'method' => 'delete',
52
            'params' => [
53
                'SelectionCriteria' => $SelectionCriteria
54
            ]
55
        ]);
56
    }
57
58
    /**
59
     * Возвращает параметры условий нацеливания для динамических объявлений.
60
     *
61
     * @param $SelectionCriteria
62
     * @param $FieldNames
63
     * @param $Page
64
     * @return array
65
     *
66
     * @throws Exception
67
     * @throws \ReflectionException
68
     *
69
     * @see https://tech.yandex.ru/direct/doc/ref-v5/dynamictextadtargets/get-docpage/
70
     */
71
    public function get($SelectionCriteria, $FieldNames, $Page = null)
72
    {
73
        $params = compact(get_param_names(__METHOD__));
74
75
        return $this->request([
76
            'method' => 'get',
77
            'params' => $params
78
        ]);
79
    }
80
81
    /**
82
     * Возобновляет показы по ранее остановленным условиям нацеливания для динамических объявлений.
83
     *
84
     * @param $SelectionCriteria
85
     * @return array
86
     * @throws Exception
87
     *
88
     * @see https://tech.yandex.ru/direct/doc/ref-v5/dynamictextadtargets/resume-docpage/
89
     */
90
    public function resume($SelectionCriteria)
91
    {
92
        return $this->request([
93
            'method' => 'resume',
94
            'params' => [
95
                'SelectionCriteria' => $SelectionCriteria
96
            ]
97
        ]);
98
    }
99
100
    /**
101
     * Назначает ставки и приоритеты для условий нацеливания для динамических объявлений.
102
     *
103
     * @param $Bids
104
     * @return array
105
     * @throws Exception
106
     *
107
     * @see https://tech.yandex.ru/direct/doc/ref-v5/dynamictextadtargets/setBids-docpage/
108
     */
109
    public function setBids($Bids)
110
    {
111
        return $this->request([
112
            'method' => 'setBids',
113
            'params' => [
114
                'Bids' => $Bids
115
            ]
116
        ]);
117
    }
118
119
    /**
120
     * Останавливает показы по условиям нацеливания для динамических объявлений.
121
     *
122
     * @param $SelectionCriteria
123
     * @return array
124
     * @throws Exception
125
     *
126
     * @see https://tech.yandex.ru/direct/doc/ref-v5/dynamictextadtargets/suspend-docpage/
127
     */
128
    public function suspend($SelectionCriteria)
129
    {
130
        return $this->request([
131
            'method' => 'suspend',
132
            'params' => [
133
                'SelectionCriteria' => $SelectionCriteria
134
            ]
135
        ]);
136
    }
137
}
138