# 开放型应用(扫码授权模式)
### 一、阅读前提
1. 本篇介绍开放型应用扫码授权模式下如何获取调用凭证(access_token)。
2. 开放型应用下的调用凭证(access_token)失效时间为`30天`、刷新凭证(refresh_token)失效时间为`35天`。调用凭证(access_token)请在临期前,定时通过刷新凭证(refresh_token)进行刷新。若刷新凭证(refresh_token)已失效,只能重新进行授权行为获取相关凭证。
3. 开放型应用每台打印机设备的终端号(machine_code)每日获取次数为20次,避免超出范围、受限。建议数据存储或者缓存。
4. 开放型应用的调用凭证(access_token)只与它绑定的打印机设备(machine_code)有效(access_token与machine_code绑定)。
5. 重新获取access_token后,旧的access_token将在两小时内失效。因此,请确保及时替换为最新获取的access_token。
6. 关于接口域名、签名等信息,请详读[调用协议](调用协议.md)
### 二、授权接口
#### 接口信息
|协议|方式|地址
|-|-|-|
|https|POST|/oauth/scancodemodel
#### 请求参数
|名称|类型|必填|描述
|-|-|-|-|-|
|client_id|string|是|应用id
|sign|string|是|签名
|scope|string|是|权限范围,默认值`all`
|timestamp|int|是|时间戳(秒)
|id|string|是|请求唯一标识码
|machine_code|string|是|终端号
|msign|int / string|否|终端密钥 终端秘钥和终端临时秘钥二选一必填
|qr_key|string|否|终端临时密钥 终端秘钥和终端临时秘钥二选一必填
#### 响应参数
|名称|类型|描述
|-|-|-|-|
|error|int|成功0,其他为异常
|error_description|string|提示信息
|timestamp|int|时间戳(秒)
|body|json|数据
#### body 字段示例
```json
{
"client_id": "10******24",
"access_token": "0a***************a4",
"refresh_token": "76***************85",
"machine_code": "400*******",
"expires_in": 2592000,
"refresh_expires_in": 3024000,
"scope": "all"
}
```
#### body 字段说明
|名称|类型|空|描述
|-|-|-|-|
|client_id|string|否|应用id
|access_token|string|否|授权凭证
|refresh_token|string|否|刷新凭证
|machine_code|string|否|终端号
|expires_in|string|否|调用凭证有效时间(秒)
|refresh_expires_in|string|否|刷新凭证有效时间(秒)
|scope|string|否|权限范围
### 三、刷新授权接口
1. 请看[开放型应用(OAuth2.0授权码模式)](开放型应用.md)中的刷新授权接口说明。
- 使用前准备【必看】
- 开发者服务指引【必看】
- 接口更新动态
- 2024年5月
- 2024年1月
- 2023年11月
- 2023年10月
- 2023年9月
- 2023年6月
- 开发文档【必看】
- 调用协议【必看】
- 授权文档【必接】
- 自有型应用
- 开放型应用(OAuth2.0授权码模式)
- 开放型应用(扫码授权模式)
- SDK使用说明
- API文档【按需对接】
- 设备文档
- 设备绑定
- 设备解绑或取消授权
- 状态获取
- 离线或重启控制
- 打印控制
- logo控制
- 音效音量控制
- 内置语音控制
- 打印宽度获取
- 型号版本获取
- 接单拒单控制
- 打印文档
- 文本打印
- 图片打印
- 面单文档
- 面单生成并打印
- 面单取消
- 打印队列文档
- 订单状态获取(单订单)
- 订单列表获取
- 订单取消打印(单订单)
- 订单取消打印(全量)
- 订单重打(单订单)
- 应用设置文档
- 推送地址设置
- K8支付设置文档
- 推送开关设置
- 关键词设置
- 高级设置
- 打印消息推送
- 打印消息推送说明
- 打印完成推送
- 终端状态推送
- 接单拒单推送
- K8扫码信息推送
- 扫码相关功能流程图
- 产品介绍
- 授权说明
- 消息推送
- http/https推送方式
- 签名验证规则
- 解密规则
- 指令说明
- 验签解密示例
- 打印指令文档
- 指令文档说明
- 文本打印指令集
- 语音指令文档
- 多语言指令文档
- 扫码功能指令
- 常见问题
- 错误码说明
- FAQ