adq.ts 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. import { request } from 'umi';
  2. import { api } from '../api';
  3. /**
  4. * 获取组员及组员账号列表
  5. */
  6. export async function getAdAccountAllOfMember() {
  7. return request(api + '/adq/adAccount/allOfMember');
  8. }
  9. /**
  10. * 获取ADQ账号列表
  11. * @param adgroupName 广告名称
  12. * @param promotedObjectType 广告类型
  13. * @param accountId 账户ID
  14. * @param adgroupName 广告名称
  15. */
  16. export async function getAdqAdAccountList(params: {
  17. pageNum: number;
  18. pageSize: number;
  19. userId?: string;//用户ID
  20. accountIds?: string[];//账号本地ID
  21. }) {
  22. return request(api + '/adq/adAccount/list', {
  23. method: 'POST',
  24. data: params,
  25. });
  26. }
  27. /**
  28. * 按账号同步计划
  29. * @param adAccountId 本地ID
  30. */
  31. export async function putAdqAdAccountSyncByIds(data: any) {
  32. return request(api + `/adq/adAccount/syncByIds`, {
  33. method: 'PUT',
  34. data
  35. });
  36. }
  37. /**
  38. * 获取ADQ计划列表
  39. * @param adgroupName 广告名称
  40. * @param promotedObjectType 广告类型
  41. * @param accountId 账户ID
  42. * @param adgroupName 广告名称
  43. */
  44. export async function getAdqCampaignList(params: {
  45. pageNum: number;
  46. pageSize: number;
  47. userId?: string;//用户ID
  48. accountId?: string;//账号本地ID
  49. campaignName?: string;//计划名称
  50. configuredStatus?: string;//计划状态
  51. campaignType?: string;//计划类型
  52. promotedObjectType?: string;//推广目标类型
  53. }) {
  54. return request(api + '/adq/campaign/list', {
  55. method: 'POST',
  56. data: params,
  57. });
  58. }
  59. /**
  60. * 按账号同步计划
  61. * @param adAccountId 本地ID
  62. */
  63. export async function putAdqCampaignPage(adAccountId: any) {
  64. return request(api + `/adq/campaign/syncAll/${adAccountId} `, {
  65. method: 'PUT',
  66. });
  67. }
  68. /**
  69. * 获取ADQ广告列表
  70. * @param adgroupName 广告名称
  71. * @param promotedObjectType 广告类型
  72. * @param accountId 账户ID
  73. * @param adgroupName 广告名称
  74. */
  75. export async function getAdqAdgroupsList(params: {
  76. pageNum: number;
  77. pageSize: number;
  78. accountId: string;
  79. adgroupName?: string
  80. }) {
  81. return request(api + '/adq/adgroups/list', {
  82. method: 'POST',
  83. data: params,
  84. });
  85. }
  86. /**
  87. * 同步ADQ广告列表
  88. *@param adAccountId 本地ID
  89. */
  90. export async function putAdqAdgroupsSync(data: any) {
  91. return request(api + `/adq/adgroups/sync`, {
  92. method: 'PUT',
  93. data
  94. });
  95. }
  96. /**
  97. * 同步ADQ广告列表
  98. *@param adAccountId 本地ID
  99. */
  100. export async function putAdqAdgroupsSyncBatch(data: {
  101. adgroupIds:any[]
  102. }) {
  103. return request(api + `/adq/adgroups/sync/batch`, {
  104. method: 'PUT',
  105. data
  106. });
  107. }
  108. /**
  109. * 多选删除广告
  110. * @param data
  111. * @returns
  112. */
  113. export async function delListAdqAdgroupsApi(data: { adgroupIds: number[] }) {
  114. return request(api + `/adq/adgroups/delete/batch`, {
  115. method: 'POST',
  116. data
  117. });
  118. }
  119. /**
  120. * 删除广告
  121. * @param data
  122. * @returns
  123. */
  124. export async function delAdqAdgroupsApi({ adAccountId, adgroupId }: { adAccountId: number, adgroupId: number }) {
  125. return request(api + `/adq/adgroups/${adAccountId}/${adgroupId}`, {
  126. method: 'DELETE'
  127. });
  128. }
  129. export interface EditAdqAdgroupsProps {
  130. /** 广告组id列表 */
  131. adgroupIds: number[],
  132. /** 广告名称 */
  133. adgroupName?: string,
  134. /** 出价 */
  135. adgroupsUpdateBidAmountDTO?: {
  136. bidAmount: number, // 出价
  137. bidMode: string, // 出价方式
  138. bidStrategy: string,// 出价策略
  139. optimizationGoal: string, // 出价目标
  140. },
  141. /** 排期 */
  142. adgroupsUpdateDatetimeDTO?: {
  143. beginDate: string,
  144. endDate?: string,
  145. firstDayBeginTime?: string,
  146. timeSeries?: string
  147. },
  148. /** 深度优化 */
  149. deepConversionSpec?: {
  150. deepConversionType: string,
  151. deepConversionBehaviorSpec?: {
  152. bidAmount: number,
  153. goal: string
  154. },
  155. deepConversionWorthAdvancedSpec?: {
  156. expectedRoi: number,
  157. goal: string
  158. },
  159. deepConversionWorthSpec?: {
  160. expectedRoi: number,
  161. goal: string
  162. }
  163. },
  164. /** 启停状态 */
  165. configuredStatus?: string
  166. }
  167. export async function editAdqAdgroupsDataApi(data: EditAdqAdgroupsProps) {
  168. return request(api + `/adq/adgroups/update/batch`, {
  169. method: 'POST',
  170. data
  171. });
  172. }
  173. export async function newEditAdqAdgroupsDataApi(data: EditAdqAdgroupsProps) {
  174. return request(api + `/adq/adgroups/configStatus/update/batch`, {
  175. method: 'POST',
  176. data
  177. });
  178. }
  179. export interface CopyAdProps{
  180. adgroupIds: number[], // 广告组id列表
  181. beginDate: string,
  182. endDate: string,
  183. copyCount: number, // 复制数量
  184. firstDayBeginTime?: string
  185. timeSeries?: string
  186. }
  187. export async function copyAdAdApi(data: CopyAdProps) {
  188. return request(api + `/adq/adgroups/copy/batch`, {
  189. method: 'POST',
  190. data
  191. });
  192. }
  193. /**
  194. * 获取ADQ创意列表
  195. * @param adgroupName 广告名称
  196. * @param promotedObjectType 广告类型
  197. * @param accountId 账户ID
  198. * @param adcreativeName
  199. */
  200. export async function getAdqAdcreativeList(params: {
  201. pageNum: number;
  202. pageSize: number;
  203. accountId: string;
  204. adcreativeName?: string
  205. }) {
  206. return request(api + '/adq/adcreative/list', {
  207. method: 'POST',
  208. data: params,
  209. });
  210. }
  211. /**
  212. * 获取ADQ落地页列表
  213. * @param adgroupName 广告名称
  214. * @param promotedObjectType 广告类型
  215. * @param accountId 账户ID
  216. */
  217. export async function getAdqLandingPageList(params: {
  218. pageNum: number;
  219. pageSize: number;
  220. accountId: string;
  221. pageName: string;
  222. pageType: string;
  223. pageTemplateId: string;
  224. pageStatus: string;
  225. }) {
  226. return request(api + '/adq/landingPageWechat/list ', {
  227. method: 'POST',
  228. data: params,
  229. });
  230. }
  231. /**
  232. * 按账号同步落地页
  233. * @param adAccountId 本地ID
  234. */
  235. export async function putAdqLandingPage(adAccountId: any) {
  236. return request(api + `/adq/landingPageWechat/syncAll/${adAccountId} `, {
  237. method: 'PUT',
  238. });
  239. }
  240. /**
  241. * 获取ADQ定向列表
  242. * @param adgroupName 广告名称
  243. * @param promotedObjectType 广告类型
  244. * @param accountId 账户ID
  245. */
  246. export async function getAdqTargetingList(params: {
  247. pageNum: number;
  248. pageSize: number;
  249. accountId: string;
  250. pageName: string;
  251. pageType: string;
  252. pageTemplateId: string;
  253. pageStatus: string;
  254. }) {
  255. return request(api + '/adq/targeting/list ', {
  256. method: 'POST',
  257. data: params,
  258. });
  259. }
  260. /**
  261. * 按账号同步ADQ定向列表
  262. * @param adAccountId 本地ID
  263. */
  264. export async function putAdqTargetingSyncAll(adAccountId: any) {
  265. return request(api + `/adq/targeting/syncAll/${adAccountId} `, {
  266. method: 'PUT',
  267. });
  268. }
  269. /**
  270. * 计划启停
  271. * @param adAccountId 本地ID
  272. */
  273. export async function putAdqCampaignConfigStatus(params: any) {
  274. let { accountId, campaignId, configuredStatus } = params
  275. return request(api + `/adq/campaign/configStatus/${accountId}/${campaignId}/${configuredStatus}`, {
  276. method: 'PUT',
  277. });
  278. }
  279. /**
  280. * 广告启停
  281. * @param adAccountId 本地ID
  282. */
  283. export async function putAdqAdgroupsConfigStatus(params: any) {
  284. let { accountId, adgroupId, configuredStatus } = params
  285. return request(api + `/adq/adgroups/configStatus/${accountId}/${adgroupId}/${configuredStatus}`, {
  286. method: 'PUT',
  287. });
  288. }
  289. /**
  290. * log
  291. * @param data
  292. * @returns
  293. */
  294. export async function getLogListApi(data: { accountId?: number, adgroupId?: number, adgroupName?: string, pageNum: number, pageSize: number }) {
  295. return request(api + `/adq/adgroups/operate/log`, {
  296. method: 'POST',
  297. data
  298. });
  299. }