智能小程序OPENCARD
接入指南

如何通过post接口推送intent

开发者在正常接入opencard后,对于一些intent 更新比较频繁的开发者,可以选择通过此post 接口进行自动化推送intent服务,推送数据总量不得超过4M, 单次推送不超过1000个intent,如果超过,可能会出现错误,导致推送不成功,导入的数据需要与所提供的服务强相关,且真实有效。
每次推送的数据,会有响应的审核时间,审核通过或者不通过,会有站内消息推送

哪些类目适合通过推送接口推送intent?
intent更新比较频繁:例如电影票房,每隔一段时间就会有新的电影出现。
接入的是小程序资源:是用post 推送接口服务,开发者必须是以小程序的资源接入opencard。
若提交的site不符合提交要求,如有审核中的版本,或者site未生效、已下线等状态下不可以提交

注:开发者每次导入的intent数据将覆盖之前所导入的数据,因此每次都需要进行全量的导入。(审核通过后生效)

POST接口接入前需要了解的内容

推送接口 https://openapi.baidu.com/rest/2.0/smartapp/opencard/intent/update

Method:POST

参数

key 类型 是否必选 备注 示例
access_token string true 权限校验TOKEN 获取方法示例
siteid string true 开发者接入opencard在open.baidu.com平台显示的siteid 获取方式
intent_str string true 开发者需要提交的intent 数据内容,用 “;;” 分割的json数据 {“city”: “上海”, “trash”: “金桔b”};;{“city”: “北京”, “trash”: “金桔a”}
commit int false 是否提交:0,1,-1
0: 当前的提交只作为一个batch,不做持久化操作,不产生版本
1: 默认状态,当前batch与之前的batch一并提交,生产新版本
-1: 废弃当前batch的所有提交

关于access_token 以及获取方式

注意:获取access_token所需要的client_secret参数必须是开发者在百度数据平台 提交intent的账户 登录小程序平台获取的client_secret值;

获取方式及详情点击:小程序开发者权限说明

siteid 参数解释

  • 名词解释:siteid 是开发者在open.baidu.com平台提交一次内容的唯一识别id
  • 获取方式:登录百度的数据平台->点击个人中心->选择小程序开放-> 点击已上线资源下 对于的上线资源,详情里 资源ID 属性为siteid

intent_str

  • 正确的示例:{“city”: “上海”, “trash”: “金桔b”};;{“city”: “北京”, “trash”: “金桔a”}
  • 错误的示例:{“city”: “\u4e0a\u6d77”, “trash”: “\u91d1\u6854b”};;{“city”: “\u5317\u4eac”, “trash”: “\u91d1\u6854a”}

commit

  • commit参数为0,就表示当前仅仅是一次提交中的某一批,当intent 比较多的时候,例如总共有10000个intent 需要推送,每次推送1000个,在没有推送完成之前,commit 都应该是用0,推送第10批的时候,也就是最后一次提送1000个intent时,commit 应该为 1 ,同时提交

  • commit参数默认为1,就是当前的操作就默认持久化,并生成新版本

  • commit参数为-1,就表示放弃此次提交,之前的所有批次均作废

  • 另外,为了防止系统资源占用过高,每次提交都会有一个集齐过期时间,默认为半个小时,两次完整提交间隔时间不低于2个小时,

  • 建议对于频繁操作intent,推送频率为一天

返回数据结果

1
2
3
4
5
{
"errno": 0,
"msg": "success",
"data": ""
}

error_no:msg

error_no msg 备注
0 success 表示成功
1 参数校验错误
2 运行时错误 稍后再试
3 无权限 access_token不正确或者用户无权操作此siteid
10 数据资源锁定中 有相同的用户在操作此siteid
反 馈帮 助 回 到顶 部