whatsapp.api 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  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. // 回调地址
  12. Callback *string `json:"callback,optional"`
  13. // 模式ID
  14. AgentId *uint64 `json:"agentId,optional"`
  15. AgentInfo *AgentInfo `json:"agentInfo,optional"`
  16. // 微信账号
  17. Account *string `json:"account,optional"`
  18. // 手机号
  19. Phone *string `json:"phone,optional"`
  20. Cc *string `json:"cc,optional"`
  21. // 号码名称
  22. PhoneName *string `json:"phoneName,optional"`
  23. // 号码状态
  24. PhoneStatus *string `json:"phoneStatus,optional"`
  25. Tokens *uint64 `json:"tokens,optional"`
  26. Frequency *string `json:"frequency,optional"`
  27. // 号码质量
  28. Quality *string `json:"quality,optional"`
  29. // 号码校验状态
  30. VerifyStatus *string `json:"verifyStatus,optional"`
  31. // 号码发送频率
  32. MessagingLimitTier *string `json:"messagingLimitTier,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. Phone *string `json:"phone"`
  113. WaId *string `json:"waId"`
  114. Method *string `json:"method"`
  115. Locale *string `json:"locale"`
  116. }
  117. submitCodeReq {
  118. Phone *string `json:"phone"`
  119. WaId *string `json:"waId"`
  120. Code *string `json:"code"`
  121. }
  122. getQrcodeReq {
  123. Phone *string `json:"phone"`
  124. WaId *string `json:"waId"`
  125. }
  126. getQrcodeResp {
  127. BaseDataInfo
  128. Data []Qrcode `json:"data"`
  129. }
  130. Qrcode {
  131. Phone string `json:"phone,optional"`
  132. QrdlCode string `json:"qrdlCode,optional"`
  133. GenerateQrImage string `json:"generateQrImage,optional"`
  134. PrefilledMessage string `json:"prefilledMessage,optional"`
  135. DeepLinkUrl string `json:"deepLinkUrl,optional"`
  136. QrImageUrl string `json:"qrImageUrl,optional"`
  137. }
  138. createQrcodeReq {
  139. Phone string `json:"phone"`
  140. GenerateQrImage string `json:"generateQrImage"`
  141. PrefilledMessage string `json:"prefilledMessage"`
  142. WaId string `json:"waId"`
  143. }
  144. updateQrcodeReq {
  145. Phone string `json:"phone,optional"`
  146. GenerateQrImage string `json:"generateQrImage,optional"`
  147. PrefilledMessage string `json:"prefilledMessage,optional"`
  148. QrdlCode string `json:"qrdlCode,optional"`
  149. WaId string `json:"waId"`
  150. }
  151. removeQrcodeReq {
  152. Phone string `json:"phone,optional"`
  153. QrdlCode string `json:"qrdlCode,optional"`
  154. WaId string `json:"waId"`
  155. }
  156. getBusinessReq {
  157. Phone *string `json:"phone"`
  158. WaId *string `json:"waId"`
  159. }
  160. getBusinessResp {
  161. BaseDataInfo
  162. Data BusinessInfo `json:"data"`
  163. }
  164. BusinessInfo {
  165. Vertical string `json:"vertical,optional"`
  166. Description string `json:"description,optional"`
  167. Email string `json:"email,optional"`
  168. Address string `json:"address,optional"`
  169. ProfilePictureUrl string `json:"profilePictureUrl,optional"`
  170. Websites []string `json:"websites,optional"`
  171. About string `json:"about,optional"`
  172. }
  173. setBusinessReq {
  174. Phone *string `json:"phone"`
  175. WaId *string `json:"waId"`
  176. Vertical string `json:"vertical,optional"`
  177. Description string `json:"description,optional"`
  178. Email string `json:"email,optional"`
  179. Address string `json:"address,optional"`
  180. ProfilePictureUrl string `json:"profilePictureUrl,optional"`
  181. Websites []string `json:"websites,optional"`
  182. About string `json:"about,optional"`
  183. }
  184. registerReq {
  185. Phone *string `json:"phone"`
  186. WaId *string `json:"waId"`
  187. }
  188. deregisterReq {
  189. Phone *string `json:"phone"`
  190. WaId *string `json:"waId"`
  191. }
  192. )
  193. @server(
  194. jwt: Auth
  195. group: whatsapp
  196. middleware: Authority
  197. )
  198. service Wechat {
  199. // Create whatsapp information | 创建Whatsapp
  200. @handler createWhatsapp
  201. post /whatsapp/create (WhatsappInfo) returns (BaseMsgResp)
  202. // Update whatsapp information | 更新Whatsapp
  203. @handler updateWhatsapp
  204. post /whatsapp/update (WhatsappPhoneInfo) returns (BaseMsgResp)
  205. // Delete whatsapp information | 删除Whatsapp信息
  206. @handler deleteWhatsapp
  207. post /whatsapp/delete (IDsReq) returns (BaseMsgResp)
  208. // Get whatsapp list | 获取Whatsapp列表
  209. @handler getWhatsappList
  210. post /whatsapp/list (WhatsappListReq) returns (WhatsappListResp)
  211. // Get whatsapp by ID | 通过ID获取Whatsapp
  212. @handler getWhatsappById
  213. post /whatsapp (IDReq) returns (WhatsappInfoResp)
  214. // 发送验证码
  215. @handler sendWhatsappCode
  216. post /whatsapp/sendCode (sendCodeReq) returns (BaseMsgResp)
  217. // 提交验证信息
  218. @handler submitWhatsappCode
  219. post /whatsapp/submitCode (submitCodeReq) returns (BaseMsgResp)
  220. // 获取开场白
  221. @handler getAutomation
  222. post /whatsapp/getAutomation (AutomationReq) returns (AutomationResp)
  223. // 编辑开场白
  224. @handler setAutomation
  225. post /whatsapp/setAutomation (SetAutomationReq) returns (BaseMsgResp)
  226. // 获取二维码
  227. @handler getQrcode
  228. post /whatsapp/getQrcode (getQrcodeReq) returns (getQrcodeResp)
  229. // 创建二维码
  230. @handler createQrcode
  231. post /whatsapp/createQrcode (createQrcodeReq) returns (BaseMsgResp)
  232. // 删除二维码
  233. @handler removeQrcode
  234. post /whatsapp/removeQrcode (removeQrcodeReq) returns (BaseMsgResp)
  235. // 修改二维码
  236. @handler updateQrcode
  237. post /whatsapp/updateQrcode (updateQrcodeReq) returns (BaseMsgResp)
  238. // 获取商业信息
  239. @handler getBusinessInfo
  240. post /whatsapp/getBusinessInfo (getBusinessReq) returns (getBusinessResp)
  241. // 设置商业信息
  242. @handler setBusinessInfo
  243. post /whatsapp/setBusinessInfo (setBusinessReq) returns (BaseMsgResp)
  244. // 注册WhatsApp号码
  245. @handler registerPhoneNumber
  246. post /whatsapp/registerPhoneNumber (registerReq) returns (BaseMsgResp)
  247. // 取消注册WhatsApp号码
  248. @handler deregisterPhoneNumber
  249. post /whatsapp/deregisterPhoneNumber (deregisterReq) returns (BaseMsgResp)
  250. }