材料数据与计算 API 使用说明
直接读取公开材料数据和电池数据。计算提交、预测及个人账号操作按接口要求认证。
读取公开数据与分页
使用 GET /polymer/api/public/experiment-polymer-data/?search=polyethylene&page=1&page_size=2 查询聚合物实验记录,无需令牌。先检查 HTTP 状态与 success,再读取 data。记录包含 Name、PSMILES 和 Reference 等字段。保持检索词与页大小不变,在 pagination.has_next 为真时请求下一页。没有匹配项时 data 为空列表。完整代码见 Python 查询示例。
POST /battery_manage_system/api/visual/ 是只读 BMS 接口,用于元数据检索、电池查询、筛选和可视化。此处的 POST 方法用于提交查询参数。
为受保护的接口获取令牌
向 POST /api/token/ 提交包含 username 与 password 的 JSON 对象,读取响应中的 token。受保护接口的请求头使用 Authorization: Token <TOKEN>。
浏览器用户可在登录后从英文 API 页调用 POST /generate_API/ 获取当前账号的令牌。此入口需要登录会话和 CSRF 校验。
提交计算并查询状态
提交接口通常接收 multipart 表单。例如向 POST /autocompute/api/single_point_energy_gaussian/ 发送当前工具下载的 HTQC.xlsx,表单字段为 excel_file,并附带令牌。响应中的 encrypted_id 表示任务已受理。
在 CEMP 公网站点可向 POST /api/check_task_status/ 发送 {"encrypted_id": "<TASK_KEY>"} 查询该任务。请保护这个标识。状态可能为 not_finished、success 或 failed。成功时可读取 download_urls、table_data_url 和 figure_data_url_dict 等可用结果。对于 /media/... 之类的相对链接,使用站点根地址解析。
AutoCompute 接口
下列接口均使用 POST,路径前缀为 /autocompute/api/,提交时需要令牌。
mdcompute/:用 Excel 体系文件提交 GROMACS 分子动力学任务。single_point_energy_gaussian/、single_point_energy_orca/:批量单点能计算。binding_energy_gaussian/、binding_energy_orca/:二聚体或复合物结合能计算。ox_red_gaussian/、ox_red_orca/:氧化还原性质计算。pka_pkb_gaussian/、reaction_thermo_gaussian/、reaction_properties_gaussian/:分别计算酸碱相关性质、反应热力学和全局反应性质。query_smiles_to_name/:用 SMILES 工作簿查询分子名称。
离子液体接口
下列路径以 /ionic_liquid/api/ 开头。
- 公开只读 POST:
similarity_search/按结构相似度查询,property_filter/按性质条件筛选。 - 需令牌的 POST:
ionic_liquid_predict_excel/批量预测,ionic_liquid_predict_SMILES/预测单个 SMILES 对应的性质。 - 公开 GET:
Cation_QC_data、Anion_QC_data、IL_Tm_conductivity_ECW_data、IL_ML_data。可按接口支持的分页、搜索和排序参数读取数据。 - 公开 GET:
ILThermo_Total_data、ILThermo_Mixture_systems、ILThermo_Mixture_observations、ILThermo_Mixture_compositions、ILThermo_Mixture_meta。分别提供汇总、混合体系、观测、组成和筛选元数据。
处理错误和保护凭据
认证错误时检查令牌、请求头及账号权限。输入错误时检查 HTTP 方法、字段名和文件格式。为请求设置超时,并给任务状态轮询留出间隔。保存错误摘要时删除口令、令牌和任务标识。English API guide and request examples