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:
- 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.
- 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
- Login
- 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/
{
"key": "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": {
...
}
}