Ability304.cs 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. using Topsdk.Top.Ability304.Request;
  2. using Topsdk.Top.Ability304.Response;
  3. using Topsdk.Util;
  4. namespace Topsdk.Top.Ability304;
  5. public class Ability304
  6. {
  7. private ITopApiClient topApiClient;
  8. public Ability304(ITopApiClient topApiClient)
  9. {
  10. this.topApiClient = topApiClient;
  11. }
  12. /*
  13. 获取ISV发起请求服务器IP
  14. taobao.appip.get
  15. */
  16. public TaobaoAppipGetResponse TaobaoAppipGet(TaobaoAppipGetRequest request)
  17. {
  18. var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
  19. if (string.IsNullOrEmpty(jsonResult))
  20. {
  21. throw new Exception("error");
  22. }
  23. var resultObj = TopUtils.parseResultJson<TaobaoAppipGetResponse>(jsonResult);
  24. if(string.IsNullOrEmpty(resultObj.Body))
  25. {
  26. resultObj.Body = jsonResult;
  27. }
  28. return resultObj;
  29. }
  30. /*
  31. 业务文件获取
  32. taobao.files.get
  33. */
  34. public TaobaoFilesGetResponse TaobaoFilesGet(TaobaoFilesGetRequest request)
  35. {
  36. var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
  37. if (string.IsNullOrEmpty(jsonResult))
  38. {
  39. throw new Exception("error");
  40. }
  41. var resultObj = TopUtils.parseResultJson<TaobaoFilesGetResponse>(jsonResult);
  42. if(string.IsNullOrEmpty(resultObj.Body))
  43. {
  44. resultObj.Body = jsonResult;
  45. }
  46. return resultObj;
  47. }
  48. /*
  49. 刷新Access Token
  50. taobao.top.auth.token.refresh
  51. */
  52. public TaobaoTopAuthTokenRefreshResponse TaobaoTopAuthTokenRefresh(TaobaoTopAuthTokenRefreshRequest request)
  53. {
  54. var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
  55. if (string.IsNullOrEmpty(jsonResult))
  56. {
  57. throw new Exception("error");
  58. }
  59. var resultObj = TopUtils.parseResultJson<TaobaoTopAuthTokenRefreshResponse>(jsonResult);
  60. if(string.IsNullOrEmpty(resultObj.Body))
  61. {
  62. resultObj.Body = jsonResult;
  63. }
  64. return resultObj;
  65. }
  66. /*
  67. 获取Access Token
  68. taobao.top.auth.token.create
  69. */
  70. public TaobaoTopAuthTokenCreateResponse TaobaoTopAuthTokenCreate(TaobaoTopAuthTokenCreateRequest request)
  71. {
  72. var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
  73. if (string.IsNullOrEmpty(jsonResult))
  74. {
  75. throw new Exception("error");
  76. }
  77. var resultObj = TopUtils.parseResultJson<TaobaoTopAuthTokenCreateResponse>(jsonResult);
  78. if(string.IsNullOrEmpty(resultObj.Body))
  79. {
  80. resultObj.Body = jsonResult;
  81. }
  82. return resultObj;
  83. }
  84. /*
  85. 获取授权账号对应的OpenUid
  86. taobao.openuid.get
  87. */
  88. public TaobaoOpenuidGetResponse TaobaoOpenuidGet(TaobaoOpenuidGetRequest request,String session)
  89. {
  90. var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam(),session);
  91. if (string.IsNullOrEmpty(jsonResult))
  92. {
  93. throw new Exception("error");
  94. }
  95. var resultObj = TopUtils.parseResultJson<TaobaoOpenuidGetResponse>(jsonResult);
  96. if(string.IsNullOrEmpty(resultObj.Body))
  97. {
  98. resultObj.Body = jsonResult;
  99. }
  100. return resultObj;
  101. }
  102. /*
  103. 通过订单获取对应买家的openUID
  104. taobao.openuid.get.bytrade
  105. */
  106. public TaobaoOpenuidGetBytradeResponse TaobaoOpenuidGetBytrade(TaobaoOpenuidGetBytradeRequest request,String session)
  107. {
  108. var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam(),session);
  109. if (string.IsNullOrEmpty(jsonResult))
  110. {
  111. throw new Exception("error");
  112. }
  113. var resultObj = TopUtils.parseResultJson<TaobaoOpenuidGetBytradeResponse>(jsonResult);
  114. if(string.IsNullOrEmpty(resultObj.Body))
  115. {
  116. resultObj.Body = jsonResult;
  117. }
  118. return resultObj;
  119. }
  120. /*
  121. TOPDNS配置
  122. taobao.httpdns.get
  123. */
  124. public TaobaoHttpdnsGetResponse TaobaoHttpdnsGet(TaobaoHttpdnsGetRequest request)
  125. {
  126. var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
  127. if (string.IsNullOrEmpty(jsonResult))
  128. {
  129. throw new Exception("error");
  130. }
  131. var resultObj = TopUtils.parseResultJson<TaobaoHttpdnsGetResponse>(jsonResult);
  132. if(string.IsNullOrEmpty(resultObj.Body))
  133. {
  134. resultObj.Body = jsonResult;
  135. }
  136. return resultObj;
  137. }
  138. /*
  139. 获取TOP通道解密秘钥
  140. taobao.top.secret.get
  141. */
  142. public TaobaoTopSecretGetResponse TaobaoTopSecretGet(TaobaoTopSecretGetRequest request)
  143. {
  144. var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
  145. if (string.IsNullOrEmpty(jsonResult))
  146. {
  147. throw new Exception("error");
  148. }
  149. var resultObj = TopUtils.parseResultJson<TaobaoTopSecretGetResponse>(jsonResult);
  150. if(string.IsNullOrEmpty(resultObj.Body))
  151. {
  152. resultObj.Body = jsonResult;
  153. }
  154. return resultObj;
  155. }
  156. /*
  157. 通过mixnick转换openuid
  158. taobao.openuid.get.bymixnick
  159. */
  160. public TaobaoOpenuidGetBymixnickResponse TaobaoOpenuidGetBymixnick(TaobaoOpenuidGetBymixnickRequest request)
  161. {
  162. var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
  163. if (string.IsNullOrEmpty(jsonResult))
  164. {
  165. throw new Exception("error");
  166. }
  167. var resultObj = TopUtils.parseResultJson<TaobaoOpenuidGetBymixnickResponse>(jsonResult);
  168. if(string.IsNullOrEmpty(resultObj.Body))
  169. {
  170. resultObj.Body = jsonResult;
  171. }
  172. return resultObj;
  173. }
  174. /*
  175. sdk信息回调
  176. taobao.top.sdk.feedback.upload
  177. */
  178. public TaobaoTopSdkFeedbackUploadResponse TaobaoTopSdkFeedbackUpload(TaobaoTopSdkFeedbackUploadRequest request)
  179. {
  180. var jsonResult = topApiClient.Execute(request.GetApiCode(),request.ToRequestParam(),request.ToFileParam());
  181. if (string.IsNullOrEmpty(jsonResult))
  182. {
  183. throw new Exception("error");
  184. }
  185. var resultObj = TopUtils.parseResultJson<TaobaoTopSdkFeedbackUploadResponse>(jsonResult);
  186. if(string.IsNullOrEmpty(resultObj.Body))
  187. {
  188. resultObj.Body = jsonResult;
  189. }
  190. return resultObj;
  191. }
  192. public ITopApiClient TopApiClient
  193. {
  194. get => topApiClient;
  195. set => topApiClient = value ?? throw new ArgumentNullException(nameof(value));
  196. }
  197. }