// Copyright 2021 Tencent Inc. All rights reserved. // // 支付有礼活动对外API // // No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) // // API version: 0.1.2 // Code generated by WechatPay APIv3 Generator based on [OpenAPI Generator](https://openapi-generator.tech); DO NOT EDIT. package giftactivity import ( "context" "fmt" nethttp "net/http" neturl "net/url" "strings" "git.nanodreamtech.com/sg/wechatpay-go/core" "git.nanodreamtech.com/sg/wechatpay-go/core/consts" "git.nanodreamtech.com/sg/wechatpay-go/services" ) type ActivityApiService services.Service // AddActivityMerchant 新增活动发券商户号 // // 使用场景:商户创建活动后,可以通过该接口增加支付有礼的发券商户号,用于管理活动。 // 可调用商户:商户/服务商/渠道商 func (a *ActivityApiService) AddActivityMerchant(ctx context.Context, req AddActivityMerchantRequest) (resp *AddActivityMerchantResponse, result *core.APIResult, err error) { var ( localVarHTTPMethod = nethttp.MethodPost localVarPostBody interface{} localVarQueryParams neturl.Values localVarHeaderParams = nethttp.Header{} ) // Make sure Path Params are properly set if req.ActivityId == nil { return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in AddActivityMerchantRequest") } localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}/merchants/add" // Build Path with Path Params localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1) // Make sure All Required Params are properly set // Setup Body Params localVarPostBody = &AddActivityMerchantBody{ MerchantIdList: req.MerchantIdList, AddRequestNo: req.AddRequestNo, } // Determine the Content-Type Header localVarHTTPContentTypes := []string{"application/json"} // Setup Content-Type localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes) // Perform Http Request result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType) if err != nil { return nil, result, err } // Extract AddActivityMerchantResponse from Http Response resp = new(AddActivityMerchantResponse) err = core.UnMarshalResponse(result.Response, resp) if err != nil { return nil, result, err } return resp, result, nil } // CreateFullSendAct 创建全场满额送活动 // // 使用场景:商户可以创建满额送活动,用户支付后送全场券,提升交易额。 // 可调用商户:商户/服务商/渠道商 func (a *ActivityApiService) CreateFullSendAct(ctx context.Context, req CreateFullSendActRequest) (resp *CreateFullSendActResponse, result *core.APIResult, err error) { var ( localVarHTTPMethod = nethttp.MethodPost localVarPostBody interface{} localVarQueryParams neturl.Values localVarHeaderParams = nethttp.Header{} ) localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/unique-threshold-activity" // Make sure All Required Params are properly set // Setup Body Params localVarPostBody = req // Determine the Content-Type Header localVarHTTPContentTypes := []string{"application/json"} // Setup Content-Type localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes) // Perform Http Request result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType) if err != nil { return nil, result, err } // Extract CreateFullSendActResponse from Http Response resp = new(CreateFullSendActResponse) err = core.UnMarshalResponse(result.Response, resp) if err != nil { return nil, result, err } return resp, result, nil } // DeleteActivityMerchant 删除活动发券商户号 // // 使用场景:商户创建活动后,可以通过该接口删除支付有礼的发券商户号,用于管理活动。 // 可调用商户:商户/服务商/渠道商 func (a *ActivityApiService) DeleteActivityMerchant(ctx context.Context, req DeleteActivityMerchantRequest) (resp *DeleteActivityMerchantResponse, result *core.APIResult, err error) { var ( localVarHTTPMethod = nethttp.MethodPost localVarPostBody interface{} localVarQueryParams neturl.Values localVarHeaderParams = nethttp.Header{} ) // Make sure Path Params are properly set if req.ActivityId == nil { return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in DeleteActivityMerchantRequest") } localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}/merchants/delete" // Build Path with Path Params localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1) // Make sure All Required Params are properly set // Setup Body Params localVarPostBody = &DeleteActivityMerchantBody{ MerchantIdList: req.MerchantIdList, DeleteRequestNo: req.DeleteRequestNo, } // Determine the Content-Type Header localVarHTTPContentTypes := []string{"application/json"} // Setup Content-Type localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes) // Perform Http Request result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType) if err != nil { return nil, result, err } // Extract DeleteActivityMerchantResponse from Http Response resp = new(DeleteActivityMerchantResponse) err = core.UnMarshalResponse(result.Response, resp) if err != nil { return nil, result, err } return resp, result, nil } // GetActDetail 获取活动详情接口 // // 使用场景:商户创建活动后,可以通过该接口查询支付有礼的活动详情,用于管理活动。 // 可调用商户:商户/服务商/渠道商 func (a *ActivityApiService) GetActDetail(ctx context.Context, req GetActDetailRequest) (resp *GetActDetailResponse, result *core.APIResult, err error) { var ( localVarHTTPMethod = nethttp.MethodGet localVarPostBody interface{} localVarQueryParams neturl.Values localVarHeaderParams = nethttp.Header{} ) // Make sure Path Params are properly set if req.ActivityId == nil { return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in GetActDetailRequest") } localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}" // Build Path with Path Params localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1) // Make sure All Required Params are properly set // Determine the Content-Type Header localVarHTTPContentTypes := []string{} // Setup Content-Type localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes) // Perform Http Request result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType) if err != nil { return nil, result, err } // Extract GetActDetailResponse from Http Response resp = new(GetActDetailResponse) err = core.UnMarshalResponse(result.Response, resp) if err != nil { return nil, result, err } return resp, result, nil } // ListActivities 获取支付有礼活动列表 // // 使用场景:商户根据一定过滤条件,查询已创建的支付有礼活动。 // 可调用商户:商户/服务商/渠道商 func (a *ActivityApiService) ListActivities(ctx context.Context, req ListActivitiesRequest) (resp *ListActivitiesResponse, result *core.APIResult, err error) { var ( localVarHTTPMethod = nethttp.MethodGet localVarPostBody interface{} localVarQueryParams neturl.Values localVarHeaderParams = nethttp.Header{} ) localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities" // Make sure All Required Params are properly set if req.Offset == nil { return nil, nil, fmt.Errorf("field `Offset` is required and must be specified in ListActivitiesRequest") } if req.Limit == nil { return nil, nil, fmt.Errorf("field `Limit` is required and must be specified in ListActivitiesRequest") } // Setup Query Params localVarQueryParams = neturl.Values{} localVarQueryParams.Add("offset", core.ParameterToString(*req.Offset, "")) localVarQueryParams.Add("limit", core.ParameterToString(*req.Limit, "")) if req.ActivityName != nil { localVarQueryParams.Add("activity_name", core.ParameterToString(*req.ActivityName, "")) } if req.ActivityStatus != nil { localVarQueryParams.Add("activity_status", core.ParameterToString(*req.ActivityStatus, "")) } if req.AwardType != nil { localVarQueryParams.Add("award_type", core.ParameterToString(*req.AwardType, "")) } // Determine the Content-Type Header localVarHTTPContentTypes := []string{} // Setup Content-Type localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes) // Perform Http Request result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType) if err != nil { return nil, result, err } // Extract ListActivitiesResponse from Http Response resp = new(ListActivitiesResponse) err = core.UnMarshalResponse(result.Response, resp) if err != nil { return nil, result, err } return resp, result, nil } // ListActivityMerchant 获取活动发券商户号 // // 使用场景:商户创建活动后,可以通过该接口查询支付有礼的发券商户号,用于管理活动。 // 可调用商户:商户/服务商/渠道商 func (a *ActivityApiService) ListActivityMerchant(ctx context.Context, req ListActivityMerchantRequest) (resp *ListActMchResponse, result *core.APIResult, err error) { var ( localVarHTTPMethod = nethttp.MethodGet localVarPostBody interface{} localVarQueryParams neturl.Values localVarHeaderParams = nethttp.Header{} ) // Make sure Path Params are properly set if req.ActivityId == nil { return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in ListActivityMerchantRequest") } localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}/merchants" // Build Path with Path Params localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1) // Make sure All Required Params are properly set // Setup Query Params localVarQueryParams = neturl.Values{} if req.Offset != nil { localVarQueryParams.Add("offset", core.ParameterToString(*req.Offset, "")) } if req.Limit != nil { localVarQueryParams.Add("limit", core.ParameterToString(*req.Limit, "")) } // Determine the Content-Type Header localVarHTTPContentTypes := []string{} // Setup Content-Type localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes) // Perform Http Request result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType) if err != nil { return nil, result, err } // Extract ListActMchResponse from Http Response resp = new(ListActMchResponse) err = core.UnMarshalResponse(result.Response, resp) if err != nil { return nil, result, err } return resp, result, nil } // ListActivitySku 获取活动指定商品列表 // // 使用场景:商户创建活动后,可以通过该接口查询支付有礼的活动指定商品,用于管理活动。 // 可调用商户:商户/服务商/渠道商 func (a *ActivityApiService) ListActivitySku(ctx context.Context, req ListActivitySkuRequest) (resp *ListActSkuResponse, result *core.APIResult, err error) { var ( localVarHTTPMethod = nethttp.MethodGet localVarPostBody interface{} localVarQueryParams neturl.Values localVarHeaderParams = nethttp.Header{} ) // Make sure Path Params are properly set if req.ActivityId == nil { return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in ListActivitySkuRequest") } localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}/goods" // Build Path with Path Params localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1) // Make sure All Required Params are properly set // Setup Query Params localVarQueryParams = neturl.Values{} if req.Offset != nil { localVarQueryParams.Add("offset", core.ParameterToString(*req.Offset, "")) } if req.Limit != nil { localVarQueryParams.Add("limit", core.ParameterToString(*req.Limit, "")) } // Determine the Content-Type Header localVarHTTPContentTypes := []string{} // Setup Content-Type localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes) // Perform Http Request result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType) if err != nil { return nil, result, err } // Extract ListActSkuResponse from Http Response resp = new(ListActSkuResponse) err = core.UnMarshalResponse(result.Response, resp) if err != nil { return nil, result, err } return resp, result, nil } // TerminateActivity 终止活动 // // 使用场景:商户可以通过该接口停止支付有礼活动。 // 可调用商户:商户/服务商/渠道商 func (a *ActivityApiService) TerminateActivity(ctx context.Context, req TerminateActivityRequest) (resp *TerminateActResponse, result *core.APIResult, err error) { var ( localVarHTTPMethod = nethttp.MethodPost localVarPostBody interface{} localVarQueryParams neturl.Values localVarHeaderParams = nethttp.Header{} ) // Make sure Path Params are properly set if req.ActivityId == nil { return nil, nil, fmt.Errorf("field `ActivityId` is required and must be specified in TerminateActivityRequest") } localVarPath := consts.WechatPayAPIServer + "/v3/marketing/paygiftactivity/activities/{activity_id}/terminate" // Build Path with Path Params localVarPath = strings.Replace(localVarPath, "{"+"activity_id"+"}", neturl.PathEscape(core.ParameterToString(*req.ActivityId, "")), -1) // Make sure All Required Params are properly set // Determine the Content-Type Header localVarHTTPContentTypes := []string{} // Setup Content-Type localVarHTTPContentType := core.SelectHeaderContentType(localVarHTTPContentTypes) // Perform Http Request result, err = a.Client.Request(ctx, localVarHTTPMethod, localVarPath, localVarHeaderParams, localVarQueryParams, localVarPostBody, localVarHTTPContentType) if err != nil { return nil, result, err } // Extract TerminateActResponse from Http Response resp = new(TerminateActResponse) err = core.UnMarshalResponse(result.Response, resp) if err != nil { return nil, result, err } return resp, result, nil }