Changes::checkDictionaries()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

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