{b% load base_tags %}

Autenticação

A API usa autenticação por Token. Um Token está associado a um Utilizador autenticado numa Localização, num Terminal e numa Caixa, na sua empresa. Tudo o que for feito usando um Token, terá a autoria atribuída ao utilizador associado e reger-se-á pelas suas permissões na aplicação.
Deverá ser incluído em cada pedido o Header HTTP: Authorization: Token <token>

Pedido com Autenticação:

            
                $ curl https://www.cloudinvoice.net/v3/info/
    -H "Content-Type: application/json"
    -H "Authorization: Token 329c2d5cadd96ccce7b0b0f2653e8d08f61ddd52"
            
        

A criação Tokens pode ser feita de duas maneiras:

  1. BackOffice: Poderá criar Tokens acedendo ao BackOffice, em Empresa Tokens de Acesso à API, onde poderá atribuir o Token a um Utilizador, Localização e Terminal.
  2. Usando a própria API: Pode obter um Token fazendo um pedido ao end-point /login, incluindo as suas credenciais de autenticação, obtendo na resposta o Token que poderá utilizar nos pedidos posteriores.

Importante:
Uma vez que, a grande maioria dos pedidos à API CloudInvoice são autenticados e na falta de indicações em contrário, assuma que o header "Authorization" deverá ser sempre incluído nos pedidos, mesmo que tenha sido omitido nos exemplos.

API - Credenciais:

Apresentamos de seguida alguns end-points de propósito geral existentes na API CloudInvoice.
Tratam-se maioritariamente de end-points relacionados com autenticação e/ou recolha de informações gerais sobre a Empresa ou o Token

  1. Login
  2. Informações do Token

Login /login POST

Gera um Token de Acesso ou fornece um Token válido para as credenciais fornecidas.

Parâmetros
username Utilizador string
Preenchimento Obrigatório*
password Password string
Preenchimento Obrigatório*
                    
                        $ curl -X POST https://www.cloudinvoice.net/v3/login/
    -d '{
        "username": "user@sample.com",
        "password": "pFS2VwMk"
    }'
                    
                  
                    
                        {
    "token": "329c2d5cadd96ccce7b0b0f2653e8d08f61ddd52"
}
                    
                  

Este end-point não requer autenticação.

Informações do Token /info GET

Fornece informações sobre Sessão do Token usado, tais como o utilizador, localização, terminal e caixa que usa, assim como todas as permissões associadas.

                    
                        $ curl https://www.cloudinvoice.net/v3/info/
                    
                  
                    
                        {
    "token": "329c2d5cadd96ccce7b0b0f2653e8d08f61ddd52",
    "id": 1,
    "username": "user@sample.com",
    "first_name": "Sample",
    "full_name": "Sample User",
    "is_active": true,
    "is_staff": false,
    "role": "user",
    "created": "2020-06-18T12:08:10.866599+00:00",
    "company_id": 2,
    "company_code": "demo",
    "company_name": "Empresa & Demo",
    "location_id": 1,
    "location": "Localização 1",
    "terminal_id": 1,
    "terminal": "Terminal 1",
    "till_id": 1,
    "till": "Caixa 1",
    "app_session_id": 5,
    "app_session": "Sessão de  Caixa 1, Data: 2020-06-18",
    "permissions": {
        ...
    }
}