Passed
Push — master ( f86309...3fa716 )
by Mr
01:59 queued 22s
created

Requests::getDocument()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace UON\Endpoint;
4
5
use UON\Client;
6
7
/**
8
 * Class Requests
9
 * @package UON
10
 */
11
class Requests extends Client
12
{
13
    /**
14
     * Create new request
15
     *
16
     * @link    https://api.u-on.ru/{key}/request/create.{_format}
17
     * @param   array $parameters - List of parameters
18
     * @return  array|false
19
     */
20
    public function create(array $parameters)
21
    {
22
        $endpoint = '/request/create';
23
        return $this->doRequest('post', $endpoint, $parameters);
24
    }
25
26
    /**
27
     * Adding touch to the request
28
     *
29
     * @link    https://api.u-on.ru/{key}/request-action/create.{_format}
30
     * @param   array $parameters - List of parameters
31
     * @return  array|false
32
     */
33
    public function createActions(array $parameters)
34
    {
35
        $endpoint = '/request-action/create';
36
        return $this->doRequest('post', $endpoint, $parameters);
37
    }
38
39
    /**
40
     * Add file into request
41
     *
42
     * @link    https://api.u-on.ru/{key}/request-file/create.{_format}
43
     * @param   array $parameters - List of parameters
44
     * @return  array|false
45
     */
46
    public function createFile(array $parameters)
47
    {
48
        $endpoint = '/request-file/create';
49
        return $this->doRequest('post', $endpoint, $parameters);
50
    }
51
52
    /**
53
     * Add tourist in request
54
     *
55
     * @link    https://api.u-on.ru/{key}/tourists-requests/create.{_format}
56
     * @param   array $parameters - List of parameters [r_id, tourist_id]
57
     * @return  array|false
58
     */
59
    public function createTourist(array $parameters)
60
    {
61
        $endpoint = '/tourists-requests/create';
62
        return $this->doRequest('post', $endpoint, $parameters);
63
    }
64
65
    /**
66
     * Get requests data by filter
67
     *
68
     * @link    https://api.u-on.ru/{key}/request/search.{_format}
69
     * @param   array $parameters - List of parameters
70
     * @return  array|false
71
     */
72
    public function search(array $parameters = [])
73
    {
74
        $endpoint = '/request/search';
75
        return $this->doRequest('post', $endpoint, $parameters);
76
    }
77
78
    /**
79
     * Get request by ID
80
     *
81
     * @link    https://api.u-on.ru/{key}/request/{id}.{_format}
82
     * @param   int $id - Request unique ID
83
     * @param   array $parameters - List of parameters
84
     * @return  array|false
85
     */
86
    public function get($id, array $parameters = [])
87
    {
88
        $endpoint = '/request/' . $id;
89
        return $this->doRequest('get', $endpoint, $parameters);
90
    }
91
92
    /**
93
     * Get touch of the request by ID
94
     *
95
     * @link    https://api.u-on.ru/{key}/request-action/create.{_format}
96
     * @param   int $id - List of parameters
97
     * @return  array|false
98
     */
99
    public function getActions($id)
100
    {
101
        $endpoint = '/request-action/' . $id;
102
        return $this->doRequest('get', $endpoint);
103
    }
104
105
    /**
106
     * Get requests data by client ID
107
     *
108
     * @link    https://api.u-on.ru/{key}/request-by-client/create.{_format}
109
     * @param   int $id - List of parameters
110
     * @return  array|false
111
     */
112
    public function getByClient($id)
113
    {
114
        $endpoint = '/request-by-client/' . $id;
115
        return $this->doRequest('get', $endpoint);
116
    }
117
118
    /**
119
     * Get requests by dates range (and by source ID)
120
     *
121
     * @link    https://api.u-on.ru/{key}/request/{date_from}/{date_to}.{_format}
122
     * @link    https://api.u-on.ru/{key}/request/{date_from}/{date_to}/{source_id}.{_format}
123
     * @param   string $date_from
124
     * @param   string $date_to
125
     * @param   int|null $source_id - Source ID, eg ID of SMS or JivoSite
126
     * @return  array|false
127
     */
128
    public function getDate($date_from, $date_to, $source_id = null)
129
    {
130
        $endpoint = '/request/' . $date_from . '/' . $date_to;
131
        if (!empty($source_id)) $endpoint .= '/' . $source_id;
132
        return $this->doRequest('get', $endpoint);
133
    }
134
135
    /**
136
     * Get touch of the requests in dates range
137
     *
138
     * @link    https://api.u-on.ru/{key}/request/{date_from}/{date_to}.{_format}
139
     * @param   string $date_from
140
     * @param   string $date_to
141
     * @return  array|false
142
     */
143
    public function getDateActions($date_from, $date_to)
144
    {
145
        $endpoint = '/request-action/' . $date_from . '/' . $date_to;
146
        return $this->doRequest('get', $endpoint);
147
    }
148
149
    /**
150
     * Get updates requests by dates range
151
     *
152
     * @link    https://api.u-on.ru/{key}/request/updated/{date_from}/{date_to}.{_format}
153
     * @param   string $date_from
154
     * @param   string $date_to
155
     * @return  array|false
156
     */
157
    public function getUpdated($date_from, $date_to)
158
    {
159
        $endpoint = '/request/updated/' . $date_from . '/' . $date_to;
160
        return $this->doRequest('get', $endpoint);
161
    }
162
163
    /**
164
     * Get all travel types or by some parameters, like id or name
165
     *
166
     * @link    https://api.u-on.ru/{key}/travel-type.{_format}
167
     * @param   array $parameters - List of parameters [id, name]
168
     * @return  array|false
169
     */
170
    public function getTravelType(array $parameters = [])
171
    {
172
        $endpoint = '/travel-type';
173
        return $this->doRequest('get', $endpoint, $parameters);
174
    }
175
176
    /**
177
     * Get filled document from request
178
     *
179
     * @link    https://api.u-on.ru/{key}/request-document.{_format}
180
     * @param   array $parameters - List of parameters [template_id, request_id etc.]
181
     * @return  array|false
182
     */
183
    public function getDocument(array $parameters = [])
184
    {
185
        $endpoint = '/request-document';
186
        return $this->doRequest('post', $endpoint, $parameters);
187
    }
188
189
    /**
190
     * Create new travel type
191
     *
192
     * @link    https://api.u-on.ru/{key}/travel-type/create.{_format}
193
     * @param   array $parameters - List of parameters [name]
194
     * @return  array|false
195
     */
196
    public function createTravelType(array $parameters)
197
    {
198
        $endpoint = '/travel-type/create';
199
        return $this->doRequest('post', $endpoint, $parameters);
200
    }
201
202
    /**
203
     * Update request by request id
204
     *
205
     * @link    https://api.u-on.ru/{key}/request/update/{id}.{_format}
206
     * @param   int $id - Unique ID of request's
207
     * @param   array $parameters - List of parameters [r_cl_id]
208
     * @return  array|false
209
     */
210
    public function update($id, array $parameters)
211
    {
212
        $endpoint = '/request/update/' . $id;
213
        return $this->doRequest('post', $endpoint, $parameters);
214
    }
215
216
    /**
217
     * Delete attached file from request
218
     *
219
     * @link    https://api.u-on.ru/{key}/request-file/delete/{id}.{_format}
220
     * @param   int $id - Unique ID of file
221
     * @return  array|false
222
     */
223
    public function deleteFile($id)
224
    {
225
        $endpoint = '/request-file/delete/' . $id;
226
        return $this->doRequest('get', $endpoint);
227
    }
228
229
    /**
230
     * Add tourist in request
231
     *
232
     * @link    https://api.u-on.ru/{key}/tourists-requests/delete.{_format}
233
     * @param   array $parameters - List of parameters [r_id, tourist_id]
234
     * @return  array|false
235
     */
236
    public function deleteTourist(array $parameters)
237
    {
238
        $endpoint = '/tourists-requests/delete';
239
        return $this->doRequest('post', $endpoint, $parameters);
240
    }
241
}
242