Class: Onlyfans::Resources::TrialLinks
- Inherits:
-
Object
- Object
- Onlyfans::Resources::TrialLinks
- Defined in:
- lib/onlyfans/resources/trial_links.rb,
lib/onlyfans/resources/trial_links/tags.rb
Overview
APIs for managing Free Trial Links
Defined Under Namespace
Classes: Tags
Instance Attribute Summary collapse
-
#tags ⇒ Onlyfans::Resources::TrialLinks::Tags
readonly
APIs for managing Free Trial Links.
Instance Method Summary collapse
-
#create(account, duration:, offer_expiration:, offer_limit:, name: nil, tags: nil, request_options: {}) ⇒ Onlyfans::Models::TrialLinkCreateResponse
Some parameter documentations has been truncated, see Models::TrialLinkCreateParams for more details.
-
#delete(trial_link_id, account:, request_options: {}) ⇒ Onlyfans::Models::TrialLinkDeleteResponse
Delete a free trial link by its ID.
-
#initialize(client:) ⇒ TrialLinks
constructor
private
A new instance of TrialLinks.
-
#list(account, limit:, offset:, field: nil, sort: nil, synchronous: nil, request_options: {}) ⇒ Onlyfans::Models::TrialLinkListResponse
Some parameter documentations has been truncated, see Models::TrialLinkListParams for more details.
-
#list_spenders(trial_link_id, account:, limit: nil, min_spend: nil, offset: nil, request_options: {}) ⇒ Onlyfans::Models::TrialLinkListSpendersResponse
Only available if we already scraped subscribers and calculated revenue per fan.
-
#list_subscribers(trial_link_id, account:, limit:, offset:, request_options: {}) ⇒ Onlyfans::Models::TrialLinkListSubscribersResponse
Get list of subscribers who joined through a Free Trial Link.
-
#retrieve(trial_link_id, account:, request_options: {}) ⇒ Onlyfans::Models::TrialLinkRetrieveResponse
Get individual Free Trial Link details and it’s revenue data.
-
#retrieve_cohort_arps(trial_link_id, account:, acquisition_end: nil, acquisition_start: nil, revenue_basis: nil, request_options: {}) ⇒ nil
Get per-link time-to-profit cohort ARPS windows for a specific Free Trial Link.
-
#retrieve_stats(trial_link_id, account:, date_end: nil, date_start: nil, request_options: {}) ⇒ Onlyfans::Models::TrialLinkRetrieveStatsResponse
Get dashboard-style summary plus daily and monthly metrics for a specific Free Trial Link.
Constructor Details
#initialize(client:) ⇒ TrialLinks
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 TrialLinks.
276 277 278 279 |
# File 'lib/onlyfans/resources/trial_links.rb', line 276 def initialize(client:) @client = client @tags = Onlyfans::Resources::TrialLinks::Tags.new(client: client) end |
Instance Attribute Details
#tags ⇒ Onlyfans::Resources::TrialLinks::Tags (readonly)
APIs for managing Free Trial Links
9 10 11 |
# File 'lib/onlyfans/resources/trial_links.rb', line 9 def @tags end |
Instance Method Details
#create(account, duration:, offer_expiration:, offer_limit:, name: nil, tags: nil, request_options: {}) ⇒ Onlyfans::Models::TrialLinkCreateResponse
Some parameter documentations has been truncated, see Models::TrialLinkCreateParams for more details.
Create a new free trial link for the account
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/onlyfans/resources/trial_links.rb', line 35 def create(account, params) parsed, = Onlyfans::TrialLinkCreateParams.dump_request(params) @client.request( method: :post, path: ["api/%1$s/trial-links", account], body: parsed, model: Onlyfans::Models::TrialLinkCreateResponse, options: ) end |
#delete(trial_link_id, account:, request_options: {}) ⇒ Onlyfans::Models::TrialLinkDeleteResponse
Delete a free trial link by its ID
122 123 124 125 126 127 128 129 130 131 132 133 134 |
# File 'lib/onlyfans/resources/trial_links.rb', line 122 def delete(trial_link_id, params) parsed, = Onlyfans::TrialLinkDeleteParams.dump_request(params) account = parsed.delete(:account) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :delete, path: ["api/%1$s/trial-links/%2$s", account, trial_link_id], model: Onlyfans::Models::TrialLinkDeleteResponse, options: ) end |
#list(account, limit:, offset:, field: nil, sort: nil, synchronous: nil, request_options: {}) ⇒ Onlyfans::Models::TrialLinkListResponse
Some parameter documentations has been truncated, see Models::TrialLinkListParams for more details.
List all free trial links for the account, including the details and statistics
97 98 99 100 101 102 103 104 105 106 107 |
# File 'lib/onlyfans/resources/trial_links.rb', line 97 def list(account, params) parsed, = Onlyfans::TrialLinkListParams.dump_request(params) query = Onlyfans::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: ["api/%1$s/trial-links", account], query: query, model: Onlyfans::Models::TrialLinkListResponse, options: ) end |
#list_spenders(trial_link_id, account:, limit: nil, min_spend: nil, offset: nil, request_options: {}) ⇒ Onlyfans::Models::TrialLinkListSpendersResponse
Only available if we already scraped subscribers and calculated revenue per fan
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/onlyfans/resources/trial_links.rb', line 155 def list_spenders(trial_link_id, params) parsed, = Onlyfans::TrialLinkListSpendersParams.dump_request(params) query = Onlyfans::Internal::Util.encode_query_params(parsed) account = parsed.delete(:account) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: ["api/%1$s/trial-links/%2$s/spenders", account, trial_link_id], query: query.transform_keys(min_spend: "minSpend"), model: Onlyfans::Models::TrialLinkListSpendersResponse, options: ) end |
#list_subscribers(trial_link_id, account:, limit:, offset:, request_options: {}) ⇒ Onlyfans::Models::TrialLinkListSubscribersResponse
Get list of subscribers who joined through a Free Trial Link
188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 |
# File 'lib/onlyfans/resources/trial_links.rb', line 188 def list_subscribers(trial_link_id, params) parsed, = Onlyfans::TrialLinkListSubscribersParams.dump_request(params) query = Onlyfans::Internal::Util.encode_query_params(parsed) account = parsed.delete(:account) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: ["api/%1$s/trial-links/%2$s/subscribers", account, trial_link_id], query: query, model: Onlyfans::Models::TrialLinkListSubscribersResponse, options: ) end |
#retrieve(trial_link_id, account:, request_options: {}) ⇒ Onlyfans::Models::TrialLinkRetrieveResponse
Get individual Free Trial Link details and it’s revenue data
59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/onlyfans/resources/trial_links.rb', line 59 def retrieve(trial_link_id, params) parsed, = Onlyfans::TrialLinkRetrieveParams.dump_request(params) account = parsed.delete(:account) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: ["api/%1$s/trial-links/%2$s", account, trial_link_id], model: Onlyfans::Models::TrialLinkRetrieveResponse, options: ) end |
#retrieve_cohort_arps(trial_link_id, account:, acquisition_end: nil, acquisition_start: nil, revenue_basis: nil, request_options: {}) ⇒ nil
Get per-link time-to-profit cohort ARPS windows for a specific Free Trial Link
223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 |
# File 'lib/onlyfans/resources/trial_links.rb', line 223 def retrieve_cohort_arps(trial_link_id, params) parsed, = Onlyfans::TrialLinkRetrieveCohortArpsParams.dump_request(params) query = Onlyfans::Internal::Util.encode_query_params(parsed) account = parsed.delete(:account) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: ["api/%1$s/trial-links/%2$s/cohort-arps", account, trial_link_id], query: query, model: NilClass, options: ) end |
#retrieve_stats(trial_link_id, account:, date_end: nil, date_start: nil, request_options: {}) ⇒ Onlyfans::Models::TrialLinkRetrieveStatsResponse
Get dashboard-style summary plus daily and monthly metrics for a specific Free Trial Link
257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 |
# File 'lib/onlyfans/resources/trial_links.rb', line 257 def retrieve_stats(trial_link_id, params) parsed, = Onlyfans::TrialLinkRetrieveStatsParams.dump_request(params) query = Onlyfans::Internal::Util.encode_query_params(parsed) account = parsed.delete(:account) do raise ArgumentError.new("missing required path argument #{_1}") end @client.request( method: :get, path: ["api/%1$s/trial-links/%2$s/stats", account, trial_link_id], query: query, model: Onlyfans::Models::TrialLinkRetrieveStatsResponse, options: ) end |