createAd.ts 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. import { request } from 'umi';
  2. import { api } from '../api';
  3. /*====================创建广告======================*/
  4. /**
  5. * 获取商品库列表
  6. */
  7. export interface CreateAdProps {
  8. campaignName: string, // 计划名称
  9. campaignType: string, // 计划类型 CAMPAIGN_TYPE_NORMAL CAMPAIGN_TYPE_SEARCH
  10. promotedObjectType: string, // 推广目标类型
  11. dailyBudget?: number, // 推广计划日预算
  12. totalBudget?: number, // 推广计划总预算
  13. speedMode: string, // 投放速度模式
  14. sysAdgroupId: number, // 广告组ID
  15. pageList: any[],//本地落地页详情入口
  16. adqPageList: any[],//云落地页
  17. sysAdgroup: any,//广告组内容
  18. sysTargetingId: number, // 定向包 id
  19. sysTargeting: any, // 定向包内容
  20. adgroupName: string, // 广告名称
  21. configuredStatus: string, // 广告状态
  22. sysAdcreativeId: number, // 创意ID
  23. taskMediaMaps: any[],//创意内容
  24. beginDate?: string, // 开始日期
  25. firstDayBeginTime?: string, //hh:mm:ss 开始时间
  26. endDate?: string, // 结束日期
  27. bidAmount?: number, // 出价
  28. expandEnabled?: boolean, // 自动扩量
  29. expandTargeting?: string[], // 扩量不可突破定向
  30. accountCreateLogs: {
  31. adAccountId: number, // 媒体账户ID
  32. userActionSets?: {
  33. id: number,
  34. type: string
  35. }[], // 数据源
  36. conversionId?: number, // 广告组 转化Id
  37. productCatalogId?: number, // 商品库ID
  38. productId?: number, // 商品Id
  39. enterpriseWx?: any[] // 企业微信客服组
  40. customAudience?: number[], // 定向人群
  41. excludedCustomAudience?: number[], // 排除人群
  42. pageId?: number, // 腾讯落地页ID
  43. }[]
  44. }
  45. export async function createAdBatchApi(data: CreateAdProps) {
  46. return request(api + `/adq//adCreateTask/createAdBatch`, {
  47. method: 'POST',
  48. data
  49. })
  50. }
  51. /**
  52. * 获取商品列表
  53. * @param data
  54. * @returns
  55. */
  56. export async function getGoodsApi(data: number[]) {
  57. return request(api + `/adq/product/allByAccountWithCatalog`, {
  58. method: 'POST',
  59. data,
  60. });
  61. }
  62. /**
  63. * 同步商品库
  64. * @param data
  65. * @returns
  66. */
  67. export async function synGoodsApi(data: number[]) {
  68. return request(api + `/adq/product/syncProductAndCatalogByAdAccountId`, {
  69. method: 'PUT',
  70. data,
  71. });
  72. }
  73. /**
  74. * 获取数据源
  75. * @param data
  76. * @returns
  77. */
  78. export async function getDataSourceApi(data: { accountIds: number[], promotedObjectType?: string }) {
  79. return request(api + `/adq/userActionSets/allByAccount`, {
  80. method: 'POST',
  81. data
  82. })
  83. }
  84. /**
  85. * 同步数据源
  86. * @param data
  87. * @returns
  88. */
  89. export async function sysDataSourceApi(data: number[]) {
  90. return request(api + `/adq/userActionSets/syncByAdAccountId`, {
  91. method: 'PATCH',
  92. data,
  93. });
  94. }
  95. /**
  96. * 获取转化ID
  97. * @param data
  98. * @returns
  99. */
  100. export async function getIdApi(data: number[]) {
  101. return request(api + `/adq/conversions/allByAccount`, {
  102. method: 'POST',
  103. data,
  104. });
  105. }
  106. /**
  107. * 同步转化ID
  108. * @param data
  109. * @returns
  110. */
  111. export async function sysIdApi(data: number[]) {
  112. return request(api + `/adq/conversions/syncByAdAccountId`, {
  113. method: 'PUT',
  114. data
  115. })
  116. }
  117. /**
  118. * 获取人群包
  119. * @param data
  120. * @returns
  121. */
  122. export async function getCrowdPackApi(data: { accountIds: number[], source?: string }) {
  123. return request(api + `/adq/customAudiences/allByAccount`, {
  124. method: 'POST',
  125. data
  126. })
  127. }
  128. /**
  129. * 同步人群包
  130. * @param data
  131. * @returns
  132. */
  133. export async function sysCrowdPackApi(data: number[]) {
  134. return request(api + `/adq/customAudiences/syncByAdAccountId`, {
  135. method: 'PUT',
  136. data
  137. })
  138. }
  139. /**
  140. * 获取客服组
  141. * @param data
  142. * @returns
  143. */
  144. export async function getCropWechatApi(data: number[]) {
  145. return request(api + `/adq/corpWechatCsgroup/allByAccount`, {
  146. method: 'POST',
  147. data
  148. })
  149. }
  150. /**
  151. * 同步客服组
  152. * @param data
  153. * @returns
  154. */
  155. export async function sysCropWechatApi({ accountId, corpId }: { accountId: number, corpId: number }) {
  156. return request(api + `/adq/cropWechatCsgroup/syncByAccount/${accountId}/${corpId}`, {
  157. method: 'POST'
  158. })
  159. }