Class: GrowsurfRuby::Resources::Campaign
- Inherits:
-
Object
- Object
- GrowsurfRuby::Resources::Campaign
- Defined in:
- lib/growsurf_ruby/resources/campaign.rb,
lib/growsurf_ruby/resources/campaign/design.rb,
lib/growsurf_ruby/resources/campaign/emails.rb,
lib/growsurf_ruby/resources/campaign/reward.rb,
lib/growsurf_ruby/resources/campaign/options.rb,
lib/growsurf_ruby/resources/campaign/rewards.rb,
lib/growsurf_ruby/resources/campaign/webhooks.rb,
lib/growsurf_ruby/resources/campaign/commission.rb,
lib/growsurf_ruby/resources/campaign/participant.rb,
lib/growsurf_ruby/resources/campaign/installation.rb,
sig/growsurf_ruby/resources/campaign.rbs,
sig/growsurf_ruby/resources/campaign/design.rbs,
sig/growsurf_ruby/resources/campaign/emails.rbs,
sig/growsurf_ruby/resources/campaign/reward.rbs,
sig/growsurf_ruby/resources/campaign/options.rbs,
sig/growsurf_ruby/resources/campaign/rewards.rbs,
sig/growsurf_ruby/resources/campaign/webhooks.rbs,
sig/growsurf_ruby/resources/campaign/commission.rbs,
sig/growsurf_ruby/resources/campaign/participant.rbs,
sig/growsurf_ruby/resources/campaign/installation.rbs
Defined Under Namespace
Classes: Commission, Design, Emails, Installation, Options, Participant, Reward, Rewards, Webhooks
Instance Attribute Summary collapse
-
#commission ⇒ GrowsurfRuby::Resources::Campaign::Commission
readonly
Affiliate transaction, commission, and payout operations.
-
#design ⇒ GrowsurfRuby::Resources::Campaign::Design
readonly
Program Editor "Design" tab configuration operations.
-
#emails ⇒ GrowsurfRuby::Resources::Campaign::Emails
readonly
Program Editor "Emails" tab configuration operations.
-
#installation ⇒ GrowsurfRuby::Resources::Campaign::Installation
readonly
Program Editor "Installation" tab configuration operations.
-
#options ⇒ GrowsurfRuby::Resources::Campaign::Options
readonly
Program Editor "Options" tab configuration operations.
- #participant ⇒ GrowsurfRuby::Resources::Campaign::Participant readonly
-
#reward ⇒ GrowsurfRuby::Resources::Campaign::Reward
readonly
Participant reward retrieval and manual reward operations.
-
#rewards ⇒ GrowsurfRuby::Resources::Campaign::Rewards
readonly
Campaign reward configuration operations.
-
#webhooks ⇒ GrowsurfRuby::Resources::Campaign::Webhooks
readonly
Program webhook configuration operations.
Instance Method Summary collapse
-
#clone(id, request_options: {}) ⇒ GrowsurfRuby::Models::CampaignAPI
Clones an existing program into a new
DRAFTprogram. -
#create(type:, company_logo_image_url: nil, company_name: nil, currency_iso: nil, name: nil, rewards: nil, request_options: {}) ⇒ GrowsurfRuby::Models::CampaignAPI
Creates a new program, plus any optional program rewards.
-
#create_mobile_participant_token(id, email:, fingerprint: nil, first_name: nil, ip_address: nil, last_name: nil, metadata: nil, mobile_instance_id: nil, referral_status: nil, referred_by: nil, request_options: {}) ⇒ GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenResponse
Some parameter documentations has been truncated, see Models::CampaignCreateMobileParticipantTokenParams for more details.
-
#initialize(client:) ⇒ Campaign
constructor
private
A new instance of Campaign.
-
#list(request_options: {}) ⇒ GrowsurfRuby::Models::CampaignListResponse
Retrieves a list of your programs.
-
#list_commissions(id, limit: nil, next_id: nil, status: nil, request_options: {}) ⇒ GrowsurfRuby::Models::ParticipantCommissionList
Affiliate programs only. Retrieves a paged list of all participant commissions in an affiliate program.
-
#list_leaderboard(id, is_monthly: nil, leaderboard_type: nil, limit: nil, next_id: nil, request_options: {}) ⇒ GrowsurfRuby::Models::ParticipantList
Retrieves participants in leaderboard order for the specified leaderboard type.
-
#list_participants(id, limit: nil, next_id: nil, request_options: {}) ⇒ GrowsurfRuby::Models::ParticipantList
Retrieves a paged list of participants in a program.
-
#list_payouts(id, limit: nil, next_id: nil, status: nil, request_options: {}) ⇒ GrowsurfRuby::Models::ParticipantPayoutList
Affiliate programs only. Retrieves a paged list of all participant payouts in an affiliate program.
-
#list_referrals(id, desc: nil, email: nil, first_name: nil, last_name: nil, limit: nil, next_id: nil, offset: nil, referral_status: nil, sort_by: nil, request_options: {}) ⇒ GrowsurfRuby::Models::ReferralList
Retrieves a list of all referrals and email invites made by participants in a program.
-
#retrieve(id, request_options: {}) ⇒ GrowsurfRuby::Models::CampaignAPI
Retrieves a program for the given program ID.
-
#retrieve_analytics(id, days: nil, end_date: nil, include: nil, interval: nil, start_date: nil, request_options: {}) ⇒ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse
Some parameter documentations has been truncated, see Models::CampaignRetrieveAnalyticsParams for more details.
-
#update(id, company_logo_image_url: nil, company_name: nil, name: nil, status: nil, request_options: {}) ⇒ GrowsurfRuby::Models::CampaignAPI
Updates a program's identity and lifecycle.
Constructor Details
#initialize(client:) ⇒ Campaign
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 Campaign.
423 424 425 426 427 428 429 430 431 432 433 434 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 423 def initialize(client:) @client = client @participant = GrowsurfRuby::Resources::Campaign::Participant.new(client: client) @reward = GrowsurfRuby::Resources::Campaign::Reward.new(client: client) @commission = GrowsurfRuby::Resources::Campaign::Commission.new(client: client) @rewards = GrowsurfRuby::Resources::Campaign::Rewards.new(client: client) @design = GrowsurfRuby::Resources::Campaign::Design.new(client: client) @emails = GrowsurfRuby::Resources::Campaign::Emails.new(client: client) @options = GrowsurfRuby::Resources::Campaign::Options.new(client: client) @installation = GrowsurfRuby::Resources::Campaign::Installation.new(client: client) @webhooks = GrowsurfRuby::Resources::Campaign::Webhooks.new(client: client) end |
Instance Attribute Details
#commission ⇒ GrowsurfRuby::Resources::Campaign::Commission (readonly)
Affiliate transaction, commission, and payout operations.
15 16 17 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 15 def commission @commission end |
#design ⇒ GrowsurfRuby::Resources::Campaign::Design (readonly)
Program Editor "Design" tab configuration operations.
23 24 25 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 23 def design @design end |
#emails ⇒ GrowsurfRuby::Resources::Campaign::Emails (readonly)
Program Editor "Emails" tab configuration operations.
27 28 29 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 27 def emails @emails end |
#installation ⇒ GrowsurfRuby::Resources::Campaign::Installation (readonly)
Program Editor "Installation" tab configuration operations.
35 36 37 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 35 def installation @installation end |
#options ⇒ GrowsurfRuby::Resources::Campaign::Options (readonly)
Program Editor "Options" tab configuration operations.
31 32 33 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 31 def @options end |
#participant ⇒ GrowsurfRuby::Resources::Campaign::Participant (readonly)
7 8 9 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 7 def participant @participant end |
#reward ⇒ GrowsurfRuby::Resources::Campaign::Reward (readonly)
Participant reward retrieval and manual reward operations.
11 12 13 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 11 def reward @reward end |
#rewards ⇒ GrowsurfRuby::Resources::Campaign::Rewards (readonly)
Campaign reward configuration operations.
19 20 21 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 19 def rewards @rewards end |
#webhooks ⇒ GrowsurfRuby::Resources::Campaign::Webhooks (readonly)
Program webhook configuration operations.
39 40 41 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 39 def webhooks @webhooks end |
Instance Method Details
#clone(id, request_options: {}) ⇒ GrowsurfRuby::Models::CampaignAPI
Clones an existing program into a new DRAFT program. Integrations and
credentials are not copied; active rewards are cloned.
156 157 158 159 160 161 162 163 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 156 def clone(id, params = {}) @client.request( method: :post, path: ["campaign/%1$s/clone", id], model: GrowsurfRuby::CampaignAPI, options: params[:request_options] ) end |
#create(type:, company_logo_image_url: nil, company_name: nil, currency_iso: nil, name: nil, rewards: nil, request_options: {}) ⇒ GrowsurfRuby::Models::CampaignAPI
Creates a new program, plus any optional program rewards. The new program is
created in DRAFT status and owned by the API key's bound team.
101 102 103 104 105 106 107 108 109 110 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 101 def create(params) parsed, = GrowsurfRuby::CampaignCreateParams.dump_request(params) @client.request( method: :post, path: "campaigns", body: parsed, model: GrowsurfRuby::CampaignAPI, options: ) end |
#create_mobile_participant_token(id, email:, fingerprint: nil, first_name: nil, ip_address: nil, last_name: nil, metadata: nil, mobile_instance_id: nil, referral_status: nil, referred_by: nil, request_options: {}) ⇒ GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenResponse
Some parameter documentations has been truncated, see Models::CampaignCreateMobileParticipantTokenParams for more details.
Creates or returns a participant using the same input behavior as Add Participant, then returns a participant-scoped token for GrowSurf mobile SDK participant endpoints. Use this endpoint from your backend after your mobile app authenticates a signed-in user. The program must have mobile SDK access enabled.
201 202 203 204 205 206 207 208 209 210 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 201 def create_mobile_participant_token(id, params) parsed, = GrowsurfRuby::CampaignCreateMobileParticipantTokenParams.dump_request(params) @client.request( method: :post, path: ["campaign/%1$s/mobile-participant-token", id], body: parsed, model: GrowsurfRuby::Models::CampaignCreateMobileParticipantTokenResponse, options: ) end |
#list(request_options: {}) ⇒ GrowsurfRuby::Models::CampaignListResponse
Retrieves a list of your programs. Deleted programs are not returned.
70 71 72 73 74 75 76 77 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 70 def list(params = {}) @client.request( method: :get, path: "campaigns", model: GrowsurfRuby::Models::CampaignListResponse, options: params[:request_options] ) end |
#list_commissions(id, limit: nil, next_id: nil, status: nil, request_options: {}) ⇒ GrowsurfRuby::Models::ParticipantCommissionList
Affiliate programs only. Retrieves a paged list of all participant commissions in an affiliate program.
230 231 232 233 234 235 236 237 238 239 240 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 230 def list_commissions(id, params = {}) parsed, = GrowsurfRuby::CampaignListCommissionsParams.dump_request(params) query = GrowsurfRuby::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["campaign/%1$s/commissions", id], query: query.transform_keys(next_id: "nextId"), model: GrowsurfRuby::ParticipantCommissionList, options: ) end |
#list_leaderboard(id, is_monthly: nil, leaderboard_type: nil, limit: nil, next_id: nil, request_options: {}) ⇒ GrowsurfRuby::Models::ParticipantList
Retrieves participants in leaderboard order for the specified leaderboard type.
261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 261 def list_leaderboard(id, params = {}) parsed, = GrowsurfRuby::CampaignListLeaderboardParams.dump_request(params) query = GrowsurfRuby::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["campaign/%1$s/leaderboard", id], query: query.transform_keys( is_monthly: "isMonthly", leaderboard_type: "leaderboardType", next_id: "nextId" ), model: GrowsurfRuby::ParticipantList, options: ) end |
#list_participants(id, limit: nil, next_id: nil, request_options: {}) ⇒ GrowsurfRuby::Models::ParticipantList
Retrieves a paged list of participants in a program.
292 293 294 295 296 297 298 299 300 301 302 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 292 def list_participants(id, params = {}) parsed, = GrowsurfRuby::CampaignListParticipantsParams.dump_request(params) query = GrowsurfRuby::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["campaign/%1$s/participants", id], query: query.transform_keys(next_id: "nextId"), model: GrowsurfRuby::ParticipantList, options: ) end |
#list_payouts(id, limit: nil, next_id: nil, status: nil, request_options: {}) ⇒ GrowsurfRuby::Models::ParticipantPayoutList
Affiliate programs only. Retrieves a paged list of all participant payouts in an affiliate program.
322 323 324 325 326 327 328 329 330 331 332 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 322 def list_payouts(id, params = {}) parsed, = GrowsurfRuby::CampaignListPayoutsParams.dump_request(params) query = GrowsurfRuby::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["campaign/%1$s/payouts", id], query: query.transform_keys(next_id: "nextId"), model: GrowsurfRuby::ParticipantPayoutList, options: ) end |
#list_referrals(id, desc: nil, email: nil, first_name: nil, last_name: nil, limit: nil, next_id: nil, offset: nil, referral_status: nil, sort_by: nil, request_options: {}) ⇒ GrowsurfRuby::Models::ReferralList
Retrieves a list of all referrals and email invites made by participants in a program.
364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 364 def list_referrals(id, params = {}) parsed, = GrowsurfRuby::CampaignListReferralsParams.dump_request(params) query = GrowsurfRuby::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["campaign/%1$s/referrals", id], query: query.transform_keys( first_name: "firstName", last_name: "lastName", next_id: "nextId", referral_status: "referralStatus", sort_by: "sortBy" ), model: GrowsurfRuby::ReferralList, options: ) end |
#retrieve(id, request_options: {}) ⇒ GrowsurfRuby::Models::CampaignAPI
Retrieves a program for the given program ID.
52 53 54 55 56 57 58 59 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 52 def retrieve(id, params = {}) @client.request( method: :get, path: ["campaign/%1$s", id], model: GrowsurfRuby::CampaignAPI, options: params[:request_options] ) end |
#retrieve_analytics(id, days: nil, end_date: nil, include: nil, interval: nil, start_date: nil, request_options: {}) ⇒ GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse
Some parameter documentations has been truncated, see Models::CampaignRetrieveAnalyticsParams for more details.
Retrieves analytics for a program. Pass interval to also get a time-series
(series) alongside the totals, and include to add previous-period totals,
status breakdowns, or derived rates — useful for detecting trends over time.
408 409 410 411 412 413 414 415 416 417 418 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 408 def retrieve_analytics(id, params = {}) parsed, = GrowsurfRuby::CampaignRetrieveAnalyticsParams.dump_request(params) query = GrowsurfRuby::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["campaign/%1$s/analytics", id], query: query.transform_keys(end_date: "endDate", start_date: "startDate"), model: GrowsurfRuby::Models::CampaignRetrieveAnalyticsResponse, options: ) end |
#update(id, company_logo_image_url: nil, company_name: nil, name: nil, status: nil, request_options: {}) ⇒ GrowsurfRuby::Models::CampaignAPI
Updates a program's identity and lifecycle. Only the fields you send are
changed. type, urlId, and currencyISO are immutable. Editor-tab
configuration (design, emails, options, installation) is edited via the
dedicated config sub-resources, not here. The program cannot be deleted via this
endpoint.
135 136 137 138 139 140 141 142 143 144 |
# File 'lib/growsurf_ruby/resources/campaign.rb', line 135 def update(id, params) parsed, = GrowsurfRuby::CampaignUpdateParams.dump_request(params) @client.request( method: :patch, path: ["campaign/%1$s", id], body: parsed, model: GrowsurfRuby::CampaignAPI, options: ) end |