whatsapp.api 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364
  1. import "../base.api"
  2. import "./agent.api"
  3. import "./label_relationship.api"
  4. type (
  5. // The data of whatsapp information | Whatsapp信息
  6. WhatsappInfo {
  7. BaseIDInfo
  8. // Status 1: normal 2: ban | 状态 1 正常 2 禁用
  9. Status *uint8 `json:"status,optional"`
  10. WaId *string `json:"waId,optional"`
  11. WaName *string `json:"waName,optional"`
  12. // 回调地址
  13. Callback *string `json:"callback,optional"`
  14. // 模式ID
  15. AgentId *uint64 `json:"agentId,optional"`
  16. AgentInfo *AgentInfo `json:"agentInfo,optional"`
  17. // 微信账号
  18. Account *string `json:"account,optional"`
  19. // 手机号
  20. Phone *string `json:"phone,optional"`
  21. Cc *string `json:"cc,optional"`
  22. // 号码名称
  23. PhoneName *string `json:"phoneName,optional"`
  24. // 号码状态
  25. PhoneStatus *string `json:"phoneStatus,optional"`
  26. Tokens *uint64 `json:"tokens,optional"`
  27. // 号码发送频率号码发送频率
  28. Frequency *string `json:"frequency,optional"`
  29. // 号码质量
  30. Quality *string `json:"quality,optional"`
  31. // 号码校验状态
  32. VerifyStatus *string `json:"verifyStatus,optional"`
  33. // 机构 ID
  34. OrganizationId *uint64 `json:"organizationId,optional"`
  35. OrganizationName *string `json:"organizationName,optional"`
  36. // 大模型服务地址
  37. ApiBase *string `json:"apiBase,optional"`
  38. // 大模型服务密钥
  39. ApiKey *string `json:"apiKey,optional"`
  40. // 白名单
  41. AllowList []ContactInfo `json:"allowList,optional"`
  42. // 群白名单
  43. GroupAllowList []ContactInfo `json:"groupAllowList,optional"`
  44. // 黑名单
  45. BlockList []ContactInfo `json:"blockList,optional"`
  46. // 群黑名单
  47. GroupBlockList []ContactInfo `json:"groupBlockList,optional"`
  48. }
  49. WhatsappPhoneInfo {
  50. Avatar *string `json:"avatar,optional"`
  51. Industry *string `json:"industry,optional"`
  52. Intro *string `json:"intro,optional"`
  53. Address *string `json:"address,optional"`
  54. Email *string `json:"email,optional"`
  55. Website *string `json:"website,optional"`
  56. }
  57. // The response data of whatsapp list | Whatsapp列表数据
  58. WhatsappListResp {
  59. BaseDataInfo
  60. // Whatsapp list data | Whatsapp列表数据
  61. Data WhatsappListInfo `json:"data"`
  62. }
  63. // Whatsapp list data | Whatsapp列表数据
  64. WhatsappListInfo {
  65. BaseListInfo
  66. // The API list data | Whatsapp列表数据
  67. Data []WhatsappInfo `json:"data"`
  68. }
  69. // Get whatsapp list request params | Whatsapp列表请求参数
  70. WhatsappListReq {
  71. PageInfo
  72. // 手机号
  73. Phone *string `json:"phone,optional"`
  74. // 号码名称
  75. PhoneName *string `json:"phoneName,optional"`
  76. WaId *string `json:"waId,optional"`
  77. OrganizationId *uint64 `json:"organizationId,optional"`
  78. }
  79. // Whatsapp information response | Whatsapp信息返回体
  80. WhatsappInfoResp {
  81. BaseDataInfo
  82. // Whatsapp information | Whatsapp数据
  83. Data WhatsappInfo `json:"data"`
  84. }
  85. AutomationReq {
  86. WaId *string `json:"waId,optional"`
  87. Phone *string `json:"phone,optional"`
  88. }
  89. AutomationResp {
  90. BaseDataInfo
  91. // Whatsapp list data | Whatsapp列表数据
  92. Data ConversationalAutomationInfo `json:"data"`
  93. }
  94. ConversationalAutomationInfo {
  95. Prompts []string `json:"prompts,optional"`
  96. Commands []Command `json:"commands,optional"`
  97. Phone string `json:"phone,optional"`
  98. EnableWelcomeMessage bool `json:"enableWelcomeMessage,optional"`
  99. }
  100. Command {
  101. CommandDescription string `json:"commandDescription,optional"`
  102. CommandName string `json:"commandName,optional"`
  103. }
  104. SetAutomationReq {
  105. EnableWelcomeMessage bool `json:"enableWelcomeMessage,optional"`
  106. Phone string `json:"phone,optional"`
  107. Commands []Command `json:"commands,optional"`
  108. Prompts []string `json:"prompts,optional"`
  109. WaId string `json:"waId,optional"`
  110. }
  111. sendCodeReq {
  112. Cc *string `json:"cc"`
  113. Phone *string `json:"phone"`
  114. WaId *string `json:"waId"`
  115. Method *string `json:"method"`
  116. Locale *string `json:"locale"`
  117. }
  118. submitCodeReq {
  119. Phone *string `json:"phone"`
  120. WaId *string `json:"waId"`
  121. Code *string `json:"code"`
  122. }
  123. getQrcodeReq {
  124. Phone *string `json:"phone"`
  125. WaId *string `json:"waId"`
  126. }
  127. getQrcodeResp {
  128. BaseDataInfo
  129. Data []Qrcode `json:"data"`
  130. }
  131. Qrcode {
  132. Phone string `json:"phone,optional"`
  133. QrdlCode string `json:"qrdlCode,optional"`
  134. GenerateQrImage string `json:"generateQrImage,optional"`
  135. PrefilledMessage string `json:"prefilledMessage,optional"`
  136. DeepLinkUrl string `json:"deepLinkUrl,optional"`
  137. QrImageUrl string `json:"qrImageUrl,optional"`
  138. }
  139. createQrcodeReq {
  140. Phone string `json:"phone"`
  141. GenerateQrImage string `json:"generateQrImage"`
  142. PrefilledMessage string `json:"prefilledMessage"`
  143. WaId string `json:"waId"`
  144. }
  145. updateQrcodeReq {
  146. Phone string `json:"phone,optional"`
  147. GenerateQrImage string `json:"generateQrImage,optional"`
  148. PrefilledMessage string `json:"prefilledMessage,optional"`
  149. QrdlCode string `json:"qrdlCode,optional"`
  150. WaId string `json:"waId"`
  151. }
  152. removeQrcodeReq {
  153. Phone string `json:"phone,optional"`
  154. QrdlCode string `json:"qrdlCode,optional"`
  155. WaId string `json:"waId"`
  156. }
  157. getBusinessReq {
  158. Phone *string `json:"phone"`
  159. WaId *string `json:"waId"`
  160. }
  161. getBusinessResp {
  162. BaseDataInfo
  163. Data BusinessInfo `json:"data"`
  164. }
  165. BusinessInfo {
  166. Vertical string `json:"vertical,optional"`
  167. Description string `json:"description,optional"`
  168. Email string `json:"email,optional"`
  169. Address string `json:"address,optional"`
  170. ProfilePictureUrl string `json:"profilePictureUrl,optional"`
  171. Websites []string `json:"websites,optional"`
  172. About string `json:"about,optional"`
  173. }
  174. setBusinessReq {
  175. Phone *string `json:"phone"`
  176. WaId *string `json:"waId"`
  177. Vertical string `json:"vertical,optional"`
  178. Description string `json:"description,optional"`
  179. Email string `json:"email,optional"`
  180. Address string `json:"address,optional"`
  181. ProfilePictureUrl string `json:"profilePictureUrl,optional"`
  182. Websites []string `json:"websites,optional"`
  183. About string `json:"about,optional"`
  184. }
  185. registerReq {
  186. Phone *string `json:"phone"`
  187. WaId *string `json:"waId"`
  188. }
  189. deregisterReq {
  190. Phone *string `json:"phone"`
  191. WaId *string `json:"waId"`
  192. }
  193. UpdateAgentReq {
  194. Id uint64 `json:"id"`
  195. AgentId uint64 `json:"agent_id"`
  196. }
  197. // 获取黑白名单列表返回体
  198. WhatsappAllowBlockListResp {
  199. BaseDataInfo
  200. // Wx information | Wx数据
  201. Data WhatsappAllowBlockListRespData `json:"data"`
  202. }
  203. // WhatsappAllowBlockListRespData
  204. WhatsappAllowBlockListRespData {
  205. // 白名单
  206. AllowList *string `json:"allowList,optional"`
  207. // 群白名单
  208. GroupAllowList *string `json:"groupAllowList,optional"`
  209. // 黑名单
  210. BlockList *string `json:"blockList,optional"`
  211. // 群黑名单
  212. GroupBlockList *string `json:"groupBlockList,optional"`
  213. }
  214. UpdateAllowAndBlockListReq {
  215. Id uint64 `json:"id"`
  216. // 白名单
  217. AllowList *string `json:"allowList,optional"`
  218. // 群白名单
  219. GroupAllowList *string `json:"groupAllowList,optional"`
  220. // 黑名单
  221. BlockList *string `json:"blockList,optional"`
  222. // 群黑名单
  223. GroupBlockList *string `json:"groupBlockList,optional"`
  224. }
  225. )
  226. @server(
  227. jwt: Auth
  228. group: whatsapp
  229. middleware: Authority
  230. )
  231. service Wechat {
  232. // Create whatsapp information | 创建Whatsapp
  233. @handler createWhatsapp
  234. post /whatsapp/create (WhatsappInfo) returns (BaseMsgResp)
  235. // Update whatsapp information | 更新Whatsapp
  236. @handler updateWhatsapp
  237. post /whatsapp/update (WhatsappPhoneInfo) returns (BaseMsgResp)
  238. // Delete whatsapp information | 删除Whatsapp信息
  239. @handler deleteWhatsapp
  240. post /whatsapp/delete (IDsReq) returns (BaseMsgResp)
  241. // Get whatsapp list | 获取Whatsapp列表
  242. @handler getWhatsappList
  243. post /whatsapp/list (WhatsappListReq) returns (WhatsappListResp)
  244. // Get whatsapp by ID | 通过ID获取Whatsapp
  245. @handler getWhatsappById
  246. post /whatsapp (IDReq) returns (WhatsappInfoResp)
  247. // 发送验证码
  248. @handler sendWhatsappCode
  249. post /whatsapp/sendCode (sendCodeReq) returns (BaseMsgResp)
  250. // 提交验证信息
  251. @handler submitWhatsappCode
  252. post /whatsapp/submitCode (submitCodeReq) returns (BaseMsgResp)
  253. // 获取开场白
  254. @handler getAutomation
  255. post /whatsapp/getAutomation (AutomationReq) returns (AutomationResp)
  256. // 编辑开场白
  257. @handler setAutomation
  258. post /whatsapp/setAutomation (SetAutomationReq) returns (BaseMsgResp)
  259. // 获取二维码
  260. @handler getQrcode
  261. post /whatsapp/getQrcode (getQrcodeReq) returns (getQrcodeResp)
  262. // 创建二维码
  263. @handler createQrcode
  264. post /whatsapp/createQrcode (createQrcodeReq) returns (BaseMsgResp)
  265. // 删除二维码
  266. @handler removeQrcode
  267. post /whatsapp/removeQrcode (removeQrcodeReq) returns (BaseMsgResp)
  268. // 修改二维码
  269. @handler updateQrcode
  270. post /whatsapp/updateQrcode (updateQrcodeReq) returns (BaseMsgResp)
  271. // 获取商业信息
  272. @handler getBusinessInfo
  273. post /whatsapp/getBusinessInfo (getBusinessReq) returns (getBusinessResp)
  274. // 设置商业信息
  275. @handler setBusinessInfo
  276. post /whatsapp/setBusinessInfo (setBusinessReq) returns (BaseMsgResp)
  277. // 注册WhatsApp号码
  278. @handler registerPhoneNumber
  279. post /whatsapp/registerPhoneNumber (registerReq) returns (BaseMsgResp)
  280. // 取消注册WhatsApp号码
  281. @handler deregisterPhoneNumber
  282. post /whatsapp/deregisterPhoneNumber (deregisterReq) returns (BaseMsgResp)
  283. // Update whatsapp information | 更新Whatsapp
  284. @handler updateAgent
  285. post /whatsapp/updateAgent (UpdateAgentReq) returns (BaseMsgResp)
  286. // Get whatsapp allow and block list | 获取黑白名单列表
  287. @handler getAllowBlockList
  288. post /whatsapp/getAllowBlockList (IDReq) returns (WhatsappAllowBlockListResp)
  289. // Update whatsapp information | 更新黑白名单
  290. @handler updateAllowAndBlockList
  291. post /whatsapp/updateAllowAndBlockList (UpdateAllowAndBlockListReq) returns (BaseMsgResp)
  292. }