Class: GrowsurfRuby::Resources::Campaign::Options

Inherits:
Object
  • Object
show all
Defined in:
lib/growsurf_ruby/resources/campaign/options.rb,
sig/growsurf_ruby/resources/campaign/options.rbs

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Options

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Options.

Parameters:



58
59
60
# File 'lib/growsurf_ruby/resources/campaign/options.rb', line 58

def initialize(client:)
  @client = client
end

Instance Method Details

#retrieve(id, request_options: {}) ⇒ Hash{Symbol=>Object}

Retrieves a program's options — the same surface as the dashboard Program Editor's Options tab. Includes reward/fraud approval, anti-fraud lists + toggles, referral cookie/credit windows, reCAPTCHA, payout threshold + tax settings (affiliate only), and notification-email settings. fraud.recaptcha.secretKey is never returned.

Parameters:

Returns:

  • (Hash{Symbol=>Object})


20
21
22
23
24
25
26
27
# File 'lib/growsurf_ruby/resources/campaign/options.rb', line 20

def retrieve(id, params = {})
  @client.request(
    method: :get,
    path: ["campaign/%1$s/options", id],
    model: GrowsurfRuby::Internal::Type::HashOf[GrowsurfRuby::Internal::Type::Unknown],
    options: params[:request_options]
  )
end

#update(id, body, request_options: {}) ⇒ Hash{Symbol=>Object}

Updates a program's options. Only the fields you send are changed. Some fields are program-type specific (requireManualRewardApproval/autoFulfillRewards are referral-only; payoutThreshold/taxDocumentation are affiliate-only, and affiliate programs require requireParticipantAuth: true). fraud.recaptcha.secretKey is write-only. referralCreditWindowDays: null means "never expires".

Parameters:

  • id (String)

    GrowSurf program ID.

  • body (Hash{Symbol=>Object})

    Partial options configuration to merge.

  • request_options (GrowsurfRuby::RequestOptions, Hash{Symbol=>Object}, nil)

Returns:

  • (Hash{Symbol=>Object})


45
46
47
48
49
50
51
52
53
# File 'lib/growsurf_ruby/resources/campaign/options.rb', line 45

def update(id, body, params = {})
  @client.request(
    method: :patch,
    path: ["campaign/%1$s/options", id],
    body: body,
    model: GrowsurfRuby::Internal::Type::HashOf[GrowsurfRuby::Internal::Type::Unknown],
    options: params[:request_options]
  )
end