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:



60
61
62
# File 'lib/growsurf_ruby/resources/campaign/options.rb', line 60

def initialize(client:)
  @client = client
end

Instance Method Details

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

Retrieves a program's options configuration — the same surface as the dashboard Program Editor's Options tab (fraud/reCAPTCHA, tax documentation, notification emails, and other program settings).

To see the full object with every field and its current value, GET this resource, then PATCH back only the fields you want to change.

Parameters:

Returns:

  • (Hash{Symbol=>Object})


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

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 configuration. Only the fields you send are changed; anything you leave out is untouched. Unknown fields and invalid values return a 400.

The request body is a partial CampaignOptions object. To see the full object with every field and its current value, GET this resource, then PATCH back only the fields you want to change.

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})


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

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