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;
|
8104a88d
Alex Savenko
extended classes
|
14
15
|
use PhalconRest\Api\ApiEndpoint;
use PhalconRest\Api\ApiResource;
|
b38ef228
Alex Savenko
generate GaResource
|
16
|
|
8104a88d
Alex Savenko
extended classes
|
17
|
class GaResource extends ApiResource {
|
b38ef228
Alex Savenko
generate GaResource
|
18
19
20
21
22
|
public function initialize() {
$this
->name('Google Analytics')
|
b38ef228
Alex Savenko
generate GaResource
|
23
24
25
26
27
28
29
|
->expectsJsonData()
//->transformer(ModelTransformer::class)
->itemKey('ga')
->collectionKey('ga')
->deny(AclRoles::UNAUTHORIZED)
->handler(GaController::class)
|
8104a88d
Alex Savenko
extended classes
|
30
|
->endpoint(ApiEndpoint::get('', 'getAction')
|
b38ef228
Alex Savenko
generate GaResource
|
31
|
->allow(AclRoles::USER)
|
fbd4cc5f
Alex Savenko
docs example requ...
|
32
|
->description('Returns data from Google Analytics Api. https://developers.google.com/analytics/devguides/reporting/core/dimsmets')
|
e367fb50
Alex Savenko
dynamic dateRange
|
33
|
->exampleResponse([
|
8c1ac2ba
Alex Savenko
ga output
|
34
35
36
37
38
39
40
41
|
"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
|
42
|
])
|
ec2de8a1
Alex Savenko
docs
|
43
|
->paramsDescription([
|
fbd4cc5f
Alex Savenko
docs example requ...
|
44
|
'get params' => [
|
ec2de8a1
Alex Savenko
docs
|
45
46
47
48
49
50
51
52
53
54
|
'required params' => [
'metric' => 'string(метрика Google, линк в описании запроса)',
'dimension' => 'string(размерность Google, линк в описании запроса)',
'start' => 'ГГГГ-ММ-ДД/NdaysAgo, где N – целое положительное число(дата начала загрузки данных)',
'end' => 'ГГГГ-ММ-ДД/NdaysAgo, где N – целое положительное число(дата конца загрузки данных)'
],
'optional params' => [
'user_id' => 'integer(id пользователя в системе)',
'view_id' => 'integer(id представления проэкта с гугл аналитики)',
'chart' => 'boolean(Задает структуру возвращаемых данных(true для графиков))',
|
d34fce51
Alex Savenko
docs example requ...
|
55
|
]
|
9f409bc3
Alex Savenko
ga response
|
56
|
],
|
e6bd80b3
Alex Savenko
ga response
|
57
|
'summary' => 'http://test-30.artweb.com.ua/ga?view_id=119240817&metric=users,sessions&dimension=source,browser'
|
46647ae2
Alex Savenko
docs example requ...
|
58
|
])
|
b38ef228
Alex Savenko
generate GaResource
|
59
60
61
62
63
64
|
)
;
}
}
|