pgy-field-schema.json 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743
  1. {
  2. "collection": "pgy_blogger",
  3. "generatedAt": "2026-08-14T02:21:53.994Z",
  4. "sources": {
  5. "list": {
  6. "name": "列表 blogger/v2",
  7. "method": "POST",
  8. "path": "xiaohongshu-pgy/api/solar/cooperator/blogger/v2",
  9. "priority": 3
  10. },
  11. "profile": {
  12. "name": "个人简介",
  13. "method": "GET",
  14. "path": "cooperator/user/blogger/{id}",
  15. "priority": 2
  16. },
  17. "notesRate": {
  18. "name": "数据概括 notesRate?noteType=3",
  19. "method": "GET",
  20. "path": "kol/dataV3/notesRate",
  21. "priority": 2
  22. },
  23. "noteData": {
  24. "name": "笔记数据 notesRate×3",
  25. "method": "GET",
  26. "path": "kol/dataV3/notesRate",
  27. "priority": 1
  28. },
  29. "notesDetail": {
  30. "name": "笔记案例 notesDetail×3",
  31. "method": "GET",
  32. "path": "kol/dataV2/notesDetail",
  33. "priority": 1
  34. },
  35. "fansSummary": {
  36. "name": "粉丝概览 fansSummary",
  37. "method": "GET",
  38. "path": "kol/dataV3/fansSummary",
  39. "priority": 2
  40. },
  41. "fansProfile": {
  42. "name": "粉丝画像 fans_profile",
  43. "method": "GET",
  44. "path": "kol/data/{id}/fans_profile",
  45. "priority": 1
  46. },
  47. "dataSummary": {
  48. "name": "数据表现总览 data_summary",
  49. "method": "GET",
  50. "path": "kol/data_v3/data_summary",
  51. "priority": 1
  52. },
  53. "costEffective": {
  54. "name": "流量性价比 costEffective",
  55. "method": "GET",
  56. "path": "kol/dataV2/costEffective",
  57. "priority": 0
  58. }
  59. },
  60. "dimensions": {
  61. "fanRange": {
  62. "zh": "粉丝范围",
  63. "fields": [
  64. "follower_count"
  65. ],
  66. "type": "number",
  67. "unit": "人",
  68. "query": {
  69. "follower_count": {
  70. "$gte": 50000,
  71. "$lte": 500000
  72. }
  73. },
  74. "note": "腰部 KOL 5万-50万;对应 ranker.fanRange 与 platform-quality-rules 分级"
  75. },
  76. "interaction": {
  77. "zh": "互动率/互动中位数",
  78. "fields": [
  79. "interaction_rate",
  80. "interact_midnum",
  81. "inter_midnum_30d_total"
  82. ],
  83. "type": "number",
  84. "unit": "% / 次",
  85. "query": {
  86. "interaction_rate": {
  87. "$gte": 3
  88. }
  89. },
  90. "note": "小红书互动率 ≥3% 优秀、≥1% 合格;抖音 ≥3% 优秀、≥1.5% 合格"
  91. },
  92. "price": {
  93. "zh": "报价(必采)",
  94. "fields": [
  95. "picture_price",
  96. "video_price",
  97. "lower_price"
  98. ],
  99. "type": "number",
  100. "unit": "元",
  101. "query": {
  102. "lower_price": {
  103. "$lte": 3000
  104. }
  105. },
  106. "note": "⭐ 列表接口只采这 3 个报价字段"
  107. },
  108. "verticality": {
  109. "zh": "垂直度/类目",
  110. "fields": [
  111. "trade_type",
  112. "content_tags",
  113. "feature_tags",
  114. "note_type_share"
  115. ],
  116. "type": "string/array",
  117. "query": {
  118. "trade_type": "美妆护肤",
  119. "content_tags": {
  120. "$all": [
  121. "成分党"
  122. ]
  123. }
  124. },
  125. "note": "小红书垂直度 ≥70% 合格、≥90% 优秀"
  126. },
  127. "score": {
  128. "zh": "评分/信用/等级",
  129. "fields": [
  130. "credit_level",
  131. "goodness_level",
  132. "level_name"
  133. ],
  134. "type": "string",
  135. "query": {
  136. "credit_level": {
  137. "$in": [
  138. "Lv5",
  139. "Lv6",
  140. "Lv7"
  141. ]
  142. }
  143. },
  144. "note": "蒲公英评分 ≥4.0 合格、≥4.5 优秀、<3.5 暂不考虑"
  145. },
  146. "location": {
  147. "zh": "所在地/城市",
  148. "fields": [
  149. "location"
  150. ],
  151. "type": "string",
  152. "query": {
  153. "location": {
  154. "$regex": "上海"
  155. }
  156. },
  157. "note": "地域定向"
  158. },
  159. "gender": {
  160. "zh": "性别",
  161. "fields": [
  162. "gender"
  163. ],
  164. "type": "int",
  165. "query": {
  166. "gender": 1
  167. },
  168. "note": "1=女 2=男"
  169. },
  170. "fansProfile": {
  171. "zh": "粉丝画像(年龄/性别/城市)",
  172. "fields": [
  173. "fans_age_dist",
  174. "fans_gender_dist",
  175. "fans_city_top"
  176. ],
  177. "type": "array",
  178. "query": {
  179. "fans_age_dist": {
  180. "$elemMatch": {
  181. "age": "18-24",
  182. "rate": {
  183. "$gte": 40
  184. }
  185. }
  186. }
  187. },
  188. "note": "粉丝画像匹配度 ≥60% 合格、≥80% 优秀"
  189. },
  190. "completionRate": {
  191. "zh": "视频完播率",
  192. "fields": [
  193. "video_full_view_rate",
  194. "video_finish_rate"
  195. ],
  196. "type": "number",
  197. "unit": "%",
  198. "query": {
  199. "video_full_view_rate": {
  200. "$gte": 20
  201. }
  202. },
  203. "note": "抖音完播率 ≥20% 合格、≥40% 优秀、<10% 危险"
  204. },
  205. "likeCollectRatio": {
  206. "zh": "赞藏比(收藏/点赞)",
  207. "fields": [
  208. "like_median",
  209. "collect_median"
  210. ],
  211. "type": "number",
  212. "query": {
  213. "$expr": {
  214. "$gte": [
  215. {
  216. "$divide": [
  217. "$collect_median",
  218. "$like_median"
  219. ]
  220. },
  221. 0.5
  222. ]
  223. }
  224. },
  225. "note": "小红书赞藏比 ≥0.5 合格、≥1.0 优秀"
  226. },
  227. "cpm": {
  228. "zh": "CPM/CPE/阅读成本",
  229. "fields": [
  230. "estimate_picture_cpm",
  231. "estimate_video_cpm",
  232. "estimate_picture_engage_cost",
  233. "estimate_video_engage_cost"
  234. ],
  235. "type": "number",
  236. "unit": "元",
  237. "query": {
  238. "estimate_video_cpm": {
  239. "$lte": 80
  240. }
  241. },
  242. "note": "抖音腰部 CPM 40-80、CPE 5-10"
  243. },
  244. "growth": {
  245. "zh": "粉丝增长",
  246. "fields": [
  247. "fans_growth_rate",
  248. "fans_30d_growth_rate",
  249. "fans_30d_growth_num"
  250. ],
  251. "type": "number",
  252. "unit": "%",
  253. "query": {
  254. "fans_30d_growth_rate": {
  255. "$gte": 0
  256. }
  257. },
  258. "note": "负增长 = 账号健康度风险(platform-quality-rules 已接入)"
  259. },
  260. "activity": {
  261. "zh": "活跃度",
  262. "fields": [
  263. "active_days_in_last7",
  264. "is_active",
  265. "last_active_time"
  266. ],
  267. "type": "mixed",
  268. "query": {
  269. "is_active": true,
  270. "active_days_in_last7": {
  271. "$gte": 3
  272. }
  273. },
  274. "note": "近30天无更新 = 数据真实性风险"
  275. },
  276. "verified": {
  277. "zh": "认证/合作权限",
  278. "fields": [
  279. "verified",
  280. "is_pgy_creator",
  281. "has_buyer_auth",
  282. "cooperate_state"
  283. ],
  284. "type": "bool",
  285. "query": {
  286. "is_pgy_creator": true,
  287. "has_buyer_auth": true
  288. },
  289. "note": "蒲公英创作者 + 品牌合作权限是下单前提"
  290. }
  291. },
  292. "coreFields": {
  293. "blogger_id": {
  294. "zh": "博主ID",
  295. "type": "string",
  296. "sources": [
  297. "list",
  298. "profile"
  299. ],
  300. "dimension": "id",
  301. "primary": true
  302. },
  303. "nickname": {
  304. "zh": "昵称",
  305. "type": "string",
  306. "sources": [
  307. "list",
  308. "profile"
  309. ],
  310. "dimension": "id"
  311. },
  312. "follower_count": {
  313. "zh": "粉丝数",
  314. "type": "int",
  315. "sources": [
  316. "list",
  317. "profile"
  318. ],
  319. "dimension": "fanRange"
  320. },
  321. "like_count": {
  322. "zh": "获赞数",
  323. "type": "int",
  324. "sources": [
  325. "list",
  326. "profile"
  327. ],
  328. "dimension": "interaction"
  329. },
  330. "post_count": {
  331. "zh": "笔记数",
  332. "type": "int",
  333. "sources": [
  334. "list"
  335. ],
  336. "dimension": "activity"
  337. },
  338. "co_note_count": {
  339. "zh": "合作笔记数",
  340. "type": "int",
  341. "sources": [
  342. "list"
  343. ],
  344. "dimension": "activity"
  345. },
  346. "verified": {
  347. "zh": "是否认证",
  348. "type": "bool",
  349. "sources": [
  350. "list",
  351. "profile"
  352. ],
  353. "dimension": "verified"
  354. },
  355. "tags": {
  356. "zh": "个人标签",
  357. "type": "array",
  358. "sources": [
  359. "list",
  360. "profile"
  361. ],
  362. "dimension": "verticality"
  363. },
  364. "content_tags": {
  365. "zh": "内容标签",
  366. "type": "array",
  367. "sources": [
  368. "list"
  369. ],
  370. "dimension": "verticality"
  371. },
  372. "feature_tags": {
  373. "zh": "特色标签",
  374. "type": "array",
  375. "sources": [
  376. "list"
  377. ],
  378. "dimension": "verticality"
  379. },
  380. "trade_type": {
  381. "zh": "行业",
  382. "type": "string",
  383. "sources": [
  384. "list"
  385. ],
  386. "dimension": "verticality"
  387. },
  388. "gender": {
  389. "zh": "性别",
  390. "type": "int",
  391. "sources": [
  392. "list",
  393. "profile"
  394. ],
  395. "dimension": "gender"
  396. },
  397. "location": {
  398. "zh": "所在地",
  399. "type": "string",
  400. "sources": [
  401. "list",
  402. "profile"
  403. ],
  404. "dimension": "location"
  405. },
  406. "picture_price": {
  407. "zh": "图文报价",
  408. "type": "number",
  409. "sources": [
  410. "list"
  411. ],
  412. "dimension": "price",
  413. "priority": 3
  414. },
  415. "video_price": {
  416. "zh": "视频报价",
  417. "type": "number",
  418. "sources": [
  419. "list"
  420. ],
  421. "dimension": "price",
  422. "priority": 3
  423. },
  424. "lower_price": {
  425. "zh": "报价下限",
  426. "type": "number",
  427. "sources": [
  428. "list"
  429. ],
  430. "dimension": "price",
  431. "priority": 3
  432. },
  433. "interaction_rate": {
  434. "zh": "互动率",
  435. "type": "number",
  436. "sources": [
  437. "notesRate"
  438. ],
  439. "dimension": "interaction",
  440. "priority": 2
  441. },
  442. "interact_midnum": {
  443. "zh": "互动中位数",
  444. "type": "number",
  445. "sources": [
  446. "list"
  447. ],
  448. "dimension": "interaction"
  449. },
  450. "read_midnum": {
  451. "zh": "阅读中位数",
  452. "type": "number",
  453. "sources": [
  454. "list"
  455. ],
  456. "dimension": "cpm"
  457. },
  458. "like_median": {
  459. "zh": "中位点赞量",
  460. "type": "number",
  461. "sources": [
  462. "notesRate"
  463. ],
  464. "dimension": "likeCollectRatio"
  465. },
  466. "collect_median": {
  467. "zh": "中位收藏量",
  468. "type": "number",
  469. "sources": [
  470. "notesRate"
  471. ],
  472. "dimension": "likeCollectRatio"
  473. },
  474. "video_full_view_rate": {
  475. "zh": "视频完播率",
  476. "type": "number",
  477. "sources": [
  478. "notesRate"
  479. ],
  480. "dimension": "completionRate"
  481. },
  482. "hundred_like_rate": {
  483. "zh": "百赞笔记比例",
  484. "type": "number",
  485. "sources": [
  486. "notesRate"
  487. ],
  488. "dimension": "interaction"
  489. },
  490. "kilo_like_rate": {
  491. "zh": "千赞笔记比例",
  492. "type": "number",
  493. "sources": [
  494. "notesRate"
  495. ],
  496. "dimension": "interaction"
  497. },
  498. "fans_growth_rate": {
  499. "zh": "30天增粉率",
  500. "type": "number",
  501. "sources": [
  502. "fansSummary"
  503. ],
  504. "dimension": "growth"
  505. },
  506. "fans_30d_growth_rate": {
  507. "zh": "30天粉丝增长率",
  508. "type": "number",
  509. "sources": [
  510. "list",
  511. "dataSummary"
  512. ],
  513. "dimension": "growth"
  514. },
  515. "fans_active_l28_rate": {
  516. "zh": "28天活跃粉丝占比",
  517. "type": "number",
  518. "sources": [
  519. "list"
  520. ],
  521. "dimension": "activity"
  522. },
  523. "fans_engage_30d_rate": {
  524. "zh": "30天互动率",
  525. "type": "number",
  526. "sources": [
  527. "list"
  528. ],
  529. "dimension": "interaction"
  530. },
  531. "fans_age_dist": {
  532. "zh": "粉丝年龄分布",
  533. "type": "array",
  534. "sources": [
  535. "fansProfile"
  536. ],
  537. "dimension": "fansProfile"
  538. },
  539. "fans_gender_dist": {
  540. "zh": "粉丝性别分布",
  541. "type": "array",
  542. "sources": [
  543. "fansProfile"
  544. ],
  545. "dimension": "fansProfile"
  546. },
  547. "fans_city_top": {
  548. "zh": "粉丝城市TOP",
  549. "type": "array",
  550. "sources": [
  551. "fansProfile"
  552. ],
  553. "dimension": "fansProfile"
  554. },
  555. "estimate_picture_cpm": {
  556. "zh": "估算图文CPM",
  557. "type": "number",
  558. "sources": [
  559. "list",
  560. "costEffective"
  561. ],
  562. "dimension": "cpm"
  563. },
  564. "estimate_video_cpm": {
  565. "zh": "估算视频CPM",
  566. "type": "number",
  567. "sources": [
  568. "list",
  569. "costEffective"
  570. ],
  571. "dimension": "cpm"
  572. },
  573. "estimate_picture_engage_cost": {
  574. "zh": "估算图文互动成本",
  575. "type": "number",
  576. "sources": [
  577. "list",
  578. "costEffective"
  579. ],
  580. "dimension": "cpm"
  581. },
  582. "estimate_video_engage_cost": {
  583. "zh": "估算视频互动成本",
  584. "type": "number",
  585. "sources": [
  586. "list",
  587. "costEffective"
  588. ],
  589. "dimension": "cpm"
  590. },
  591. "credit_level": {
  592. "zh": "信用等级",
  593. "type": "string",
  594. "sources": [
  595. "profile"
  596. ],
  597. "dimension": "score"
  598. },
  599. "goodness_level": {
  600. "zh": "诚信等级",
  601. "type": "string",
  602. "sources": [
  603. "profile"
  604. ],
  605. "dimension": "score"
  606. },
  607. "level_name": {
  608. "zh": "等级名称",
  609. "type": "string",
  610. "sources": [
  611. "profile"
  612. ],
  613. "dimension": "score"
  614. },
  615. "is_pgy_creator": {
  616. "zh": "蒲公英创作者",
  617. "type": "bool",
  618. "sources": [
  619. "profile"
  620. ],
  621. "dimension": "verified"
  622. },
  623. "has_buyer_auth": {
  624. "zh": "品牌合作权限",
  625. "type": "bool",
  626. "sources": [
  627. "list"
  628. ],
  629. "dimension": "verified"
  630. },
  631. "cooperate_state": {
  632. "zh": "合作状态",
  633. "type": "string",
  634. "sources": [
  635. "list"
  636. ],
  637. "dimension": "verified"
  638. },
  639. "active_days_in_last7": {
  640. "zh": "近7天活跃天数",
  641. "type": "int",
  642. "sources": [
  643. "dataSummary"
  644. ],
  645. "dimension": "activity"
  646. },
  647. "is_active": {
  648. "zh": "是否活跃",
  649. "type": "bool",
  650. "sources": [
  651. "dataSummary"
  652. ],
  653. "dimension": "activity"
  654. },
  655. "last_active_time": {
  656. "zh": "最后活跃时间",
  657. "type": "string",
  658. "sources": [
  659. "profile"
  660. ],
  661. "dimension": "activity"
  662. },
  663. "response_rate": {
  664. "zh": "回复率",
  665. "type": "number",
  666. "sources": [
  667. "dataSummary"
  668. ],
  669. "dimension": "activity"
  670. }
  671. },
  672. "indexes": [
  673. {
  674. "name": "uk_blogger_id",
  675. "spec": {
  676. "blogger_id": 1
  677. },
  678. "options": {
  679. "unique": true
  680. }
  681. },
  682. {
  683. "name": "idx_fans_desc",
  684. "spec": {
  685. "follower_count": -1
  686. },
  687. "options": {}
  688. },
  689. {
  690. "name": "idx_trade_fans",
  691. "spec": {
  692. "trade_type": 1,
  693. "follower_count": -1
  694. },
  695. "options": {}
  696. },
  697. {
  698. "name": "idx_interaction_desc",
  699. "spec": {
  700. "interaction_rate": -1
  701. },
  702. "options": {}
  703. },
  704. {
  705. "name": "idx_price_asc",
  706. "spec": {
  707. "lower_price": 1
  708. },
  709. "options": {}
  710. },
  711. {
  712. "name": "idx_tags",
  713. "spec": {
  714. "content_tags": 1,
  715. "feature_tags": 1
  716. },
  717. "options": {}
  718. },
  719. {
  720. "name": "idx_location",
  721. "spec": {
  722. "location": 1
  723. },
  724. "options": {}
  725. },
  726. {
  727. "name": "idx_active",
  728. "spec": {
  729. "is_active": 1,
  730. "active_days_in_last7": -1
  731. },
  732. "options": {}
  733. },
  734. {
  735. "name": "idx_cpm_asc",
  736. "spec": {
  737. "estimate_video_cpm": 1,
  738. "estimate_picture_cpm": 1
  739. },
  740. "options": {}
  741. }
  742. ]
  743. }