如何通过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_tokenstringtrue权限校验TOKEN获取方法示例
siteidstringtrue开发者接入opencard在open.baidu.com平台显示的siteid获取方式
intent_strstringtrue开发者需要提交的intent 数据内容,用 “;;” 分割的json数据{“city”: “上海”, “trash”: “金桔b”};;{“city”: “北京”, “trash”: “金桔a”}
commitintfalse是否提交: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,推送频率为一天

返回数据结果

  1. 12345
  1. { "errno": 0, "msg": "success", "data": ""}

error_no:msg

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