b38ef228
Alex Savenko
generate GaResource
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?php
/**
* Created by PhpStorm.
* User: Alex Savenko
* Date: 09.02.2017
* Time: 18:02
*/
namespace App\Resources;
use App\Constants\AclRoles;
use App\Controllers\GaController;
|
33813a62
Alex Savenko
функция проверки ...
|
14
|
use PhalconApi\Constants\HttpMethods;
|
8104a88d
Alex Savenko
extended classes
|
15
16
|
use PhalconRest\Api\ApiEndpoint;
use PhalconRest\Api\ApiResource;
|
b38ef228
Alex Savenko
generate GaResource
|
17
|
|
8104a88d
Alex Savenko
extended classes
|
18
|
class GaResource extends ApiResource {
|
b38ef228
Alex Savenko
generate GaResource
|
19
20
21
22
23
|
public function initialize() {
$this
->name('Google Analytics')
|
b38ef228
Alex Savenko
generate GaResource
|
24
|
->expectsJsonData()
|
b38ef228
Alex Savenko
generate GaResource
|
25
26
27
28
29
|
->itemKey('ga')
->collectionKey('ga')
->deny(AclRoles::UNAUTHORIZED)
->handler(GaController::class)
|
33813a62
Alex Savenko
функция проверки ...
|
30
|
->endpoint(ApiEndpoint::factory('', HttpMethods::GET, 'getAction')
|
81164aa6
Alex Savenko
ga docs bug fix
|
31
|
->name('Ga report')
|
33813a62
Alex Savenko
функция проверки ...
|
32
|
->description('Возвращает данные с Google Core Reporting Api. https://developers.google.com/analytics/devguides/reporting/core/dimsmets')
|
81164aa6
Alex Savenko
ga docs bug fix
|
33
|
->allow(AclRoles::AUTHORIZED)
|
e367fb50
Alex Savenko
dynamic dateRange
|
34
|
->exampleResponse([
|
8c1ac2ba
Alex Savenko
ga output
|
35
36
37
38
39
40
41
42
|
"name" => "rukzachok.com.ua",
"(Other)" => "646",
"Direct" => "482",
"Display" => "134",
"Organic Search" => "2278",
"Paid Search" => "2989",
"Referral" => "128",
"Social" => "29"
|
e367fb50
Alex Savenko
dynamic dateRange
|
43
|
])
|
ec2de8a1
Alex Savenko
docs
|
44
|
->paramsDescription([
|
fbd4cc5f
Alex Savenko
docs example requ...
|
45
|
'get params' => [
|
ec2de8a1
Alex Savenko
docs
|
46
|
'required params' => [
|
0c1a07f0
Alex Savenko
add filter param ...
|
47
|
'metric' => 'string(метрика Google, линк в описании запроса)',
|
ec2de8a1
Alex Savenko
docs
|
48
|
'dimension' => 'string(размерность Google, линк в описании запроса)',
|
0c1a07f0
Alex Savenko
add filter param ...
|
49
50
|
'start' => 'ГГГГ-ММ-ДД/NdaysAgo, где N – целое положительное число(дата начала загрузки данных)',
'end' => 'ГГГГ-ММ-ДД/NdaysAgo, где N – целое положительное число(дата конца загрузки данных)'
|
ec2de8a1
Alex Savenko
docs
|
51
52
|
],
'optional params' => [
|
5de5ebae
Alex Savenko
фиксы по гуглу: м...
|
53
54
55
56
57
58
59
|
'user_id' => 'integer(id пользователя в системе)',
'view_id' => 'integer(id представления проэкта с гугл аналитики)',
'chart' => 'boolean(Задает структуру возвращаемых данных(true для графиков))',
'filter' => 'expression(https://developers.google.com/analytics/devguides/reporting/core/v3/reference#filters)',
'sort' => 'string(параметр сортировки, metric либо dimension)',
'sort_type' => 'enum(ans, desc)',
'max_result' => 'integer(максимальное число строк в результате, по умолчанию 50,000)',
|
d34fce51
Alex Savenko
docs example requ...
|
60
|
]
|
5de5ebae
Alex Savenko
фиксы по гуглу: м...
|
61
|
]
|
46647ae2
Alex Savenko
docs example requ...
|
62
|
])
|
b38ef228
Alex Savenko
generate GaResource
|
63
|
)
|
33813a62
Alex Savenko
функция проверки ...
|
64
65
|
->endpoint(ApiEndpoint::factory('/check', HttpMethods::POST, 'checkAction')
|
81164aa6
Alex Savenko
ga docs bug fix
|
66
67
|
->name('Check')
->description('Проверяет наличие доступа к проэкту')
|
33813a62
Alex Savenko
функция проверки ...
|
68
69
|
->allow(AclRoles::AUTHORIZED)
->expectsJsonData()
|
33813a62
Alex Savenko
функция проверки ...
|
70
71
72
73
74
75
76
77
78
79
|
->exampleResponse([
'view_id' => 'integer(id представления проэкта с гугл аналитики)',
'status' => 'enum(success|error)'
])
->paramsDescription([
'required params' => [
'view_id' => 'integer(id представления проэкта с гугл аналитики)'
]
])
)
|
b38ef228
Alex Savenko
generate GaResource
|
80
81
82
83
84
|
;
}
}
|