如何通过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/updateintent
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,-10: 当前的提交只作为一个batch,不做持久化操作,不产生版本1: 默认状态,当前batch与之前的batch一并提交,生产新版本-1: 废弃当前batch的所有提交 |
关于access_token 以及获取方式
获取方式及详情请看:https://smartprogram.baidu.com/docs/develop/serverapi/deleteresource/
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,推送频率为一天
返回数据结果
|
|
error_no:msg
error_no | msg | 备注 |
---|---|---|
0 | success | 表示成功 |
1 | 参数校验错误 | |
2 | 运行时错误 | 稍后再试 |
3 | 无权限 | access_token不正确或者用户无权操作此siteid |
10 | 数据资源锁定中 | 有相同的用户在操作此siteid |