GaResource.php
2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?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;
use PhalconRest\Api\ApiEndpoint;
use PhalconRest\Api\ApiResource;
class GaResource extends ApiResource {
public function initialize() {
$this
->name('Google Analytics')
->expectsJsonData()
//->transformer(ModelTransformer::class)
->itemKey('ga')
->collectionKey('ga')
->deny(AclRoles::UNAUTHORIZED)
->handler(GaController::class)
->endpoint(ApiEndpoint::get('', 'getAction')
->allow(AclRoles::USER)
->description('Returns data from Google Analytics Api. https://developers.google.com/analytics/devguides/reporting/core/dimsmets')
->exampleResponse([
'reports' => [
'columnHeader' => [
'metricHeaderEntries' => [
'name' => 'ga:users',
'type' => 'INTEGER'
]
],
'data' => [
'rows' => [
'metrics' => [
'values' => '777'
],
],
'totals' => [
'values' => '777'
],
'rowCount' => '1',
'minimums' => [
'values' => '777'
],
'maximums' => [
'values' => '777'
],
]
],
])
->exampleRequest([
'get params' => [
'required' => [],
'optional' => [
'view_id' => 'GA VIEW_ID',
'start' => '30daysAgo / 2015-03-01',
'end' => 'today',
'metric' => 'user,sessions',
'dimension' => 'source,browser'
]
],
'summary' => 'http://test-30.artweb.com.ua/ga?view_id=119240817&metric=user,sessions&dimension=source,browser'
])
)
;
}
}