Class: GrowsurfRuby::Resources::Campaign::Participant
- Inherits:
-
Object
- Object
- GrowsurfRuby::Resources::Campaign::Participant
- Defined in:
- lib/growsurf_ruby/resources/campaign/participant.rb,
sig/growsurf_ruby/resources/campaign/participant.rbs
Instance Method Summary collapse
-
#add(id, email:, fingerprint: nil, first_name: nil, ip_address: nil, is_affiliate: nil, last_name: nil, metadata: nil, mobile_instance_id: nil, referral_status: nil, referred_by: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::CampaignParticipant
Some parameter documentations has been truncated, see Models::Campaign::ParticipantAddParams for more details.
-
#bulk_delete(id, participants:, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantBulkDeleteResponse
Some parameter documentations has been truncated, see Models::Campaign::ParticipantBulkDeleteParams for more details.
-
#cancel_delayed_referral(participant_id_or_email, id:, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantCancelDelayedReferralResponse
Cancels a pending delayed referral trigger for a participant (the companion to a delayed Trigger referral request).
-
#delete(participant_id_or_email, id:, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantDeleteResponse
Removes a participant by GrowSurf participant ID or email address.
-
#email(participant_id_or_email, id:, body: nil, email_type: nil, preheader: nil, subject: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantEmailResponse
Sends an email to a participant.
-
#get_payout_destination(participant_id_or_email, id:, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantGetPayoutDestinationResponse
Returns a participant's payout-destination status across every payout provider enabled for the program (PayPal and/or Wise).
-
#initialize(client:) ⇒ Participant
constructor
private
A new instance of Participant.
-
#list_activity_logs(participant_id_or_email, id:, limit: nil, offset: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantActivityLogsResponse
Returns a participant's activity logs, most recent first (offset/limit paginated).
-
#list_commissions(participant_id_or_email, id:, limit: nil, next_id: nil, status: nil, request_options: {}) ⇒ GrowsurfRuby::Models::ParticipantCommissionList
Affiliate programs only. Retrieves a paged list of commissions earned by a participant.
-
#list_payouts(participant_id_or_email, id:, limit: nil, next_id: nil, status: nil, request_options: {}) ⇒ GrowsurfRuby::Models::ParticipantPayoutList
Affiliate programs only. Retrieves a paged list of payouts that belong to a participant.
-
#list_referrals(participant_id_or_email, 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 referrals and email invites made by a participant.
-
#list_rewards(participant_id_or_email, id:, limit: nil, next_id: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantListRewardsResponse
Retrieves a paged list of rewards earned by a participant.
-
#record_transaction(participant_id_or_email, id:, currency:, gross_amount:, amount_cash_net: nil, amount_paid: nil, charge_id: nil, customer_id: nil, description: nil, external_id: nil, invoice_id: nil, invoice_subtotal_excluding_tax: nil, invoice_total: nil, invoice_total_excluding_tax: nil, net_amount: nil, order_id: nil, paid_at: nil, payment_id: nil, payment_intent_id: nil, subscription_id: nil, tax_amount: nil, total_tax_amount: nil, total_tax_amounts: nil, total_taxes: nil, transaction_id: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantRecordTransactionResponse::UnionMember0, GrowsurfRuby::Models::Campaign::ParticipantRecordTransactionResponse::UnionMember1
Affiliate programs only. Records a sale made by a referred customer and generates affiliate commissions for their referrer when applicable.
-
#refund_transaction(participant_id_or_email, id:, amendment_type: nil, amount: nil, amount_refunded: nil, charge_id: nil, currency: nil, description: nil, external_id: nil, invoice_id: nil, order_id: nil, payment_id: nil, payment_intent_id: nil, refund_amount: nil, refund_id: nil, refund_status: nil, transaction_id: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantRefundTransactionResponse
Affiliate programs only. Records an amendment (refund, partial refund, refund cancellation, or chargeback) against a previously recorded transaction and reverses or adjusts the referrer's commission.
-
#request_payout_destination_confirmation(participant_id_or_email, id:, provider:, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse
Sends the participant a one-time link to confirm their payout destination for the chosen provider.
-
#retrieve(participant_id_or_email, id:, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::CampaignParticipant
Retrieves a single participant by GrowSurf participant ID or email address.
-
#retrieve_analytics(participant_id_or_email, id:, days: nil, end_date: nil, include: nil, interval: nil, start_date: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantAnalyticsResponse
Some parameter documentations has been truncated, see Models::Campaign::ParticipantRetrieveAnalyticsParams for more details.
-
#send_invites(participant_id_or_email, id:, email_addresses:, message_text:, subject_text:, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantSendInvitesResponse
Sends email invites on behalf of a participant to a list of email addresses.
-
#trigger_referral(participant_id_or_email, id:, delay_in_days: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantTriggerReferralResponse
Some parameter documentations has been truncated, see Models::Campaign::ParticipantTriggerReferralParams for more details.
-
#update(participant_id_or_email, id:, affiliate_status: nil, email: nil, first_name: nil, last_name: nil, metadata: nil, notes: nil, referral_status: nil, referred_by: nil, unsubscribed: nil, vanity_keys: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::CampaignParticipant
Updates a participant by GrowSurf participant ID or email address.
Constructor Details
#initialize(client:) ⇒ Participant
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 Participant.
804 805 806 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 804 def initialize(client:) @client = client end |
Instance Method Details
#add(id, email:, fingerprint: nil, first_name: nil, ip_address: nil, is_affiliate: nil, last_name: nil, metadata: nil, mobile_instance_id: nil, referral_status: nil, referred_by: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::CampaignParticipant
Some parameter documentations has been truncated, see Models::Campaign::ParticipantAddParams for more details.
Adds a new participant to the program. If the email already exists, the existing
participant is returned unchanged. For affiliate programs, set isAffiliate to
true to enroll a new participant as an approved affiliate or false to create
a non-affiliate. If you omit isAffiliate, a valid referredBy creates a
referred non-affiliate; without a valid referrer, the new participant is enrolled
as an approved affiliate. You can send a valid referredBy with
isAffiliate: true to keep the referral attribution and enroll the participant
as an affiliate.
187 188 189 190 191 192 193 194 195 196 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 187 def add(id, params) parsed, = GrowsurfRuby::Campaign::ParticipantAddParams.dump_request(params) @client.request( method: :post, path: ["campaign/%1$s/participant", id], body: parsed, model: GrowsurfRuby::Campaign::CampaignParticipant, options: ) end |
#bulk_delete(id, participants:, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantBulkDeleteResponse
Some parameter documentations has been truncated, see Models::Campaign::ParticipantBulkDeleteParams for more details.
Deletes a list of participants from a program in one request. Each entry in
participants is a GrowSurf participant ID or an email address (mixed lists are
allowed). Up to 200 entries per request — chunk larger lists across multiple
calls. The response reports a per-row status for every submitted entry, so a
200 can include rows that were NOT_FOUND or failed. Deletion is permanent
and removes the participants' referrals, rewards, commissions, and payout
records.
135 136 137 138 139 140 141 142 143 144 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 135 def bulk_delete(id, params) parsed, = GrowsurfRuby::Campaign::ParticipantBulkDeleteParams.dump_request(params) @client.request( method: :post, path: ["campaign/%1$s/participants/bulk-delete", id], body: parsed, model: GrowsurfRuby::Models::Campaign::ParticipantBulkDeleteResponse, options: ) end |
#cancel_delayed_referral(participant_id_or_email, id:, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantCancelDelayedReferralResponse
Cancels a pending delayed referral trigger for a participant (the companion to a
delayed Trigger referral request). Use this to undo a scheduled referral credit
before it is awarded, for example when a refund occurs inside your refund
window. If the participant has no pending delayed trigger, success is returned
as false.
589 590 591 592 593 594 595 596 597 598 599 600 601 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 589 def cancel_delayed_referral(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantCancelDelayedReferralParams.dump_request(params) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :delete, path: ["campaign/%1$s/participant/%2$s/ref", id, participant_id_or_email], model: GrowsurfRuby::Models::Campaign::ParticipantCancelDelayedReferralResponse, options: ) end |
#delete(participant_id_or_email, id:, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantDeleteResponse
Removes a participant by GrowSurf participant ID or email address.
99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 99 def delete(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantDeleteParams.dump_request(params) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :delete, path: ["campaign/%1$s/participant/%2$s", id, participant_id_or_email], model: GrowsurfRuby::Models::Campaign::ParticipantDeleteResponse, options: ) end |
#email(participant_id_or_email, id:, body: nil, email_type: nil, preheader: nil, subject: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantEmailResponse
Sends an email to a participant. Provide EITHER emailType to trigger one of
the program's configured email templates, OR subject + body for a free-form
email. Free-form emails are sent with the same compliance handling (company
name, postal address, and an unsubscribe link are added automatically, and
unsubscribed participants are suppressed). Sending requires the team to be
verified by GrowSurf. Requires a verified custom email domain on the program
(which can be completed in Campaign Editor > 3. Emails > Email Settings).
Returns 400 until one is verified. The email is accepted for delivery.
631 632 633 634 635 636 637 638 639 640 641 642 643 644 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 631 def email(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantEmailParams.dump_request(params) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :post, path: ["campaign/%1$s/participant/%2$s/email", id, participant_id_or_email], body: parsed, model: GrowsurfRuby::Models::Campaign::ParticipantEmailResponse, options: ) end |
#get_payout_destination(participant_id_or_email, id:, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantGetPayoutDestinationResponse
Returns a participant's payout-destination status across every payout provider
enabled for the program (PayPal and/or Wise). For each provider it reports the
current status, the confirmed claim email, the legal recipient type, and — when a
delivery bounced or a recipient was invalidated — the repair reason.
activeProvider is the provider that currently gets paid, or null until the
participant confirms one.
749 750 751 752 753 754 755 756 757 758 759 760 761 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 749 def get_payout_destination(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantGetPayoutDestinationParams.dump_request(params) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: ["campaign/%1$s/participant/%2$s/payout-destination", id, participant_id_or_email], model: GrowsurfRuby::Models::Campaign::ParticipantGetPayoutDestinationResponse, options: ) end |
#list_activity_logs(participant_id_or_email, id:, limit: nil, offset: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantActivityLogsResponse
Returns a participant's activity logs, most recent first (offset/limit paginated).
664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 664 def list_activity_logs(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantListActivityLogsParams.dump_request(params) query = GrowsurfRuby::Internal::Util.encode_query_params(parsed) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: ["campaign/%1$s/participant/%2$s/activity-logs", id, participant_id_or_email], query: query, model: GrowsurfRuby::Models::Campaign::ParticipantActivityLogsResponse, options: ) end |
#list_commissions(participant_id_or_email, id:, limit: nil, next_id: nil, status: nil, request_options: {}) ⇒ GrowsurfRuby::Models::ParticipantCommissionList
Affiliate programs only. Retrieves a paged list of commissions earned by a participant.
218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 218 def list_commissions(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantListCommissionsParams.dump_request(params) query = GrowsurfRuby::Internal::Util.encode_query_params(parsed) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: ["campaign/%1$s/participant/%2$s/commissions", id, participant_id_or_email], query: query.transform_keys(next_id: "nextId"), model: GrowsurfRuby::ParticipantCommissionList, options: ) end |
#list_payouts(participant_id_or_email, id:, limit: nil, next_id: nil, status: nil, request_options: {}) ⇒ GrowsurfRuby::Models::ParticipantPayoutList
Affiliate programs only. Retrieves a paged list of payouts that belong to a participant.
254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 254 def list_payouts(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantListPayoutsParams.dump_request(params) query = GrowsurfRuby::Internal::Util.encode_query_params(parsed) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: ["campaign/%1$s/participant/%2$s/payouts", id, participant_id_or_email], query: query.transform_keys(next_id: "nextId"), model: GrowsurfRuby::ParticipantPayoutList, options: ) end |
#list_referrals(participant_id_or_email, 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 referrals and email invites made by a participant.
301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 301 def list_referrals(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantListReferralsParams.dump_request(params) query = GrowsurfRuby::Internal::Util.encode_query_params(parsed) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: ["campaign/%1$s/participant/%2$s/referrals", id, participant_id_or_email], query: query.transform_keys( first_name: "firstName", last_name: "lastName", next_id: "nextId", referral_status: "referralStatus", sort_by: "sortBy" ), model: GrowsurfRuby::ReferralList, options: ) end |
#list_rewards(participant_id_or_email, id:, limit: nil, next_id: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantListRewardsResponse
Retrieves a paged list of rewards earned by a participant.
340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 340 def list_rewards(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantListRewardsParams.dump_request(params) query = GrowsurfRuby::Internal::Util.encode_query_params(parsed) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: ["campaign/%1$s/participant/%2$s/rewards", id, participant_id_or_email], query: query.transform_keys(next_id: "nextId"), model: GrowsurfRuby::Models::Campaign::ParticipantListRewardsResponse, options: ) end |
#record_transaction(participant_id_or_email, id:, currency:, gross_amount:, amount_cash_net: nil, amount_paid: nil, charge_id: nil, customer_id: nil, description: nil, external_id: nil, invoice_id: nil, invoice_subtotal_excluding_tax: nil, invoice_total: nil, invoice_total_excluding_tax: nil, net_amount: nil, order_id: nil, paid_at: nil, payment_id: nil, payment_intent_id: nil, subscription_id: nil, tax_amount: nil, total_tax_amount: nil, total_tax_amounts: nil, total_taxes: nil, transaction_id: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantRecordTransactionResponse::UnionMember0, GrowsurfRuby::Models::Campaign::ParticipantRecordTransactionResponse::UnionMember1
Affiliate programs only. Records a sale made by a referred customer and generates affiliate commissions for their referrer when applicable. Requires at least one transaction identifier (externalId, transactionId, orderId, paymentId, invoiceId, paymentIntentId, or chargeId) so repeated requests can be de-duplicated — without one, a resent sale would create a second commission. Reuse the same identifier(s) when refunding.
420 421 422 423 424 425 426 427 428 429 430 431 432 433 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 420 def record_transaction(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantRecordTransactionParams.dump_request(params) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :post, path: ["campaign/%1$s/participant/%2$s/transaction", id, participant_id_or_email], body: parsed, model: GrowsurfRuby::Models::Campaign::ParticipantRecordTransactionResponse, options: ) end |
#refund_transaction(participant_id_or_email, id:, amendment_type: nil, amount: nil, amount_refunded: nil, charge_id: nil, currency: nil, description: nil, external_id: nil, invoice_id: nil, order_id: nil, payment_id: nil, payment_intent_id: nil, refund_amount: nil, refund_id: nil, refund_status: nil, transaction_id: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantRefundTransactionResponse
Affiliate programs only. Records an amendment (refund, partial refund, refund cancellation, or chargeback) against a previously recorded transaction and reverses or adjusts the referrer's commission. The inverse of Record Affiliate Transaction. Identify the original transaction with the same identifier(s) you sent when recording it. Commissions already paid out to the affiliate are not clawed back; the amendment is recorded for tax reporting only.
483 484 485 486 487 488 489 490 491 492 493 494 495 496 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 483 def refund_transaction(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantRefundTransactionParams.dump_request(params) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :post, path: ["campaign/%1$s/participant/%2$s/transaction/refund", id, participant_id_or_email], body: parsed, model: GrowsurfRuby::Models::Campaign::ParticipantRefundTransactionResponse, options: ) end |
#request_payout_destination_confirmation(participant_id_or_email, id:, provider:, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse
Sends the participant a one-time link to confirm their payout destination for the chosen provider. Only the participant can open the link and confirm — this endpoint just triggers the message. The provider must be enabled for the program.
781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 781 def request_payout_destination_confirmation(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantRequestPayoutDestinationConfirmationParams.dump_request(params) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :post, path: [ "campaign/%1$s/participant/%2$s/payout-destination/request-confirmation", id, participant_id_or_email ], body: parsed, model: GrowsurfRuby::Models::Campaign::ParticipantRequestPayoutDestinationConfirmationResponse, options: ) end |
#retrieve(participant_id_or_email, id:, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::CampaignParticipant
Retrieves a single participant by GrowSurf participant ID or email address.
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 20 def retrieve(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantRetrieveParams.dump_request(params) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: ["campaign/%1$s/participant/%2$s", id, participant_id_or_email], model: GrowsurfRuby::Campaign::CampaignParticipant, options: ) end |
#retrieve_analytics(participant_id_or_email, id:, days: nil, end_date: nil, include: nil, interval: nil, start_date: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantAnalyticsResponse
Some parameter documentations has been truncated, see Models::Campaign::ParticipantRetrieveAnalyticsParams for more details.
Retrieves analytics for a single participant — all-time engagement counters,
leaderboard ranks, and per-channel share counts (plus affiliate revenue,
commission, and payout metrics for affiliate programs). Pass include=email
for sent (accepted for delivery), delivered, opened, clicked,
bounced, and spamComplaints metrics attributed to this participant,
including invitations they sent. Use include=email,series to include the
same counts in each UTC series bucket. days, startDate, and endDate
filter only the optional series and email data. They do not filter the
top-level analytics, ranks, or shareCount values.
715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 715 def retrieve_analytics(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantRetrieveAnalyticsParams.dump_request(params) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end query = GrowsurfRuby::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["campaign/%1$s/participant/%2$s/analytics", id, participant_id_or_email], query: query.transform_keys(end_date: "endDate", start_date: "startDate"), model: GrowsurfRuby::Models::Campaign::ParticipantAnalyticsResponse, options: ) end |
#send_invites(participant_id_or_email, id:, email_addresses:, message_text:, subject_text:, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantSendInvitesResponse
Sends email invites on behalf of a participant to a list of email addresses. Sending invites via the API requires a verified custom email domain on the program; the request fails until one is verified.
519 520 521 522 523 524 525 526 527 528 529 530 531 532 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 519 def send_invites(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantSendInvitesParams.dump_request(params) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :post, path: ["campaign/%1$s/participant/%2$s/invites", id, participant_id_or_email], body: parsed, model: GrowsurfRuby::Models::Campaign::ParticipantSendInvitesResponse, options: ) end |
#trigger_referral(participant_id_or_email, id:, delay_in_days: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::ParticipantTriggerReferralResponse
Some parameter documentations has been truncated, see Models::Campaign::ParticipantTriggerReferralParams for more details.
Triggers referral credit for an existing referred participant by GrowSurf
participant ID or email address. Optionally pass delayInDays to hold the
credit for a number of days before it is awarded (for example, to cover your own
refund window). A delayed trigger can be cancelled before it is awarded with the
Cancel delayed referral trigger request (DELETE on this same path).
557 558 559 560 561 562 563 564 565 566 567 568 569 570 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 557 def trigger_referral(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantTriggerReferralParams.dump_request(params) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :post, path: ["campaign/%1$s/participant/%2$s/ref", id, participant_id_or_email], body: parsed, model: GrowsurfRuby::Models::Campaign::ParticipantTriggerReferralResponse, options: ) end |
#update(participant_id_or_email, id:, affiliate_status: nil, email: nil, first_name: nil, last_name: nil, metadata: nil, notes: nil, referral_status: nil, referred_by: nil, unsubscribed: nil, vanity_keys: nil, request_options: {}) ⇒ GrowsurfRuby::Models::Campaign::CampaignParticipant
Updates a participant by GrowSurf participant ID or email address. For affiliate
programs, set affiliateStatus to APPROVED, SUSPENDED, or BANNED.
APPROVED enrolls the participant as an affiliate. SUSPENDED and BANNED
require an existing affiliate. This endpoint does not accept isAffiliate, and
affiliate enrollment cannot be removed through REST.
71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/growsurf_ruby/resources/campaign/participant.rb', line 71 def update(participant_id_or_email, params) parsed, = GrowsurfRuby::Campaign::ParticipantUpdateParams.dump_request(params) id = parsed.delete(:id) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :post, path: ["campaign/%1$s/participant/%2$s", id, participant_id_or_email], body: parsed, model: GrowsurfRuby::Campaign::CampaignParticipant, options: ) end |