公共样式API接口文档

一、功能说明

该接口文档适用于在自有系统或网页里,调用草料标签样式库中的公共样式,批量生成不同内容的二维码标签。无需导出数据在我们平台再导入数据生码。

file

二、接口调用说明

URL

https: //open-api.cli.im/cli-open-platform-service/v1/labelStyle/create

HTTP请求方式

GET

请求参数

参数名称

是否必须

类型

说明

cliT

string

 公共样式编号,例如B216

cliD

string

二维码动态内容

return_file

string

返回类型,不传时返回二进制图片流,base64-返回base64编码

theme_color

string

主题颜色,例如#000000

cliF

string

根据公共样式需要传入的动态字段,cliF表示普通文本字段,按照字段展示顺序排列,例如公共样式有3个字段,全为文本字段,传入参数为:

cliF1=xx&cliF2=xx&cliF3=xx

cliP

string

根据公共样式需要传入的动态字段,cliP表示图片字段,图片需要公网可访问静态地址,按照字段展示顺序排列,例如公共样式有4个字段,第二个为图片字段,其余为文本字段,传入参数为:

cliF1=xx&cliP2=xx&cliF3=xx&cliF4=xxc

返回参数

当return_file未传时,返回二进制图片

当return_file=base64时,返回base64图片编码,可用于嵌入网页或传输到系统中

请求示例:

https://open-api.cli.im/cli-open-platform-service/v1/labelStyle/create?cliT=B572&cliD=图片样式二维码&cliF1=人员实名信息卡&cliF2=安全生产,人人有责&cliP3=https://ncstatic.clewm.net/rsrc/2023/0612/13/952a04c092275a684025ef0d2ed6bcce.png&cliF4=张栋旭&cliF5=设备操作员&cliF6=工号:MH-0403&cliF7=部门:现场项目部&cliF8=班组:水泥机械班组&return_file=

返回示例

当return_file未传时,返回以下图片二进制流

当return_file=base64时,返回以下图片的base64编码,可用于嵌入网页或传输到系统中

file

错误码

 错误码

 错误码取值

 解决方案

200

成功

成功

400

请求的数据格式不符!

请检查参数正确性

40000

系统繁忙,请稍后再试

系统可能维护升级中,等待后续功能恢复

40001

参数错误

检查传递参数是否按照文档规范

三、调用代码示例

在草料标签样式库中,选择一个标签,直接获取标签样式编号,或者进入样式详情页,点击调用API制作。

标签制作页链接:https://cli.im/label

file

以B572标签为准,可以看到B582模板有标签有8个固定字段,第3个为图片字段,其余为文本字段

所以API动态字段为cliF1到cliF8,中间图片字段为cliP3,以下为示例代码:

package org.cli.platform.service.util;

import org.apache.commons.io.IOUtils;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import org.springframework.web.util.UriUtils;

public class CliApiV1Demo {
    public static void main(String[] args) throws IOException {
        String cliD = UriUtils.encode("图片样式二维码", StandardCharsets.UTF_8.name());
        String cliF1 = UriUtils.encode("人员实名信息卡", StandardCharsets.UTF_8.name());
        String cliF2 = UriUtils.encode("安全生产,人人有责", StandardCharsets.UTF_8.name());
        String cliP3 = UriUtils.encode("https://ncstatic.clewm.net/rsrc/2023/0612/13/952a04c092275a684025ef0d2ed6bcce.png", StandardCharsets.UTF_8.name());
        String cliF4 = UriUtils.encode("张栋旭", StandardCharsets.UTF_8.name());
        String cliF5 = UriUtils.encode("设备操作员", StandardCharsets.UTF_8.name());
        String cliF6 = UriUtils.encode("工号:MH-0403", StandardCharsets.UTF_8.name());
        String cliF7 = UriUtils.encode("部门:现场项目部", StandardCharsets.UTF_8.name());
        String cliF8 = UriUtils.encode("班组:水泥机械班组", StandardCharsets.UTF_8.name());
        URL url = new URL("http://open-api.cli.im/cli-open-platform-service/v1/labelStyle/create?cliT=B572&cliD=" + cliD + "&return_file=&theme_color=&cliF1=" + cliF1 + "&cliF2=" + cliF2 + "&cliP3=" + cliP3 + "&cliF4=" + cliF4 + "&cliF5=" + cliF5 + "&cliF6=" + cliF6 + "&cliF7=" + cliF7 + "&cliF8=" + cliF8);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setDoOutput(true);
        connection.setRequestMethod("GET");
        connection.connect();

        InputStream stream = connection.getInputStream();
        FileOutputStream out = new FileOutputStream(new File("test.png"));
        IOUtils.copy(stream, out);
    }
}

四、调用说明

  1. Beta期间 开通API 的用户可长期免费调用;

  2. API调用根据IP秒级并发30次,如需更高并发次数,可 前往社区反馈

  3. 如果标签API调用流程、速度等方面问题,可以 前往社区反馈 ,草料官方顾问和技术会定期查看并回复

  4. 如需调用你自己账号下设置好的标签样式,可在草料后台,【标签样式】目录下选择我的标签样式,进入标签样式详情页,开通调用。查看私有样式API接口文档