Completed
Branch v4.x (712f3d)
by Dmitry
04:56
created

AudienceTargets   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 119
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

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