Dúvida nova API Traccar

806 views
Skip to first unread message

Marlon Saraiva

unread,
Dec 2, 2015, 6:43:11 AM12/2/15
to Traccar Brasil
Boa Noite Amigos, estou tentando utilizar a nova API do traccar 3.2 e estou com problemas no envio de comandos, sempre retorna o erro (Unexpected char 100 at (line no=1, column no=1, offset=0) - JsonParsingException (... < JsonConverter:54 < CommandServlet:38 < *:18 < BaseServlet:53 < ...))

Se alguém puder dar esse help agradeço. 

Estou utilizando o traccar em uma máquina linux e a interface em php com cUrl.

Jannier Magalhães

unread,
Dec 6, 2015, 5:21:42 PM12/6/15
to Traccar Brasil
Amigo! sera que você poderia me ajudar com um outro problema? conseguiu fazer a autenticação através da API?
Abraço.

Ivan Martinez

unread,
Dec 8, 2015, 9:40:47 AM12/8/15
to Traccar Brasil
Basta fazer um GET com os campos email e password para o endereco
/api/login e se receber sucesso de volta salvar o cookie para utilizar nas requisicoes seguintes.

Ivan Martinez

unread,
Dec 8, 2015, 9:40:47 AM12/8/15
to Traccar Brasil
Seu json não deve ser valido

Jannier Magalhães

unread,
Dec 14, 2015, 10:19:12 PM12/14/15
to Traccar Brasil
Conseguir resolver o meu problema. Na verdade o problema ocorre porque no header da requisição você deve enviar também x-www-form-urlencoded, caso contrário o mesmo não vai aceitar.

Agora estou com o mesmo problema do Marlon Saraiva. Conseguiu resolver amigo?
Abraço.

Guilherme Souza

unread,
Dec 15, 2015, 2:44:23 PM12/15/15
to Traccar Brasil
Pessoal, também estou com o mesmo erro.
houve mudanças na autenticação da api.
/api/session
/api/login?
como estao fazendo?

/api/login é feito um post com os dados de email/password, mas em /api/session é um json? alguém conseguiu fazer isso funcionar?

Ivan Martinez

unread,
Dec 15, 2015, 3:14:43 PM12/15/15
to Traccar Brasil
O /api/login pode ser feito com post ou get.
O /api/session devolve o json com os dados do usuario que esta logado.

Guilherme Souza

unread,
Dec 16, 2015, 10:17:33 AM12/16/15
to Traccar Brasil
ivan, então os campos email/password seriam inseridos no formulário para fazer o get em /api/login? 

Guilherme Souza

unread,
Dec 16, 2015, 10:17:33 AM12/16/15
to Traccar Brasil
Ivan, voce pode representar estes passos com o comando curl ? ou de alguma forma? Pois ainda não entendi como fazer.
Imagino que tem que fazer o post, depois como fazer para acessar os recursos?



--
Site da Comunidade Brasileira do Traccar: http://traccar.robertoalmeida.com
Ótima opção de Servidor Cloud: https://www.digitalocean.com/?refcode=986b5752a80f
---
Você recebeu essa mensagem porque está inscrito em um tópico no grupo "Traccar Brasil" dos Grupos do Google.
Para cancelar inscrição nesse tópico, acesse https://groups.google.com/d/topic/traccar-pt-br/RO0do_gE7q0/unsubscribe.
Para cancelar inscrição nesse grupo e todos os seus tópicos, envie um e-mail para traccar-pt-b...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para tracca...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/traccar-pt-br.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/traccar-pt-br/f0b247e1-4819-484c-8f7f-8423cd60cbae%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Ivan Martinez

unread,
Dec 16, 2015, 11:09:52 AM12/16/15
to tracca...@googlegroups.com
basta utilizar direto a URL com os parametros 


ex.


Não precisa de POST, fazendo GET com essa URL funciona perfeitamente na versao 3.2, e testei aqui com o curl voltou sucesso no login.



Guilherme Souza

unread,
Dec 16, 2015, 2:34:52 PM12/16/15
to tracca...@googlegroups.com
Então, fiz o que voce falou e esta retornando uma par de chaves vazio. É normal isso?
e então agora como obter acesso aos recursos? preciso enviar o coockie?? como? qual exemplo vc fez com curl? 


Guilherme Souza

unread,
Dec 16, 2015, 2:35:38 PM12/16/15
to tracca...@googlegroups.com
Outra coisa que queria saber sobre API. É possível usar somente a API ao desativar a WEB? Alias se fizer isso qual mensagem de erro vai aparecer no browser se houver tentativa de acesso nas urls? Tem mensagem padrão? 404, 401, 403, 500? 

Em qua, 16 de dez de 2015 às 17:13, Guilherme Souza <sou...@gmail.com> escreveu:
Bom, a documentação no site ainda não foi atualizada para esse novo recurso.
Queria aproveitar para falar se alguém pode ajudar com isso? Fazer uma documentação detalhada com exemplos. Colocar aqui no forum e depois manter atualizado conforme vai modificando a api no site oficial. O Autor no projeto não esta com tempo para atualizar documentação ainda.

Guilherme Souza

unread,
Dec 16, 2015, 2:35:38 PM12/16/15
to tracca...@googlegroups.com
Bom, a documentação no site ainda não foi atualizada para esse novo recurso.
Queria aproveitar para falar se alguém pode ajudar com isso? Fazer uma documentação detalhada com exemplos. Colocar aqui no forum e depois manter atualizado conforme vai modificando a api no site oficial. O Autor no projeto não esta com tempo para atualizar documentação ainda.

Em qua, 16 de dez de 2015 às 17:02, Guilherme Souza <sou...@gmail.com> escreveu:

Ivan Martinez

unread,
Dec 16, 2015, 8:06:04 PM12/16/15
to Traccar Brasil
Para login OK ele vai retornar algo como :

{"success":true,"data":{"readonly":false,"latitude":0.0,"longitude":0.0,"zoom":0,"admin":false,"email":"telegram","name":"telegram","id":99}}

e quando usuario ou senha estão errados retorna : 
{"success":false}

Testei agora no meu servidor e esta retornando exatamente essas respostas para um usuario que tenho aqui.

Para fazer chamadas posteriores dai voce precisa utilizar as opções do curl para salvar e reutilizar os cookies.
Não utilizo o curl ele para chamar a API, tenho um programa em java que faz isso, mas funcionou perfeito aqui testando pela linha de comando.

Guilherme Souza

unread,
Dec 16, 2015, 9:35:31 PM12/16/15
to Traccar Brasil
quando você faz o comando com o GET curl "http://10.200.1.1:8082/api/login?email=XXXXXXXX&password=senha" retorna para voce algum resultado diferente de duas chaves vazias? "{}" 



Guilherme Souza

unread,
Dec 17, 2015, 6:57:50 AM12/17/15
to Traccar Brasil
Ivan, não sei por que mas funcionou diferente.
Fiz um POST em /api/session e retornou o JSON com os dados do usuário. Peguei na resposta um cookies e quando faço acesso aos outros recursos eu uso este cookie.
Agora interessante que não conseguir fazer com /api/login. Nem o GET ou POST funcionou.

Observando que no meu caso estou com a versão mais atual do branch master.

Outro problema que esta acontecendo agora é que não estou conseguindo mais ver os dados em /api/async. 
Antes era possível ver os dados com este endpoint.


Ivan Martinez

unread,
Dec 17, 2015, 6:57:51 AM12/17/15
to Traccar Brasil
recebo o que enviei antes :

{"success":true,"data":{"readonly":false,"latitude":0.0,"longitude":0.0,"zoom":0,"admin":false,"email":"telegram","name":"telegram","id":99}}
ou
{"success":false}


On Thursday, December 17, 2015 at 12:35:31 AM UTC-2, Guilherme Souza wrote:
quando você faz o comando com o GET curl "http://10.200.1.1:8082/api/login?email=XXXXXXXX&password=senha" retorna para voce algum resultado diferente de duas chaves vazias? "{}" 



Em qua, 16 de dez de 2015 às 23:06, Ivan Martinez <iva...@ifsp.edu.br> escreveu:
Para login OK ele vai retornar algo como :


Ivan Martinez

unread,
Dec 17, 2015, 7:25:19 AM12/17/15
to tracca...@googlegroups.com
Estão sendo feitas varias mudancas na API pelo que vi nos commits.

Versão master não é versão estavel. Não da para utilizar como referencia.

Se não é desenvolvedor nou não tem um motivo especifico não faz sentido trabalhar uma versão não estavel.

Marlon Saraiva

unread,
Dec 17, 2015, 9:52:53 AM12/17/15
to Traccar Brasil
Bom dia amigos, depois de alguns dias quebrando a cabeça consegui fazer funcionar com php e cUrl, eu criei uma classe que vai recebe o tipo de solicitação, iniciar uma conexão com o método login da API e persiste o login com cookie.

segue um exemplo:

curl_setopt($curl, CURLOPT_COOKIEFILE, "cookieTraccar");
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($param));
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST,true);
$response=curl_exec($curl);
$decoded = json_decode($response);
var_dump($decoded);

Lembrando que no cUrl já foi passado o endereço do meu servidor e as credencias do usuário, por fim basta usar ajax passando as credenciais do usuário (email e senha) que você vai ter feito a sua própria classe de interação com o traccar.

Robson C

unread,
Apr 9, 2016, 2:39:20 PM4/9/16
to Traccar Brasil
Prezados boa tarde!

Nos últimos três dias voltei ao Grupo e tenho observado as mensagens, meu intento é entender como utilizar e o que pode me dar a API do Traccar, andei vendo na pagina do fabricante em Documentação mais não encontrei nada, nada digo no sentido de ter exemplos de como utilizar a API, vi um arquivo swagger.json.json mais não entendi.

Instalei o Servidor fazendo uso do banco PostgreSQL sem problemas, com o aplicativo para android consigo rastrear os dispositivos, agora vem a parte que deve ser realmente complicada como saber quem esta perto de um determinado ponto, entre outras informações.

Não sou expert mais conheço Java e javascript, uso muito o post do JQuery, com este método busco informações de minha aplicação em Java rodando no Tomcat, vi aqui o uso de cUrl que acredito ser para a linguagem PHP que eu não trabalho, bem isto é porque surgiu uma demanda para obter os dados do Traccar mais se tem alguma documentação para desenvolvedor eu não encontrei se algum dos colegas puderem me dar uma dica uma indicação ou documentação agradeço.

Robson C

unread,
Apr 9, 2016, 3:47:39 PM4/9/16
to Traccar Brasil
Estou tentando assim

$.post( "http://10.0.10.19:8082/api/login", {email: "meu-email", password: "senha"});

mais sem sucesso só status 404

Robson C

unread,
Apr 18, 2016, 10:26:19 AM4/18/16
to Traccar Brasil
Olá Bom dia.

Alguem teria alguma sugestão de onde eu estou errando ou de como obter uma documentação sobre a API?

Jannier Magalhães

unread,
May 24, 2016, 2:45:49 PM5/24/16
to Traccar Brasil
Robson C,

O que você precisa especificamente?
Abraço.

Yunus Tonse

unread,
May 26, 2016, 3:25:23 PM5/26/16
to Traccar Brasil
Hi Friends,

I am  a newbie and i am trying to get session/cookie set for the user.I am unable to follow.

jQuery.post('http://web/api/session', {email: 'apitest@web', password: '1234'}, function(response) {
        console.log(response);
        //In this response I am getting lat and long equal to zero
});
jQuery.get('http:/web/api/positions', function(response) {
        console.log(response);
        //In this response I am getting 401 (Unauthorized)
}, 'json');

Robson C

unread,
Jun 13, 2016, 2:24:36 PM6/13/16
to Traccar Brasil

Olá Boa tarde Jannier tudo bem?

Então meu caro, já faz um tempo que postei esta questão, na verdade eu nem dei continuidade ao projeto que tinha como proposito extrair informações do banco de dados utilizado pelo Traccar, como disse eu Instalei o Servidor, e meu intento era poder extrair informações do banco, como vi que existe uma API subentendi que poderia fazer uso de suas funções ( posso estar errado ao pensar isto ), acredito que o que seria necessário seria uma documentação da API.

Podem haver outras questões mais a principio o que me veio em mente seria tenho um determinado ponto ( Lat/Lng ) quem estaria perto deste ponto neste momento? digamos que em um raio de 5 km

conhecendo estes dispositivos( Android ) poderia enviar uma mensagem push para eles  

Jannier Magalhães

unread,
Jun 17, 2016, 7:18:00 PM6/17/16
to Traccar Brasil
Robson C,

Teria que conhecer melhor a tua estrutura/serviço pra te passar uma solução melhor, mais de cara já te digo que esse calculo do raio e etc você teria que fazer via banco de dados ou no dispositivo. Uma solução possível seria fazer um serviço que realiza uma consulta no banco de dados, faz o calculo do raio e retorna já mastigado para o android;

Estou levando em consideração que você que utilizando uma APP própria.
Espero ter ajudado.
abraço.

Jannier Magalhães

unread,
Jun 17, 2016, 7:18:01 PM6/17/16
to Traccar Brasil
Pessoal,

Ao postar alguma duvida sobre a utilização da API seria interessante coloca a versão que você esta utilizando pois mudou muito de uma versão pra outra.
Exemplo:
Para logar na versão 3.3 o endereço é: http://IP:PORTA/api/login
Na versão 3.5 é:
http://IP:PORTA/api/session

Acredito que seja por isso que esteja acontecendo tantas divergências.

Abraço.


Em segunda-feira, 13 de junho de 2016 15:24:36 UTC-3, Robson C escreveu:

Robson C

unread,
Jun 20, 2016, 6:03:39 PM6/20/16
to Traccar Brasil
Olá Boa noite!

Jannier meu caro obrigado pela interação, então o que eu comentei foi só um exemplo visto que consultas com a distância tem um bocado na net inclusive eu uso esta no postgreSQL, a questão central é saber que funções existem na API e como usar a API, por exemplo se na API existe uma função para obter a distancia eu tenho uma redundância ou seja estou re-inventando a roda com a função abaixo 

FUNCTION obter_distancia(lat1 double precision, lng1 double precision, lat2 double precision, lng2 double precision)
  RETURNS double precision AS
$BODY$
    SELECT 6371 * acos(
        sin( radians($1) ) * sin( radians( $3 ))
          + cos( radians($1) ) * cos( radians( $3 )) * cos(radians($4) - radians($2))  )
    as distance;
$BODY$
  LANGUAGE sql IMMUTABLE
  COST 100;



Sobre minha estrutura/serviço eu sou desenvolvedor então eu não tenho uma "Estrutura" como muitos aqui, meu trabalho é pegar problemas e dar uma solução.

Jannier Magalhães

unread,
Jun 21, 2016, 8:48:31 PM6/21/16
to Traccar Brasil
Robson,

Se existe eu desconheço, pelo que vi a API dele á bastante simples. O que normalmente faço é uma api propria que em alguns momento interage a API do traccar.

Abraço.
Reply all
Reply to author
Forward
0 new messages