AipImageSearch.php 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724
  1. <?php
  2. /*
  3. * Copyright (c) 2017 Baidu.com, Inc. All Rights Reserved
  4. *
  5. * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  6. * use this file except in compliance with the License. You may obtain a copy of
  7. * the License at
  8. *
  9. * Http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  13. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  14. * License for the specific language governing permissions and limitations under
  15. * the License.
  16. */
  17. require_once 'lib/AipBase.php';
  18. class AipImageSearch extends AipBase {
  19. /**
  20. * 相同图检索—入库 same_hq_add api url
  21. * @var string
  22. */
  23. private $sameHqAddUrl = 'https://aip.baidubce.com/rest/2.0/realtime_search/same_hq/add';
  24. /**
  25. * 相同图检索—检索 same_hq_search api url
  26. * @var string
  27. */
  28. private $sameHqSearchUrl = 'https://aip.baidubce.com/rest/2.0/realtime_search/same_hq/search';
  29. /**
  30. * 相同图检索—更新 same_hq_update api url
  31. * @var string
  32. */
  33. private $sameHqUpdateUrl = 'https://aip.baidubce.com/rest/2.0/realtime_search/same_hq/update';
  34. /**
  35. * 相同图检索—删除 same_hq_delete api url
  36. * @var string
  37. */
  38. private $sameHqDeleteUrl = 'https://aip.baidubce.com/rest/2.0/realtime_search/same_hq/delete';
  39. /**
  40. * 相似图检索—入库 similar_add api url
  41. * @var string
  42. */
  43. private $similarAddUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/similar/add';
  44. /**
  45. * 相似图检索—检索 similar_search api url
  46. * @var string
  47. */
  48. private $similarSearchUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/similar/search';
  49. /**
  50. * 相似图检索—更新 similar_update api url
  51. * @var string
  52. */
  53. private $similarUpdateUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/similar/update';
  54. /**
  55. * 相似图检索—删除 similar_delete api url
  56. * @var string
  57. */
  58. private $similarDeleteUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/similar/delete';
  59. /**
  60. * 商品检索—入库 product_add api url
  61. * @var string
  62. */
  63. private $productAddUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/product/add';
  64. /**
  65. * 商品检索—检索 product_search api url
  66. * @var string
  67. */
  68. private $productSearchUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/product/search';
  69. /**
  70. * 商品检索—更新 product_update api url
  71. * @var string
  72. */
  73. private $productUpdateUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/product/update';
  74. /**
  75. * 商品检索—删除 product_delete api url
  76. * @var string
  77. */
  78. private $productDeleteUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/realtime_search/product/delete';
  79. /**
  80. * 相同图检索—入库接口
  81. *
  82. * @param string $image - 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
  83. * @param array $options - 可选参数对象,key: value都为string类型
  84. * @description options列表:
  85. * brief 检索时原样带回,最长256B。
  86. * tags 1 - 65535范围内的整数,tag间以逗号分隔,最多2个tag。样例:"100,11" ;检索时可圈定分类维度进行检索
  87. * @return array
  88. */
  89. public function sameHqAdd($image, $options=array()){
  90. $data = array();
  91. $data['image'] = base64_encode($image);
  92. $data = array_merge($data, $options);
  93. return $this->request($this->sameHqAddUrl, $data);
  94. }
  95. /**
  96. * 相同图检索—入库接口
  97. *
  98. * @param string $url - 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效
  99. * @param array $options - 可选参数对象,key: value都为string类型
  100. * @description options列表:
  101. * brief 检索时原样带回,最长256B。
  102. * tags 1 - 65535范围内的整数,tag间以逗号分隔,最多2个tag。样例:"100,11" ;检索时可圈定分类维度进行检索
  103. * @return array
  104. */
  105. public function sameHqAddUrl($url, $options=array()){
  106. $data = array();
  107. $data['url'] = $url;
  108. $data = array_merge($data, $options);
  109. return $this->request($this->sameHqAddUrl, $data);
  110. }
  111. /**
  112. * 相同图检索—检索接口
  113. *
  114. * @param string $image - 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
  115. * @param array $options - 可选参数对象,key: value都为string类型
  116. * @description options列表:
  117. * tags 1 - 65535范围内的整数,tag间以逗号分隔,最多2个tag。样例:"100,11" ;检索时可圈定分类维度进行检索
  118. * tag_logic 检索时tag之间的逻辑, 0:逻辑and,1:逻辑or
  119. * pn 分页功能,起始位置,例:0。未指定分页时,默认返回前300个结果;接口返回数量最大限制1000条,例如:起始位置为900,截取条数500条,接口也只返回第900 - 1000条的结果,共计100条
  120. * rn 分页功能,截取条数,例:250
  121. * @return array
  122. */
  123. public function sameHqSearch($image, $options=array()){
  124. $data = array();
  125. $data['image'] = base64_encode($image);
  126. $data = array_merge($data, $options);
  127. return $this->request($this->sameHqSearchUrl, $data);
  128. }
  129. /**
  130. * 相同图检索—检索接口
  131. *
  132. * @param string $url - 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效
  133. * @param array $options - 可选参数对象,key: value都为string类型
  134. * @description options列表:
  135. * tags 1 - 65535范围内的整数,tag间以逗号分隔,最多2个tag。样例:"100,11" ;检索时可圈定分类维度进行检索
  136. * tag_logic 检索时tag之间的逻辑, 0:逻辑and,1:逻辑or
  137. * pn 分页功能,起始位置,例:0。未指定分页时,默认返回前300个结果;接口返回数量最大限制1000条,例如:起始位置为900,截取条数500条,接口也只返回第900 - 1000条的结果,共计100条
  138. * rn 分页功能,截取条数,例:250
  139. * @return array
  140. */
  141. public function sameHqSearchUrl($url, $options=array()){
  142. $data = array();
  143. $data['url'] = $url;
  144. $data = array_merge($data, $options);
  145. return $this->request($this->sameHqSearchUrl, $data);
  146. }
  147. /**
  148. * 相同图检索—更新接口
  149. *
  150. * @param string $image - 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
  151. * @param array $options - 可选参数对象,key: value都为string类型
  152. * @description options列表:
  153. * brief 更新的摘要信息,最长256B。样例:{"name":"周杰伦", "id":"666"}
  154. * tags 1 - 65535范围内的整数,tag间以逗号分隔,最多2个tag。样例:"100,11" ;检索时可圈定分类维度进行检索
  155. * @return array
  156. */
  157. public function sameHqUpdate($image, $options=array()){
  158. $data = array();
  159. $data['image'] = base64_encode($image);
  160. $data = array_merge($data, $options);
  161. return $this->request($this->sameHqUpdateUrl, $data);
  162. }
  163. /**
  164. * 相同图检索—更新接口
  165. *
  166. * @param string $url - 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效
  167. * @param array $options - 可选参数对象,key: value都为string类型
  168. * @description options列表:
  169. * brief 更新的摘要信息,最长256B。样例:{"name":"周杰伦", "id":"666"}
  170. * tags 1 - 65535范围内的整数,tag间以逗号分隔,最多2个tag。样例:"100,11" ;检索时可圈定分类维度进行检索
  171. * @return array
  172. */
  173. public function sameHqUpdateUrl($url, $options=array()){
  174. $data = array();
  175. $data['url'] = $url;
  176. $data = array_merge($data, $options);
  177. return $this->request($this->sameHqUpdateUrl, $data);
  178. }
  179. /**
  180. * 相同图检索—更新接口
  181. *
  182. * @param string $contSign - 图片签名
  183. * @param array $options - 可选参数对象,key: value都为string类型
  184. * @description options列表:
  185. * brief 更新的摘要信息,最长256B。样例:{"name":"周杰伦", "id":"666"}
  186. * tags 1 - 65535范围内的整数,tag间以逗号分隔,最多2个tag。样例:"100,11" ;检索时可圈定分类维度进行检索
  187. * @return array
  188. */
  189. public function sameHqUpdateContSign($contSign, $options=array()){
  190. $data = array();
  191. $data['cont_sign'] = $contSign;
  192. $data = array_merge($data, $options);
  193. return $this->request($this->sameHqUpdateUrl, $data);
  194. }
  195. /**
  196. * 相同图检索—删除接口
  197. *
  198. * @param string $image - 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
  199. * @param array $options - 可选参数对象,key: value都为string类型
  200. * @description options列表:
  201. * @return array
  202. */
  203. public function sameHqDeleteByImage($image, $options=array()){
  204. $data = array();
  205. $data['image'] = base64_encode($image);
  206. $data = array_merge($data, $options);
  207. return $this->request($this->sameHqDeleteUrl, $data);
  208. }
  209. /**
  210. * 相同图检索—删除接口
  211. *
  212. * @param string $url - 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效
  213. * @param array $options - 可选参数对象,key: value都为string类型
  214. * @description options列表:
  215. * @return array
  216. */
  217. public function sameHqDeleteByUrl($url, $options=array()){
  218. $data = array();
  219. $data['url'] = $url;
  220. $data = array_merge($data, $options);
  221. return $this->request($this->sameHqDeleteUrl, $data);
  222. }
  223. /**
  224. * 相同图检索—删除接口
  225. *
  226. * @param string $contSign - 图片签名
  227. * @param array $options - 可选参数对象,key: value都为string类型
  228. * @description options列表:
  229. * @return array
  230. */
  231. public function sameHqDeleteBySign($contSign, $options=array()){
  232. $data = array();
  233. $data['cont_sign'] = $contSign;
  234. $data = array_merge($data, $options);
  235. return $this->request($this->sameHqDeleteUrl, $data);
  236. }
  237. /**
  238. * 相似图检索—入库接口
  239. *
  240. * @param string $image - 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
  241. * @param array $options - 可选参数对象,key: value都为string类型
  242. * @description options列表:
  243. * brief 检索时原样带回,最长256B。
  244. * tags 1 - 65535范围内的整数,tag间以逗号分隔,最多2个tag。样例:"100,11" ;检索时可圈定分类维度进行检索
  245. * @return array
  246. */
  247. public function similarAdd($image, $options=array()){
  248. $data = array();
  249. $data['image'] = base64_encode($image);
  250. $data = array_merge($data, $options);
  251. return $this->request($this->similarAddUrl, $data);
  252. }
  253. /**
  254. * 相似图检索—入库接口
  255. *
  256. * @param string $url - 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效
  257. * @param array $options - 可选参数对象,key: value都为string类型
  258. * @description options列表:
  259. * brief 检索时原样带回,最长256B。
  260. * tags 1 - 65535范围内的整数,tag间以逗号分隔,最多2个tag。样例:"100,11" ;检索时可圈定分类维度进行检索
  261. * @return array
  262. */
  263. public function similarAddUrl($url, $options=array()){
  264. $data = array();
  265. $data['url'] = $url;
  266. $data = array_merge($data, $options);
  267. return $this->request($this->similarAddUrl, $data);
  268. }
  269. /**
  270. * 相似图检索—检索接口
  271. *
  272. * @param string $image - 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
  273. * @param array $options - 可选参数对象,key: value都为string类型
  274. * @description options列表:
  275. * tags 1 - 65535范围内的整数,tag间以逗号分隔,最多2个tag。样例:"100,11" ;检索时可圈定分类维度进行检索
  276. * tag_logic 检索时tag之间的逻辑, 0:逻辑and,1:逻辑or
  277. * pn 分页功能,起始位置,例:0。未指定分页时,默认返回前300个结果;接口返回数量最大限制1000条,例如:起始位置为900,截取条数500条,接口也只返回第900 - 1000条的结果,共计100条
  278. * rn 分页功能,截取条数,例:250
  279. * @return array
  280. */
  281. public function similarSearch($image, $options=array()){
  282. $data = array();
  283. $data['image'] = base64_encode($image);
  284. $data = array_merge($data, $options);
  285. return $this->request($this->similarSearchUrl, $data);
  286. }
  287. /**
  288. * 相似图检索—检索接口
  289. *
  290. * @param string $url - 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效
  291. * @param array $options - 可选参数对象,key: value都为string类型
  292. * @description options列表:
  293. * tags 1 - 65535范围内的整数,tag间以逗号分隔,最多2个tag。样例:"100,11" ;检索时可圈定分类维度进行检索
  294. * tag_logic 检索时tag之间的逻辑, 0:逻辑and,1:逻辑or
  295. * pn 分页功能,起始位置,例:0。未指定分页时,默认返回前300个结果;接口返回数量最大限制1000条,例如:起始位置为900,截取条数500条,接口也只返回第900 - 1000条的结果,共计100条
  296. * rn 分页功能,截取条数,例:250
  297. * @return array
  298. */
  299. public function similarSearchUrl($url, $options=array()){
  300. $data = array();
  301. $data['url'] = $url;
  302. $data = array_merge($data, $options);
  303. return $this->request($this->similarSearchUrl, $data);
  304. }
  305. /**
  306. * 相似图检索—更新接口
  307. *
  308. * @param string $image - 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
  309. * @param array $options - 可选参数对象,key: value都为string类型
  310. * @description options列表:
  311. * brief 更新的摘要信息,最长256B。样例:{"name":"周杰伦", "id":"666"}
  312. * tags 1 - 65535范围内的整数,tag间以逗号分隔,最多2个tag。样例:"100,11" ;检索时可圈定分类维度进行检索
  313. * @return array
  314. */
  315. public function similarUpdate($image, $options=array()){
  316. $data = array();
  317. $data['image'] = base64_encode($image);
  318. $data = array_merge($data, $options);
  319. return $this->request($this->similarUpdateUrl, $data);
  320. }
  321. /**
  322. * 相似图检索—更新接口
  323. *
  324. * @param string $url - 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效
  325. * @param array $options - 可选参数对象,key: value都为string类型
  326. * @description options列表:
  327. * brief 更新的摘要信息,最长256B。样例:{"name":"周杰伦", "id":"666"}
  328. * tags 1 - 65535范围内的整数,tag间以逗号分隔,最多2个tag。样例:"100,11" ;检索时可圈定分类维度进行检索
  329. * @return array
  330. */
  331. public function similarUpdateUrl($url, $options=array()){
  332. $data = array();
  333. $data['url'] = $url;
  334. $data = array_merge($data, $options);
  335. return $this->request($this->similarUpdateUrl, $data);
  336. }
  337. /**
  338. * 相似图检索—更新接口
  339. *
  340. * @param string $contSign - 图片签名
  341. * @param array $options - 可选参数对象,key: value都为string类型
  342. * @description options列表:
  343. * brief 更新的摘要信息,最长256B。样例:{"name":"周杰伦", "id":"666"}
  344. * tags 1 - 65535范围内的整数,tag间以逗号分隔,最多2个tag。样例:"100,11" ;检索时可圈定分类维度进行检索
  345. * @return array
  346. */
  347. public function similarUpdateContSign($contSign, $options=array()){
  348. $data = array();
  349. $data['cont_sign'] = $contSign;
  350. $data = array_merge($data, $options);
  351. return $this->request($this->similarUpdateUrl, $data);
  352. }
  353. /**
  354. * 相似图检索—删除接口
  355. *
  356. * @param string $image - 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
  357. * @param array $options - 可选参数对象,key: value都为string类型
  358. * @description options列表:
  359. * @return array
  360. */
  361. public function similarDeleteByImage($image, $options=array()){
  362. $data = array();
  363. $data['image'] = base64_encode($image);
  364. $data = array_merge($data, $options);
  365. return $this->request($this->similarDeleteUrl, $data);
  366. }
  367. /**
  368. * 相似图检索—删除接口
  369. *
  370. * @param string $url - 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效
  371. * @param array $options - 可选参数对象,key: value都为string类型
  372. * @description options列表:
  373. * @return array
  374. */
  375. public function similarDeleteByUrl($url, $options=array()){
  376. $data = array();
  377. $data['url'] = $url;
  378. $data = array_merge($data, $options);
  379. return $this->request($this->similarDeleteUrl, $data);
  380. }
  381. /**
  382. * 相似图检索—删除接口
  383. *
  384. * @param string $contSign - 图片签名
  385. * @param array $options - 可选参数对象,key: value都为string类型
  386. * @description options列表:
  387. * @return array
  388. */
  389. public function similarDeleteBySign($contSign, $options=array()){
  390. $data = array();
  391. $data['cont_sign'] = $contSign;
  392. $data = array_merge($data, $options);
  393. return $this->request($this->similarDeleteUrl, $data);
  394. }
  395. /**
  396. * 商品检索—入库接口
  397. *
  398. * @param string $image - 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
  399. * @param array $options - 可选参数对象,key: value都为string类型
  400. * @description options列表:
  401. * brief 检索时原样带回,最长256B。**请注意,检索接口不返回原图,仅反馈当前填写的brief信息,所以调用该入库接口时,brief信息请尽量填写可关联至本地图库的图片id或者图片url、图片名称等信息**
  402. * class_id1 商品分类维度1,支持1-60范围内的整数。检索时可圈定该分类维度进行检索
  403. * class_id2 商品分类维度1,支持1-60范围内的整数。检索时可圈定该分类维度进行检索
  404. * @return array
  405. */
  406. public function productAdd($image, $options=array()){
  407. $data = array();
  408. $data['image'] = base64_encode($image);
  409. $data = array_merge($data, $options);
  410. return $this->request($this->productAddUrl, $data);
  411. }
  412. /**
  413. * 商品检索—入库接口
  414. *
  415. * @param string $url - 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效
  416. * @param array $options - 可选参数对象,key: value都为string类型
  417. * @description options列表:
  418. * brief 检索时原样带回,最长256B。**请注意,检索接口不返回原图,仅反馈当前填写的brief信息,所以调用该入库接口时,brief信息请尽量填写可关联至本地图库的图片id或者图片url、图片名称等信息**
  419. * class_id1 商品分类维度1,支持1-60范围内的整数。检索时可圈定该分类维度进行检索
  420. * class_id2 商品分类维度1,支持1-60范围内的整数。检索时可圈定该分类维度进行检索
  421. * @return array
  422. */
  423. public function productAddUrl($url, $options=array()){
  424. $data = array();
  425. $data['url'] = $url;
  426. $data = array_merge($data, $options);
  427. return $this->request($this->productAddUrl, $data);
  428. }
  429. /**
  430. * 商品检索—检索接口
  431. *
  432. * @param string $image - 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
  433. * @param array $options - 可选参数对象,key: value都为string类型
  434. * @description options列表:
  435. * class_id1 商品分类维度1,支持1-60范围内的整数。检索时可圈定该分类维度进行检索
  436. * class_id2 商品分类维度1,支持1-60范围内的整数。检索时可圈定该分类维度进行检索
  437. * pn 分页功能,起始位置,例:0。未指定分页时,默认返回前300个结果;接口返回数量最大限制1000条,例如:起始位置为900,截取条数500条,接口也只返回第900 - 1000条的结果,共计100条
  438. * rn 分页功能,截取条数,例:250
  439. * @return array
  440. */
  441. public function productSearch($image, $options=array()){
  442. $data = array();
  443. $data['image'] = base64_encode($image);
  444. $data = array_merge($data, $options);
  445. return $this->request($this->productSearchUrl, $data);
  446. }
  447. /**
  448. * 商品检索—检索接口
  449. *
  450. * @param string $url - 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效
  451. * @param array $options - 可选参数对象,key: value都为string类型
  452. * @description options列表:
  453. * class_id1 商品分类维度1,支持1-60范围内的整数。检索时可圈定该分类维度进行检索
  454. * class_id2 商品分类维度1,支持1-60范围内的整数。检索时可圈定该分类维度进行检索
  455. * pn 分页功能,起始位置,例:0。未指定分页时,默认返回前300个结果;接口返回数量最大限制1000条,例如:起始位置为900,截取条数500条,接口也只返回第900 - 1000条的结果,共计100条
  456. * rn 分页功能,截取条数,例:250
  457. * @return array
  458. */
  459. public function productSearchUrl($url, $options=array()){
  460. $data = array();
  461. $data['url'] = $url;
  462. $data = array_merge($data, $options);
  463. return $this->request($this->productSearchUrl, $data);
  464. }
  465. /**
  466. * 商品检索—更新接口
  467. *
  468. * @param string $image - 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
  469. * @param array $options - 可选参数对象,key: value都为string类型
  470. * @description options列表:
  471. * brief 更新的摘要信息,最长256B。样例:{"name":"周杰伦", "id":"666"}
  472. * class_id1 更新的商品分类1,支持1-60范围内的整数。
  473. * class_id2 更新的商品分类2,支持1-60范围内的整数。
  474. * @return array
  475. */
  476. public function productUpdate($image, $options=array()){
  477. $data = array();
  478. $data['image'] = base64_encode($image);
  479. $data = array_merge($data, $options);
  480. return $this->request($this->productUpdateUrl, $data);
  481. }
  482. /**
  483. * 商品检索—更新接口
  484. *
  485. * @param string $url - 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效
  486. * @param array $options - 可选参数对象,key: value都为string类型
  487. * @description options列表:
  488. * brief 更新的摘要信息,最长256B。样例:{"name":"周杰伦", "id":"666"}
  489. * class_id1 更新的商品分类1,支持1-60范围内的整数。
  490. * class_id2 更新的商品分类2,支持1-60范围内的整数。
  491. * @return array
  492. */
  493. public function productUpdateUrl($url, $options=array()){
  494. $data = array();
  495. $data['url'] = $url;
  496. $data = array_merge($data, $options);
  497. return $this->request($this->productUpdateUrl, $data);
  498. }
  499. /**
  500. * 商品检索—更新接口
  501. *
  502. * @param string $contSign - 图片签名
  503. * @param array $options - 可选参数对象,key: value都为string类型
  504. * @description options列表:
  505. * brief 更新的摘要信息,最长256B。样例:{"name":"周杰伦", "id":"666"}
  506. * class_id1 更新的商品分类1,支持1-60范围内的整数。
  507. * class_id2 更新的商品分类2,支持1-60范围内的整数。
  508. * @return array
  509. */
  510. public function productUpdateContSign($contSign, $options=array()){
  511. $data = array();
  512. $data['cont_sign'] = $contSign;
  513. $data = array_merge($data, $options);
  514. return $this->request($this->productUpdateUrl, $data);
  515. }
  516. /**
  517. * 商品检索—删除接口
  518. *
  519. * @param string $image - 图像数据,base64编码,要求base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式
  520. * @param array $options - 可选参数对象,key: value都为string类型
  521. * @description options列表:
  522. * @return array
  523. */
  524. public function productDeleteByImage($image, $options=array()){
  525. $data = array();
  526. $data['image'] = base64_encode($image);
  527. $data = array_merge($data, $options);
  528. return $this->request($this->productDeleteUrl, $data);
  529. }
  530. /**
  531. * 商品检索—删除接口
  532. *
  533. * @param string $url - 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/png/bmp格式,当image字段存在时url字段失效
  534. * @param array $options - 可选参数对象,key: value都为string类型
  535. * @description options列表:
  536. * @return array
  537. */
  538. public function productDeleteByUrl($url, $options=array()){
  539. $data = array();
  540. $data['url'] = $url;
  541. $data = array_merge($data, $options);
  542. return $this->request($this->productDeleteUrl, $data);
  543. }
  544. /**
  545. * 商品检索—删除接口
  546. *
  547. * @param string $contSign - 图片签名
  548. * @param array $options - 可选参数对象,key: value都为string类型
  549. * @description options列表:
  550. * @return array
  551. */
  552. public function productDeleteBySign($contSign, $options=array()){
  553. $data = array();
  554. $data['cont_sign'] = $contSign;
  555. $data = array_merge($data, $options);
  556. return $this->request($this->productDeleteUrl, $data);
  557. }
  558. }