Visão Geral
A API Curtos.pt permite chamar métodos pelo protocolo HTTP e envia a respostas no estilo REST JSON.
Autenticação
Para autenticação é necessário enviar a chave da API no Header Authorization de cada pedido. A chave da API pode ser configurada na tua conta depois de te registares.
A autenticação é necessária em todos os pedidos.
Encoding
Usa a codificação UTF-8 em todos os pedidos à API.
Versão
1.0.0 (Draft)
Data criação: 2020/05/03
Última atualização: 2021/06/28
Root URL: https://curtos.pt/
Testar
A melhor maneira de testar o serviço é criar uma conta. Dessa forma, podes testar todas as funcionalidades e obter controle total dos dados.
Códigos de Resposta
Os códigos de resposta são baseados no formato HTTP.
Code Message
200 OK
201 Created
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
405 Method Not Allowed
500 Internal Server Error
501 Not Implemented
Endpoints
Criar Link
Criar um link curto para o determinado target longo.
Pedido
POSTEndpoint: /api/v1/create
Host: https://curtos.pt
Payload
JSON{
"target": "https://curtos.pt",
"expires_after": 60 //Opcional
}
Resposta
JSON{
"name": "Created",
"message": "Short link created with success",
"code": 201,
"status": "OK",
"data": {
"code": "183adb",
"target": "https://curtos.pt/",
"short": "https://www.curtos.pt/183adb",
"expires_after": "2020-07-02 23:53:46"
}
}
Apagar Link
Apagar um link curto com determinado código.
Pedido
DELETEEndpoint: /api/v1/delete
Host: https://curtos.pt
Payload
JSON{
"code": "183adb"
}
Resposta
JSON{
"name": "OK",
"message": "Short link deleted with success",
"code": 200,
"status": "OK",
"data": []
}
Estatísticas
Obter estatísticas de um link curto com determinado código.
Pedido
GETEndpoint: /api/v1/stats?code={code}
Host: https://curtos.pt
Resposta
JSON{
"name": "OK",
"message": "Data retrieved with success",
"code": 200,
"status": "OK",
"data": {
"code": "183adb",
"target": "https://curtos.pt",
"short": "https://curtos.pt/183adb",
"expires_after": "2021-02-21 23:05:12",
"visits": 37,
"byBrowser": {
"Chrome": 12,
"Firefox": 6,
"Safari": 6,
"Opera": 6,
"Internet Explorer": 5,
"Edge": 5,
"Boots": 0
},
"byCountry": {
"ES": {
"name": "España",
"count": 2
},
"FR": {
"name": "France",
"count": 1
},
"IT": {
"name": "Italia",
"count": 2
},
"PT": {
"name": "Portugal",
"count": 17
},
"US": {
"name": "United States",
"count": 1
}
}
}
}
Changelog
2021/06/28
- Passa a permitir apenas utilizadores registados
2021/01/21
- Barrar endereços não seguros (sem https)
2020/11/22
- Adicionar endpoint para estatisticas
2020/05/04
- Atualização da documentação
2020/05/03
- Lançamento