global.ts 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  1. import { request } from 'umi';
  2. import { api } from '../api';
  3. /**
  4. * 查询优化目标权限
  5. * @param data
  6. * @returns
  7. */
  8. export async function getOptimizationGoalPermissionsV3Api(data: any) {
  9. return request(api + `/adq/v3/launch/tools/getOptimizationGoalPermissions`, {
  10. method: 'POST',
  11. data
  12. })
  13. }
  14. /**
  15. * 获取地理位置
  16. * @param data
  17. * @returns
  18. */
  19. export async function getTargetingGagsApi(data: any) {
  20. return request(api + `/adq/v3/launch/tools/getTargetingGags`, {
  21. method: 'POST',
  22. data
  23. })
  24. }
  25. /**
  26. * 获取小说列表
  27. * @param data
  28. * @returns
  29. */
  30. export async function getmarketingAssetContentApi(data: {
  31. marketingAssetType?: string,
  32. marketingAssetName?: string,
  33. accountId: number,
  34. pageNum: number,
  35. pageSize: number,
  36. marketingAssetNameList: string[]
  37. }) {
  38. return request(api + `/adq/v3/marketingAssets/marketingAssetContent/get`, {
  39. method: 'POST',
  40. data,
  41. });
  42. }
  43. /**
  44. * 远程小说接口
  45. * @param data
  46. * @returns
  47. */
  48. export async function getByRemotemarketingAssetContentApi(data: {
  49. marketingAssetType?: string,
  50. marketingAssetName?: string,
  51. accountId: number,
  52. pageNum: number,
  53. pageSize: number,
  54. marketingIdList: number[]
  55. }) {
  56. return request(api + `/adq/v3/marketingAssets/marketingAssetContent/getByRemote`, {
  57. method: 'POST',
  58. data,
  59. });
  60. }
  61. /**
  62. * 同步小说
  63. * @param data
  64. * @returns
  65. */
  66. export async function synMarketingAssetContentApi(data: { accountId: number }) {
  67. return request(api + `/adq/v3/marketingAssets/marketingAssetContent/sync`, {
  68. method: 'POST',
  69. data,
  70. });
  71. }
  72. /**
  73. * 获取公众号
  74. * @param data
  75. * @returns
  76. */
  77. export async function getWechatOfficialAccountApi(data: { accountId: number }) {
  78. return request(api + `/adq/v3/marketingAssets/getWechatOfficialAccounts`, {
  79. method: 'POST',
  80. data,
  81. });
  82. }
  83. /**
  84. * 批量获取公众号
  85. * @param data
  86. * @returns
  87. */
  88. export async function getWechatOfficialAccountsApi(data: { accountIdList: number[] }) {
  89. return request(api + `/adq/v3/marketingAssets/getWechatOfficialAccountsBatch`, {
  90. method: 'POST',
  91. data,
  92. });
  93. }
  94. /**
  95. * 获取视频号
  96. * @param data
  97. * @returns
  98. */
  99. export async function getVideoChannelInfoApi(data: { accountIdList?: number[], accountId?: number }) {
  100. return request(api + `/adq/v3/marketingAssets/getVideoChannelInfo`, {
  101. method: 'POST',
  102. data,
  103. });
  104. }
  105. /**
  106. * 批量获取视频号
  107. * @param data
  108. * @returns
  109. */
  110. export async function getVideoChannelInfoBatchApi(data: { accountIdList?: number[], accountId?: number }) {
  111. return request(api + `/adq/v3/marketingAssets/getVideoChannelInfoBatch`, {
  112. method: 'POST',
  113. data,
  114. });
  115. }
  116. /**
  117. * 获取转化归因
  118. * @param data
  119. * @returns
  120. */
  121. export async function getConversionInfoApi(data: {
  122. accountId: number,
  123. pageNum: number,
  124. pageSize: number,
  125. accessStatus?: string[] // ACCESS_STATUS_COMPLETED 已接入 ACCESS_STATUS_PENDING 待接入
  126. conversionId?: number,
  127. conversionName?: string,
  128. conversionType?: string, // 扣费类型(ID_TYPE_CPC, BID_TYPE_CPA, BID_TYPE_CPS, BID_TYPE_CPM, BID_TYPE_CPD)
  129. createSourceType?: string, // 转化创建来源,如 (SELF_CREATED 自建转化),(PLATFORM 平台类转化)
  130. deepBehaviorOptimizationGoal?: string,
  131. deepWorthAdvancedGoal?: string,
  132. deepWorthOptimizationGoal?: string,
  133. marketingScene?: string,
  134. optimizationGoal?: string,
  135. siteSet?: string,
  136. }) {
  137. return request(api + `/adq/v3/launch/tools/getConversionInfo`, {
  138. method: 'POST',
  139. data,
  140. });
  141. }
  142. /**
  143. * 获取数据源
  144. * @param data
  145. * @returns
  146. */
  147. export async function getDataSourceV3Api(data: { accountIds: number[], promotedObjectType?: string }) {
  148. return request(api + `/adq/v3/userActionSets/allByAccount`, {
  149. method: 'POST',
  150. data
  151. })
  152. }
  153. /**
  154. * 同步数据源
  155. * @param data
  156. * @returns
  157. */
  158. export async function sysDataSourceV3Api(data: number[]) {
  159. return request(api + `/adq/v3/userActionSets/syncByAdAccountId`, {
  160. method: 'PATCH',
  161. data,
  162. });
  163. }
  164. /**
  165. * 获取创意规格详情
  166. * @param data
  167. * @returns
  168. */
  169. export async function getCreativeDetailsApi(data: any) {
  170. return request(api + `/adq/v3/launch/tools/getCreativeDetails`, {
  171. method: 'POST',
  172. data
  173. })
  174. }
  175. /**
  176. * 获取创意规格列表
  177. * @param data
  178. * @returns
  179. */
  180. export async function getCreativeTemplateListApi(data: any) {
  181. return request(api + `/adq/v3/launch/tools/getCreativeTemplateList`, {
  182. method: 'POST',
  183. data
  184. })
  185. }
  186. /**
  187. * 文案助手
  188. * @param params
  189. * @returns
  190. */
  191. export async function getTextApi(params: { maxTextLength: number, adAccountId: number }) {
  192. return request(api + `/adq/v3/launch/tools/creative/tools/text`, {
  193. method: 'GET',
  194. params
  195. })
  196. }
  197. /**
  198. * 获取原生页授权方信息
  199. * @param accountId
  200. * @returns
  201. */
  202. export async function getWXDownPageAuthInfoListApi(accountId: number) {
  203. return request(api + `/adq/v3/marketingAssets/listWXDownPageAuthInfo/${accountId}`, {
  204. method: 'GET'
  205. });
  206. }
  207. /**
  208. * 获取ADQ落地页列表
  209. * @param adgroupName 广告名称
  210. * @param promotedObjectType 广告类型
  211. * @param accountId 账户ID
  212. */
  213. export async function getAdqLandingPageListApi(params: {
  214. pageNum: number;
  215. pageSize: number;
  216. accountId?: number;
  217. pageName?: string;
  218. pageType?: string;
  219. pageTemplateId?: string;
  220. pageStatus?: string;
  221. ownerUid?: number;
  222. creativeTemplateId?: number,
  223. marketingCarrierId?: string,
  224. marketingCarrierType?: string
  225. marketingGoal?: string,
  226. marketingSubGoal?: string,
  227. marketingTargetType?: string,
  228. siteSet?: string[],
  229. }) {
  230. Object.keys(params).forEach(key => {
  231. if (!params[key as keyof typeof params]) {
  232. delete params[key as keyof typeof params]
  233. }
  234. })
  235. return request(api + '/adq/v3/marketingAssets/listWXDownPageToRemote', {
  236. method: 'POST',
  237. data: params,
  238. });
  239. }
  240. /**
  241. * 灵鹊落地页
  242. * @param params
  243. * @returns
  244. */
  245. export async function getAdqLandingPageOfficialListApi(params: {
  246. pageNum: number;
  247. pageSize: number;
  248. accountId?: number;
  249. creativeTemplateId?: number,
  250. marketingCarrierId?: string,
  251. marketingCarrierType?: string
  252. marketingGoal?: string,
  253. marketingSubGoal?: string,
  254. marketingTargetType?: string,
  255. siteSet?: string[],
  256. ownerUid?: number,
  257. pageIds?: number[],
  258. pageName?: string,
  259. pageStatus?: string,
  260. pageType?: string,
  261. userId?: number
  262. }) {
  263. Object.keys(params).forEach(key => {
  264. if (!params[key as keyof typeof params]) {
  265. delete params[key as keyof typeof params]
  266. }
  267. })
  268. return request(api + '/adq/v3/marketingAssets/listDownPageToRemote', {
  269. method: 'POST',
  270. data: params,
  271. });
  272. }
  273. /**
  274. * 按账号同步落地页
  275. * @param adAccountId 本地ID
  276. */
  277. export async function putAdqLandingPageApi(data: any) {
  278. return request(api + `/adq/v3/marketingAssets/syncAllWXDownPage`, {
  279. method: 'PUT',
  280. data
  281. });
  282. }
  283. /**
  284. * 获取品牌形象列表
  285. * @returns
  286. */
  287. export async function getSysBrandApi() {
  288. return request(api + `/adq/sysBrand/allOfUser`, {
  289. method: 'GET'
  290. })
  291. }
  292. /**
  293. * 新增品牌形象
  294. * @param data
  295. * @returns
  296. */
  297. export async function addSysBrandApi(data: { name: string, brandImgUrl: string }) {
  298. return request(api + `/adq/sysBrand`, {
  299. method: 'POST',
  300. data
  301. })
  302. }
  303. /**
  304. * 修改品牌形象
  305. * @param data
  306. * @returns
  307. */
  308. export async function editSysBrandApi(data: { name: string, brandImgUrl: string, sysBrandId: number }) {
  309. const { sysBrandId, ...params } = data
  310. return request(api + `/adq/sysBrand/${sysBrandId}`, {
  311. method: 'PUT',
  312. data: params
  313. })
  314. }
  315. /**
  316. * 删除品牌形象
  317. * @param data
  318. * @returns
  319. */
  320. export async function delSysBrandApi(data: { sysBrandId: number }) {
  321. const { sysBrandId } = data
  322. return request(api + `/adq/sysBrand/${sysBrandId}`, {
  323. method: 'DELETE'
  324. })
  325. }
  326. /**
  327. * 新增头像昵称跳转页
  328. * @param data
  329. * @returns
  330. */
  331. export async function addProfilesApi(data: { profileName: string, imageUrl: string, description: string }) {
  332. return request(api + `/adq/v3/marketingAssets/profiles/add`, {
  333. method: 'POST',
  334. data
  335. })
  336. }
  337. /**
  338. * 获取头像昵称跳转页
  339. * @param data
  340. * @returns
  341. */
  342. export async function getProfilesApi(data: { profileName?: string }) {
  343. return request(api + `/adq/v3/marketingAssets/profiles/get`, {
  344. method: 'POST',
  345. data
  346. })
  347. }
  348. /**
  349. * 删除头像昵称跳转页
  350. * @param data
  351. * @returns
  352. */
  353. export async function delProfilesApi(params: { id: number }) {
  354. return request(api + `/adq/v3/marketingAssets/deleteSysProfiles`, {
  355. method: 'DELETE',
  356. params
  357. })
  358. }
  359. /**
  360. * 获取创意审核详情
  361. * @param data
  362. * @returns
  363. */
  364. export async function getCreativeReviewDetailApi({ accountId, dynamicCreativeIds }: { accountId: number, dynamicCreativeIds: number[] }) {
  365. return request(api + `/adq/adgroup/creativeReviewDetail`, {
  366. method: 'POST',
  367. data: dynamicCreativeIds,
  368. params: { accountId }
  369. })
  370. }
  371. /**
  372. * 同步广告
  373. * @param data
  374. * @returns
  375. */
  376. export async function syncAdInfoApi(data: { accountAdgroupMaps: string[], adgroupCreateLogId: number }) {
  377. return request(api + `/adq/syncAdInfo/syncByAdgroupIds`, {
  378. method: 'POST',
  379. data
  380. })
  381. }
  382. /**
  383. * 获取图片信息
  384. * @param data
  385. * @returns
  386. */
  387. export async function getImagesInfoApi(data: { adAccountId: number, imageIds: number[], pageNum: number, pageSize: number }) {
  388. return request(api + `/adq/v3/marketingAssets/getImages`, {
  389. method: 'POST',
  390. data
  391. })
  392. }
  393. /**
  394. * 获取视频信息
  395. * @param data
  396. * @returns
  397. */
  398. export async function getVideosInfoApi(data: { adAccountId: number, videoIds: number[] }) {
  399. return request(api + `/adq/v3/marketingAssets/getVideos`, {
  400. method: 'POST',
  401. data
  402. })
  403. }