README

BCH compliance Codacy Badge Codacy Badge Build Status

Panthéon

API Libertempo

初始化

最简单的安装方式可以概括为进行

git clone git@github.com:libertempo/api.git
cd api
make install
ln -sf `pwd`/Tools/Scripts/post-checkout .git/hooks/post-checkout

Libertempo API 应该作为一个独立的域名安装,也就是说

  • api.libertempo.tld
  • api.libertempo.mon-entreprise.tld

而不是作为现有域名的子目录

  • mon-entreprise.tld/libertempo/api
  • libertempo.mon-entreprise.tld/api

这有利于系统的隔离(因此安全性更高),同时从应用端管理起来也更加简单(更可靠,因此错误更少)。

交换数据使用 JSON 格式,并遵循 HTTP 标准代码。

请求

作为 REST 架构,交换是无状态的,这意味着服务器不存储任何信息以记住客户端,也不做任何假设。这表示客户端必须提供完成操作所需的所有信息,首先通过一个连接,然后是每次请求时传输连接后收到的 token。

需要发送的所有基本头信息是

Content-Type: application/json
Accept: application/json

首次请求

为了验证 API 安装是否成功,我们设置了一个无需认证的路由

GET /hello_world

认证

认证基于 基本访问认证 方法

GET /authentification
Authorization: Basic {base64(login:mot_de_passe)}

如果用户存在并且有权登录,API 将发送一个身份验证 token,其有效期为 30 分钟(每次交换后更新)。

认证后的交换

一旦登录,所有交换都必须包含以下头信息

Token: {token}

带有数据的请求

在包含数据的订单(POST | PUT)中,请求体应类似于

{
    "propriété1": "valeur1",
    "propriétéN": "valeurN"
}

响应

API 的响应遵循 jsend 规范。换句话说

{
    "code": "codeHTTP",
    "status": "typeDeReponse",
    "message": "messageCorrespondantAuCode",
    "data": "donnéesDeRéponse"
}

可用路由

查看 Swagger 获取完整的文档。

版本

API 遵循 semver,这意味着只有当版本号达到 vM.0.0 时,才会删除路由或更改其规范。否则,不会有 兼容性破坏