Relatório com api toggl

Posted on Posted in Back-end, Dicas, Php

Usando a api do toggl para emitir relaórios

Toggl é um aplicativo para controle de horas dos seus projetos, ele está disponível em varias plataformas. Você pode conferir isso no próprio site deles, Aqui. Depois de criar sua conta, você deve acessar a sua profile e no final da pagina terá o token que o proprio sitema já disponibiliza.Vamos montar o script

$token = "SUA TOKEN AQUI";
$workspace = "ID DA SUA WORKSPACE";
$user = "SEU USUARIO";
$dt = date('Y-m-d');

//Depois de recolher todas as informações necessarias vamos montar a url
//Neste exemplo estamos tirando um relátorio apenas da data atual, caso queira pode tirar de um periodo maior.
$url = "https://toggl.com/reports/api/v2/summary?workspace_id=$workspace&since=$dt&until=$dt&user_agent=$user";

//Execução do curl
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPGET, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_USERPWD, $token.':api_token');
$data = curl_exec($curl);
curl_close($curl);

Nosso retorno será algo parecido com isso.

array(4) {
	["total_grand"]=> int(4926000)
	["total_billable"]=> NULL
	["total_currencies"]=> array(1) {
		[0]=> array(2) {
			["currency"]=> NULL
			["amount"]=> NULL
		}
	}
	["data"]=> array(1) {
		[0]=> array(5) {
			["id"]=> int(12951982)
			["title"]=> array(4) {
				["project"]=> string(11) "Nome do projeto"
				["client"]=> string(9) "Nome do Cliente"
				["color"]=> string(1) "7"
				["hex_color"]=> string(7) "#268bb5"
			}
			["time"]=> int(4926000)
			["total_currencies"]=> array(1) {
				[0]=> array(2) {
					["currency"]=> NULL
					["amount"]=> NULL
				}
			}
			["items"]=> array(1) {
				[0]=> array(5) {
					["title"]=> array(1) {
						["time_entry"]=> string(25) "Nome da tarefa toggl"
					}
					["time"]=> int(4926000)
					["cur"]=> NULL
					["sum"]=> NULL
					["rate"]=> NULL
				}
			}
		}
	}
}

Agora ficou fáçil integrar o toggl com seu sistema. Para pegar o retorno é só usar desta forma.

$myObject = json_decode($returnedData, true);
var_dump($myObject);

Digamos que você queira pegar o tempo total dos seus projetos, é só fazer isso:

echo $myObject["total_grand"];

Por hoje é isso, em breve volto com artigos legais, até mais.