api_call_back_url.go 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. // Copyright 2021 Tencent Inc. All rights reserved.
  2. //
  3. // 微信支付营销系统开放API
  4. //
  5. // 新增立减金api
  6. //
  7. // API version: 3.4.0
  8. // Code generated by WechatPay APIv3 Generator based on [OpenAPI Generator](https://openapi-generator.tech); DO NOT EDIT.
  9. package cashcoupons
  10. import (
  11. "context"
  12. "fmt"
  13. nethttp "net/http"
  14. neturl "net/url"
  15. "git.nanodreamtech.com/sg/wechatpay-go/core"
  16. "git.nanodreamtech.com/sg/wechatpay-go/core/consts"
  17. "git.nanodreamtech.com/sg/wechatpay-go/services"
  18. )
  19. type CallBackUrlApiService services.Service
  20. // QueryCallback 查询代金券消息通知地址
  21. //
  22. // 通过此接口查询营销事件通知的回调URL地址
  23. //
  24. // 接口频率:2000QPS
  25. //
  26. // 前置条件:开通营销事件推送产品权限
  27. func (a *CallBackUrlApiService) QueryCallback(ctx context.Context, req QueryCallbackRequest) (resp *Callback, result *core.APIResult, err error) {
  28. var (
  29. localVarHTTPMethod = nethttp.MethodGet
  30. localVarPostBody interface{}
  31. localVarQueryParams neturl.Values
  32. localVarHeaderParams = nethttp.Header{}
  33. )
  34. localVarPath := consts.WechatPayAPIServer + "/v3/marketing/favor/callbacks"
  35. // Make sure All Required Params are properly set
  36. if req.Mchid == nil {
  37. return nil, nil, fmt.Errorf("field `Mchid` is required and must be specified in QueryCallbackRequest")
  38. }
  39. // Setup Query Params
  40. localVarQueryParams = neturl.Values{}
  41. localVarQueryParams.Add("mchid", core.ParameterToString(*req.Mchid, ""))
  42. // Determine the Content-Type Header
  43. localVarHTTPContentTypes := []string{}
  44. // Setup Content-Type
  45. localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
  46. // Perform Http Request
  47. result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
  48. if err != nil {
  49. return nil, result, err
  50. }
  51. // Extract Callback from Http Response
  52. resp = new(Callback)
  53. err = core.UnMarshalResponse(result.Response, resp)
  54. if err != nil {
  55. return nil, result, err
  56. }
  57. return resp, result, nil
  58. }
  59. // SetCallback 设置代金券消息通知地址
  60. //
  61. // 通过此接口设置营销事件通知的回调URL地址
  62. //
  63. // 接口频率:1000/min
  64. //
  65. // 前置条件:开通营销事件推送产品权限
  66. //
  67. // 可接收营销相关的事件通知:核销通知
  68. //
  69. // 注意:
  70. //
  71. // 1. 该接口只能创建商户号进行设置
  72. func (a *CallBackUrlApiService) SetCallback(ctx context.Context, req SetCallbackRequest) (resp *SetCallbackResponse, result *core.APIResult, err error) {
  73. var (
  74. localVarHTTPMethod = nethttp.MethodPost
  75. localVarPostBody interface{}
  76. localVarQueryParams neturl.Values
  77. localVarHeaderParams = nethttp.Header{}
  78. )
  79. localVarPath := consts.WechatPayAPIServer + "/v3/marketing/favor/callbacks"
  80. // Make sure All Required Params are properly set
  81. // Setup Body Params
  82. localVarPostBody = req
  83. // Determine the Content-Type Header
  84. localVarHTTPContentTypes := []string{"application/json"}
  85. // Setup Content-Type
  86. localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes)
  87. // Perform Http Request
  88. result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType)
  89. if err != nil {
  90. return nil, result, err
  91. }
  92. // Extract SetCallbackResponse from Http Response
  93. resp = new(SetCallbackResponse)
  94. err = core.UnMarshalResponse(result.Response, resp)
  95. if err != nil {
  96. return nil, result, err
  97. }
  98. return resp, result, nil
  99. }