joaodcp / emel-gira-api

Brief description of the GraphQL API used by Lisbon's Bike-Sharing System, GIRA

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logótipo GIRA
GIRA API Documentation

API privada da GIRA, usada pela aplicação.

A API aqui descrita é a utilizada pela aplicação oficial da GIRA, pelo que é necessário iniciar sessão junto do serviço de autenticação da EMEL.
Os tokens expiram a cada 2 minutos e devem ser atualizados com refresh.

Índice de Conteúdos

Clique para expandir

Autenticação

Auth

Autenticação através do sistema de login da EMEL

Os tokens obtidos têm um tempo de vida de 2 minutos.

Pedido

{
    "Provider": "EmailPassword",
    "CredentialsEmailPassword": {
        "Email": "", // substituir pelos seus dados de acesso
        "Password": "" // substituir pelos seus dados de acesso
    }
}

Resposta

{
    "error": {
        "code": 0,
        "message": "Success"
    },
    "data": {
        "accessToken": "", // token JWT a usar nos pedidos para a API GIRA, expira 2 minutos após gerado
        "refreshToken": "", // guardar token para atualizar o token expirado
        "expiration": int // timestamp em ticks (referente ao accessToken)
    } 
}

JWT

Pode descodificar o token JWT "accessToken" e saber mais sobre a norma JWT em JWT.io

Tick

Tick é uma unidade de tempo comumente utilizada em serviços baseados em .NET
1 tick = 10000 ms e a contagem inicia-se em 0001-01-01T00:00:00.0000000 UTC
Saiba mais sobre a unidade em https://learn.microsoft.com/en-us/dotnet/api/system.datetime.ticks
Em https://tickstodatetime.azurewebsites.net é possível a conversão instantânea para um formato human-readable.

Refresh e Revoke

Pode atualizar ou revogar o seu token.

Pedido

{
    "Token": "" //substituir pelo token a gerir
}

Perfil

Pode consultar os seus detalhes.

Pedido

GET https://api-auth.emel.pt/user

Modificar Perfil

Pode alterar os seus detalhes.

Pedido

Deve incluir no corpo um objeto JSON formatado de acordo com a resposta obtida em Perfil

PUT https://api-auth.emel.pt/user

API GIRA

GraphQL

A API GIRA faz uso a linguagem de consulta GraphQL.

Obtenha o schema através de introspeção.

Pedido

Deverá incluir um cabeçalho de autenticação do tipo Bearer, que contenha o valor da chave "accessToken" do JSON obtido em Autenticação:

Authorization: Bearer { accessToken }

About

Brief description of the GraphQL API used by Lisbon's Bike-Sharing System, GIRA

License:GNU Affero General Public License v3.0