name('Google Analytics') ->expectsJsonData() ->itemKey('ga') ->collectionKey('ga') ->deny(AclRoles::UNAUTHORIZED) ->handler(GaController::class) ->endpoint(ApiEndpoint::factory('', 'GET', 'getAction') ->allow(AclRoles::USER) ->description('Returns data from Google Analytics Api. https://developers.google.com/analytics/devguides/reporting/core/dimsmets') ->exampleResponse([ "name" => "rukzachok.com.ua", "(Other)" => "646", "Direct" => "482", "Display" => "134", "Organic Search" => "2278", "Paid Search" => "2989", "Referral" => "128", "Social" => "29" ]) ->paramsDescription([ 'get params' => [ '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 для графиков))', '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)', ] ] ]) ) ; } }