whatsapp.api 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282
  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 *int8 `json:"phoneStatus,optional"`
  25. Tokens *uint64 `json:"tokens,optional"`
  26. Frequency *uint64 `json:"frequency,optional"`
  27. // 机构 ID
  28. OrganizationId *uint64 `json:"organizationId,optional"`
  29. OrganizationName *string `json:"organizationName,optional"`
  30. // 大模型服务地址
  31. ApiBase *string `json:"apiBase,optional"`
  32. // 大模型服务密钥
  33. ApiKey *string `json:"apiKey,optional"`
  34. // 白名单
  35. AllowList []ContactInfo `json:"allowList,optional"`
  36. // 群白名单
  37. GroupAllowList []ContactInfo `json:"groupAllowList,optional"`
  38. // 黑名单
  39. BlockList []ContactInfo `json:"blockList,optional"`
  40. // 群黑名单
  41. GroupBlockList []ContactInfo `json:"groupBlockList,optional"`
  42. }
  43. WhatsappPhoneInfo {
  44. Avatar *string `json:"avatar,optional"`
  45. Industry *string `json:"industry,optional"`
  46. Intro *string `json:"intro,optional"`
  47. Address *string `json:"address,optional"`
  48. Email *string `json:"email,optional"`
  49. Website *string `json:"website,optional"`
  50. }
  51. // The response data of whatsapp list | Whatsapp列表数据
  52. WhatsappListResp {
  53. BaseDataInfo
  54. // Whatsapp list data | Whatsapp列表数据
  55. Data WhatsappListInfo `json:"data"`
  56. }
  57. // Whatsapp list data | Whatsapp列表数据
  58. WhatsappListInfo {
  59. BaseListInfo
  60. // The API list data | Whatsapp列表数据
  61. Data []WhatsappInfo `json:"data"`
  62. }
  63. // Get whatsapp list request params | Whatsapp列表请求参数
  64. WhatsappListReq {
  65. PageInfo
  66. // ak
  67. Ak *string `json:"ak,optional"`
  68. // 端口号
  69. Sk *string `json:"sk,optional"`
  70. // 回调地址
  71. Callback *string `json:"callback,optional"`
  72. }
  73. // Whatsapp information response | Whatsapp信息返回体
  74. WhatsappInfoResp {
  75. BaseDataInfo
  76. // Whatsapp information | Whatsapp数据
  77. Data WhatsappInfo `json:"data"`
  78. }
  79. AutomationReq {
  80. WaId *string `json:"waId,optional"`
  81. Phone *string `json:"phone,optional"`
  82. }
  83. AutomationResp {
  84. BaseDataInfo
  85. // Whatsapp list data | Whatsapp列表数据
  86. Data ConversationalAutomationInfo `json:"data"`
  87. }
  88. ConversationalAutomationInfo {
  89. Prompts []string `json:"prompts,optional"`
  90. Commands []Command `json:"commands,optional"`
  91. PhoneNumber string `json:"phoneNumber,optional"`
  92. EnableWelcomeMessage bool `json:"enableWelcomeMessage,optional"`
  93. }
  94. Command {
  95. CommandDescription string `json:"commandDescription,optional"`
  96. CommandName string `json:"commandName,optional"`
  97. }
  98. SetAutomationReq {
  99. EnableWelcomeMessage bool `json:"enableWelcomeMessage,optional"`
  100. PhoneNumber string `json:"phoneNumber,optional"`
  101. Commands []Command `json:"commands,optional"`
  102. Prompts []string `json:"prompts,optional"`
  103. WaId string `json:"waId,optional"`
  104. }
  105. sendCodeReq {
  106. Phone *string `json:"phone"`
  107. WaId *string `json:"waId"`
  108. Method *string `json:"method"`
  109. Locale *string `json:"locale"`
  110. }
  111. submitCodeReq {
  112. Phone *string `json:"phone"`
  113. WaId *string `json:"waId"`
  114. Code *string `json:"code"`
  115. }
  116. getQrcodeReq {
  117. Phone *string `json:"phone"`
  118. WaId *string `json:"waId"`
  119. }
  120. getQrcodeResp {
  121. BaseDataInfo
  122. Data []Qrcode `json:"data"`
  123. }
  124. Qrcode {
  125. Phone string `json:"phone,optional"`
  126. QrdlCode string `json:"qrdlCode,optional"`
  127. GenerateQrImage string `json:"generateQrImage,optional"`
  128. PrefilledMessage string `json:"prefilledMessage,optional"`
  129. DeepLinkUrl string `json:"deepLinkUrl,optional"`
  130. QrImageUrl string `json:"qrImageUrl,optional"`
  131. }
  132. createQrcodeReq {
  133. Phone string `json:"phone"`
  134. GenerateQrImage string `json:"generateQrImage"`
  135. PrefilledMessage string `json:"prefilledMessage"`
  136. WaId string `json:"waId"`
  137. }
  138. updateQrcodeReq {
  139. Phone string `json:"phone,optional"`
  140. GenerateQrImage string `json:"generateQrImage,optional"`
  141. PrefilledMessage string `json:"prefilledMessage,optional"`
  142. QrdlCode string `json:"qrdlCode,optional"`
  143. WaId string `json:"waId"`
  144. }
  145. removeQrcodeReq {
  146. Phone string `json:"phone,optional"`
  147. QrdlCode string `json:"qrdlCode,optional"`
  148. WaId string `json:"waId"`
  149. }
  150. getBusinessReq {
  151. Phone *string `json:"phone"`
  152. WaId *string `json:"waId"`
  153. }
  154. getBusinessResp {
  155. BaseDataInfo
  156. Data BusinessInfo `json:"data"`
  157. }
  158. BusinessInfo {
  159. Vertical string `json:"vertical,optional"`
  160. Description string `json:"description,optional"`
  161. Email string `json:"email,optional"`
  162. Address string `json:"address,optional"`
  163. ProfilePictureUrl string `json:"profilePictureUrl,optional"`
  164. Websites []string `json:"websites,optional"`
  165. About string `json:"about,optional"`
  166. }
  167. setBusinessReq {
  168. Phone *string `json:"phone"`
  169. WaId *string `json:"waId"`
  170. Vertical string `json:"vertical,optional"`
  171. Description string `json:"description,optional"`
  172. Email string `json:"email,optional"`
  173. Address string `json:"address,optional"`
  174. ProfilePictureUrl string `json:"profilePictureUrl,optional"`
  175. Websites []string `json:"websites,optional"`
  176. About string `json:"about,optional"`
  177. }
  178. )
  179. @server(
  180. jwt: Auth
  181. group: whatsapp
  182. middleware: Authority
  183. )
  184. service Wechat {
  185. // Create whatsapp information | 创建Whatsapp
  186. @handler createWhatsapp
  187. post /whatsapp/create (WhatsappInfo) returns (BaseMsgResp)
  188. // Update whatsapp information | 更新Whatsapp
  189. @handler updateWhatsapp
  190. post /whatsapp/update (WhatsappPhoneInfo) returns (BaseMsgResp)
  191. // Delete whatsapp information | 删除Whatsapp信息
  192. @handler deleteWhatsapp
  193. post /whatsapp/delete (IDsReq) returns (BaseMsgResp)
  194. // Get whatsapp list | 获取Whatsapp列表
  195. @handler getWhatsappList
  196. post /whatsapp/list (WhatsappListReq) returns (WhatsappListResp)
  197. // Get whatsapp by ID | 通过ID获取Whatsapp
  198. @handler getWhatsappById
  199. post /whatsapp (IDReq) returns (WhatsappInfoResp)
  200. // 发送验证码
  201. @handler sendWhatsappCode
  202. post /whatsapp/sendCode (sendCodeReq) returns (BaseMsgResp)
  203. // 提交验证信息
  204. @handler submitWhatsappCode
  205. post /whatsapp/submitCode (submitCodeReq) returns (BaseMsgResp)
  206. // 获取开场白
  207. @handler getAutomation
  208. post /whatsapp/getAutomation (AutomationReq) returns (AutomationResp)
  209. // 编辑开场白
  210. @handler setAutomation
  211. post /whatsapp/setAutomation (SetAutomationReq) returns (BaseMsgResp)
  212. // 获取二维码
  213. @handler getQrcode
  214. post /whatsapp/getQrcode (getQrcodeReq) returns (getQrcodeResp)
  215. // 创建二维码
  216. @handler createQrcode
  217. post /whatsapp/createQrcode (createQrcodeReq) returns (BaseMsgResp)
  218. // 删除二维码
  219. @handler removeQrcode
  220. post /whatsapp/removeQrcode (removeQrcodeReq) returns (BaseMsgResp)
  221. // 修改二维码
  222. @handler updateQrcode
  223. post /whatsapp/updateQrcode (updateQrcodeReq) returns (BaseMsgResp)
  224. // 获取商业信息
  225. @handler getBusinessInfo
  226. post /whatsapp/getBusinessInfo (getBusinessReq) returns (getBusinessResp)
  227. // 设置商业信息
  228. @handler setBusinessInfo
  229. post /whatsapp/setBusinessInfo (setBusinessReq) returns (BaseMsgResp)
  230. }