growsurf-python 0.1.1__py3-none-any.whl → 0.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
growsurf/_version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "growsurf"
4
- __version__ = "0.1.1" # x-release-please-version
4
+ __version__ = "0.3.0" # x-release-please-version
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ from typing import Dict
5
6
  from typing_extensions import Literal
6
7
 
7
8
  import httpx
@@ -21,6 +22,7 @@ from ...types import (
21
22
  campaign_list_leaderboard_params,
22
23
  campaign_list_participants_params,
23
24
  campaign_retrieve_analytics_params,
25
+ campaign_create_mobile_participant_token_params,
24
26
  )
25
27
  from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
26
28
  from ..._utils import path_template, maybe_transform, async_maybe_transform
@@ -58,6 +60,7 @@ from ...types.participant_payout_list import ParticipantPayoutList
58
60
  from ...types.campaign.referral_status import ReferralStatus
59
61
  from ...types.participant_commission_list import ParticipantCommissionList
60
62
  from ...types.campaign_retrieve_analytics_response import CampaignRetrieveAnalyticsResponse
63
+ from ...types.campaign_create_mobile_participant_token_response import CampaignCreateMobileParticipantTokenResponse
61
64
 
62
65
  __all__ = ["CampaignResource", "AsyncCampaignResource"]
63
66
 
@@ -148,6 +151,67 @@ class CampaignResource(SyncAPIResource):
148
151
  cast_to=CampaignListResponse,
149
152
  )
150
153
 
154
+ def create_mobile_participant_token(
155
+ self,
156
+ id: str,
157
+ *,
158
+ email: str,
159
+ fingerprint: str | Omit = omit,
160
+ first_name: str | Omit = omit,
161
+ ip_address: str | Omit = omit,
162
+ last_name: str | Omit = omit,
163
+ metadata: Dict[str, object] | Omit = omit,
164
+ referral_status: Literal["CREDIT_PENDING", "CREDIT_AWARDED"] | Omit = omit,
165
+ referred_by: str | Omit = omit,
166
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
167
+ # The extra values given here take precedence over values defined on the client or passed to this method.
168
+ extra_headers: Headers | None = None,
169
+ extra_query: Query | None = None,
170
+ extra_body: Body | None = None,
171
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
172
+ ) -> CampaignCreateMobileParticipantTokenResponse:
173
+ """
174
+ Creates or returns a participant using the same input behavior as Add
175
+ Participant, then returns a participant-scoped token for GrowSurf mobile SDK
176
+ participant endpoints. Use this endpoint from your backend after your mobile app
177
+ authenticates a signed-in user. The program must have mobile SDK access enabled.
178
+
179
+ Args:
180
+ metadata: Shallow custom metadata object.
181
+
182
+ referred_by: Referrer participant ID or email address.
183
+
184
+ extra_headers: Send extra headers
185
+
186
+ extra_query: Add additional query parameters to the request
187
+
188
+ extra_body: Add additional JSON properties to the request
189
+
190
+ timeout: Override the client-level default timeout for this request, in seconds
191
+ """
192
+ if not id:
193
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
194
+ return self._post(
195
+ path_template("/campaign/{id}/mobile-participant-token", id=id),
196
+ body=maybe_transform(
197
+ {
198
+ "email": email,
199
+ "fingerprint": fingerprint,
200
+ "first_name": first_name,
201
+ "ip_address": ip_address,
202
+ "last_name": last_name,
203
+ "metadata": metadata,
204
+ "referral_status": referral_status,
205
+ "referred_by": referred_by,
206
+ },
207
+ campaign_create_mobile_participant_token_params.CampaignCreateMobileParticipantTokenParams,
208
+ ),
209
+ options=make_request_options(
210
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
211
+ ),
212
+ cast_to=CampaignCreateMobileParticipantTokenResponse,
213
+ )
214
+
151
215
  def list_commissions(
152
216
  self,
153
217
  id: str,
@@ -592,6 +656,67 @@ class AsyncCampaignResource(AsyncAPIResource):
592
656
  cast_to=CampaignListResponse,
593
657
  )
594
658
 
659
+ async def create_mobile_participant_token(
660
+ self,
661
+ id: str,
662
+ *,
663
+ email: str,
664
+ fingerprint: str | Omit = omit,
665
+ first_name: str | Omit = omit,
666
+ ip_address: str | Omit = omit,
667
+ last_name: str | Omit = omit,
668
+ metadata: Dict[str, object] | Omit = omit,
669
+ referral_status: Literal["CREDIT_PENDING", "CREDIT_AWARDED"] | Omit = omit,
670
+ referred_by: str | Omit = omit,
671
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
672
+ # The extra values given here take precedence over values defined on the client or passed to this method.
673
+ extra_headers: Headers | None = None,
674
+ extra_query: Query | None = None,
675
+ extra_body: Body | None = None,
676
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
677
+ ) -> CampaignCreateMobileParticipantTokenResponse:
678
+ """
679
+ Creates or returns a participant using the same input behavior as Add
680
+ Participant, then returns a participant-scoped token for GrowSurf mobile SDK
681
+ participant endpoints. Use this endpoint from your backend after your mobile app
682
+ authenticates a signed-in user. The program must have mobile SDK access enabled.
683
+
684
+ Args:
685
+ metadata: Shallow custom metadata object.
686
+
687
+ referred_by: Referrer participant ID or email address.
688
+
689
+ extra_headers: Send extra headers
690
+
691
+ extra_query: Add additional query parameters to the request
692
+
693
+ extra_body: Add additional JSON properties to the request
694
+
695
+ timeout: Override the client-level default timeout for this request, in seconds
696
+ """
697
+ if not id:
698
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
699
+ return await self._post(
700
+ path_template("/campaign/{id}/mobile-participant-token", id=id),
701
+ body=await async_maybe_transform(
702
+ {
703
+ "email": email,
704
+ "fingerprint": fingerprint,
705
+ "first_name": first_name,
706
+ "ip_address": ip_address,
707
+ "last_name": last_name,
708
+ "metadata": metadata,
709
+ "referral_status": referral_status,
710
+ "referred_by": referred_by,
711
+ },
712
+ campaign_create_mobile_participant_token_params.CampaignCreateMobileParticipantTokenParams,
713
+ ),
714
+ options=make_request_options(
715
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
716
+ ),
717
+ cast_to=CampaignCreateMobileParticipantTokenResponse,
718
+ )
719
+
595
720
  async def list_commissions(
596
721
  self,
597
722
  id: str,
@@ -960,6 +1085,9 @@ class CampaignResourceWithRawResponse:
960
1085
  self.list = to_raw_response_wrapper(
961
1086
  campaign.list,
962
1087
  )
1088
+ self.create_mobile_participant_token = to_raw_response_wrapper(
1089
+ campaign.create_mobile_participant_token,
1090
+ )
963
1091
  self.list_commissions = to_raw_response_wrapper(
964
1092
  campaign.list_commissions,
965
1093
  )
@@ -1004,6 +1132,9 @@ class AsyncCampaignResourceWithRawResponse:
1004
1132
  self.list = async_to_raw_response_wrapper(
1005
1133
  campaign.list,
1006
1134
  )
1135
+ self.create_mobile_participant_token = async_to_raw_response_wrapper(
1136
+ campaign.create_mobile_participant_token,
1137
+ )
1007
1138
  self.list_commissions = async_to_raw_response_wrapper(
1008
1139
  campaign.list_commissions,
1009
1140
  )
@@ -1048,6 +1179,9 @@ class CampaignResourceWithStreamingResponse:
1048
1179
  self.list = to_streamed_response_wrapper(
1049
1180
  campaign.list,
1050
1181
  )
1182
+ self.create_mobile_participant_token = to_streamed_response_wrapper(
1183
+ campaign.create_mobile_participant_token,
1184
+ )
1051
1185
  self.list_commissions = to_streamed_response_wrapper(
1052
1186
  campaign.list_commissions,
1053
1187
  )
@@ -1092,6 +1226,9 @@ class AsyncCampaignResourceWithStreamingResponse:
1092
1226
  self.list = async_to_streamed_response_wrapper(
1093
1227
  campaign.list,
1094
1228
  )
1229
+ self.create_mobile_participant_token = async_to_streamed_response_wrapper(
1230
+ campaign.create_mobile_participant_token,
1231
+ )
1095
1232
  self.list_commissions = async_to_streamed_response_wrapper(
1096
1233
  campaign.list_commissions,
1097
1234
  )
@@ -39,7 +39,6 @@ from ...types.campaign.participant_list_rewards_response import ParticipantListR
39
39
  from ...types.campaign.participant_send_invites_response import ParticipantSendInvitesResponse
40
40
  from ...types.campaign.participant_trigger_referral_response import ParticipantTriggerReferralResponse
41
41
  from ...types.campaign.participant_record_transaction_response import ParticipantRecordTransactionResponse
42
- from ...types.campaign.participant_create_mobile_token_response import ParticipantCreateMobileTokenResponse
43
42
 
44
43
  __all__ = ["ParticipantResource", "AsyncParticipantResource"]
45
44
 
@@ -273,50 +272,6 @@ class ParticipantResource(SyncAPIResource):
273
272
  cast_to=Participant,
274
273
  )
275
274
 
276
- def create_mobile_token(
277
- self,
278
- participant_id_or_email: str,
279
- *,
280
- id: str,
281
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
282
- # The extra values given here take precedence over values defined on the client or passed to this method.
283
- extra_headers: Headers | None = None,
284
- extra_query: Query | None = None,
285
- extra_body: Body | None = None,
286
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
287
- ) -> ParticipantCreateMobileTokenResponse:
288
- """Creates a participant-scoped token for GrowSurf mobile SDK participant
289
- endpoints.
290
-
291
- The program must have mobile SDK access enabled.
292
-
293
- Args:
294
- extra_headers: Send extra headers
295
-
296
- extra_query: Add additional query parameters to the request
297
-
298
- extra_body: Add additional JSON properties to the request
299
-
300
- timeout: Override the client-level default timeout for this request, in seconds
301
- """
302
- if not id:
303
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
304
- if not participant_id_or_email:
305
- raise ValueError(
306
- f"Expected a non-empty value for `participant_id_or_email` but received {participant_id_or_email!r}"
307
- )
308
- return self._post(
309
- path_template(
310
- "/campaign/{id}/participant/{participant_id_or_email}/mobile-token",
311
- id=id,
312
- participant_id_or_email=participant_id_or_email,
313
- ),
314
- options=make_request_options(
315
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
316
- ),
317
- cast_to=ParticipantCreateMobileTokenResponse,
318
- )
319
-
320
275
  def list_commissions(
321
276
  self,
322
277
  participant_id_or_email: str,
@@ -1011,50 +966,6 @@ class AsyncParticipantResource(AsyncAPIResource):
1011
966
  cast_to=Participant,
1012
967
  )
1013
968
 
1014
- async def create_mobile_token(
1015
- self,
1016
- participant_id_or_email: str,
1017
- *,
1018
- id: str,
1019
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1020
- # The extra values given here take precedence over values defined on the client or passed to this method.
1021
- extra_headers: Headers | None = None,
1022
- extra_query: Query | None = None,
1023
- extra_body: Body | None = None,
1024
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
1025
- ) -> ParticipantCreateMobileTokenResponse:
1026
- """Creates a participant-scoped token for GrowSurf mobile SDK participant
1027
- endpoints.
1028
-
1029
- The program must have mobile SDK access enabled.
1030
-
1031
- Args:
1032
- extra_headers: Send extra headers
1033
-
1034
- extra_query: Add additional query parameters to the request
1035
-
1036
- extra_body: Add additional JSON properties to the request
1037
-
1038
- timeout: Override the client-level default timeout for this request, in seconds
1039
- """
1040
- if not id:
1041
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
1042
- if not participant_id_or_email:
1043
- raise ValueError(
1044
- f"Expected a non-empty value for `participant_id_or_email` but received {participant_id_or_email!r}"
1045
- )
1046
- return await self._post(
1047
- path_template(
1048
- "/campaign/{id}/participant/{participant_id_or_email}/mobile-token",
1049
- id=id,
1050
- participant_id_or_email=participant_id_or_email,
1051
- ),
1052
- options=make_request_options(
1053
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1054
- ),
1055
- cast_to=ParticipantCreateMobileTokenResponse,
1056
- )
1057
-
1058
969
  async def list_commissions(
1059
970
  self,
1060
971
  participant_id_or_email: str,
@@ -1536,9 +1447,6 @@ class ParticipantResourceWithRawResponse:
1536
1447
  self.add = to_raw_response_wrapper(
1537
1448
  participant.add,
1538
1449
  )
1539
- self.create_mobile_token = to_raw_response_wrapper(
1540
- participant.create_mobile_token,
1541
- )
1542
1450
  self.list_commissions = to_raw_response_wrapper(
1543
1451
  participant.list_commissions,
1544
1452
  )
@@ -1578,9 +1486,6 @@ class AsyncParticipantResourceWithRawResponse:
1578
1486
  self.add = async_to_raw_response_wrapper(
1579
1487
  participant.add,
1580
1488
  )
1581
- self.create_mobile_token = async_to_raw_response_wrapper(
1582
- participant.create_mobile_token,
1583
- )
1584
1489
  self.list_commissions = async_to_raw_response_wrapper(
1585
1490
  participant.list_commissions,
1586
1491
  )
@@ -1620,9 +1525,6 @@ class ParticipantResourceWithStreamingResponse:
1620
1525
  self.add = to_streamed_response_wrapper(
1621
1526
  participant.add,
1622
1527
  )
1623
- self.create_mobile_token = to_streamed_response_wrapper(
1624
- participant.create_mobile_token,
1625
- )
1626
1528
  self.list_commissions = to_streamed_response_wrapper(
1627
1529
  participant.list_commissions,
1628
1530
  )
@@ -1662,9 +1564,6 @@ class AsyncParticipantResourceWithStreamingResponse:
1662
1564
  self.add = async_to_streamed_response_wrapper(
1663
1565
  participant.add,
1664
1566
  )
1665
- self.create_mobile_token = async_to_streamed_response_wrapper(
1666
- participant.create_mobile_token,
1667
- )
1668
1567
  self.list_commissions = async_to_streamed_response_wrapper(
1669
1568
  participant.list_commissions,
1670
1569
  )
@@ -16,3 +16,9 @@ from .campaign_list_leaderboard_params import CampaignListLeaderboardParams as C
16
16
  from .campaign_list_participants_params import CampaignListParticipantsParams as CampaignListParticipantsParams
17
17
  from .campaign_retrieve_analytics_params import CampaignRetrieveAnalyticsParams as CampaignRetrieveAnalyticsParams
18
18
  from .campaign_retrieve_analytics_response import CampaignRetrieveAnalyticsResponse as CampaignRetrieveAnalyticsResponse
19
+ from .campaign_create_mobile_participant_token_params import (
20
+ CampaignCreateMobileParticipantTokenParams as CampaignCreateMobileParticipantTokenParams,
21
+ )
22
+ from .campaign_create_mobile_participant_token_response import (
23
+ CampaignCreateMobileParticipantTokenResponse as CampaignCreateMobileParticipantTokenResponse,
24
+ )
@@ -33,6 +33,3 @@ from .participant_trigger_referral_response import (
33
33
  from .participant_record_transaction_response import (
34
34
  ParticipantRecordTransactionResponse as ParticipantRecordTransactionResponse,
35
35
  )
36
- from .participant_create_mobile_token_response import (
37
- ParticipantCreateMobileTokenResponse as ParticipantCreateMobileTokenResponse,
38
- )
@@ -0,0 +1,30 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Dict
6
+ from typing_extensions import Literal, Required, Annotated, TypedDict
7
+
8
+ from .._utils import PropertyInfo
9
+
10
+ __all__ = ["CampaignCreateMobileParticipantTokenParams"]
11
+
12
+
13
+ class CampaignCreateMobileParticipantTokenParams(TypedDict, total=False):
14
+ email: Required[str]
15
+
16
+ fingerprint: str
17
+
18
+ first_name: Annotated[str, PropertyInfo(alias="firstName")]
19
+
20
+ ip_address: Annotated[str, PropertyInfo(alias="ipAddress")]
21
+
22
+ last_name: Annotated[str, PropertyInfo(alias="lastName")]
23
+
24
+ metadata: Dict[str, object]
25
+ """Shallow custom metadata object."""
26
+
27
+ referral_status: Annotated[Literal["CREDIT_PENDING", "CREDIT_AWARDED"], PropertyInfo(alias="referralStatus")]
28
+
29
+ referred_by: Annotated[str, PropertyInfo(alias="referredBy")]
30
+ """Referrer participant ID or email address."""
@@ -0,0 +1,24 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from pydantic import Field as FieldInfo
4
+
5
+ from .._models import BaseModel
6
+ from .campaign.participant import Participant
7
+
8
+ __all__ = ["CampaignCreateMobileParticipantTokenResponse"]
9
+
10
+
11
+ class CampaignCreateMobileParticipantTokenResponse(BaseModel):
12
+ expires_in: int = FieldInfo(alias="expiresIn")
13
+ """Token lifetime in seconds."""
14
+
15
+ is_new: bool = FieldInfo(alias="isNew")
16
+ """Whether this request created a new participant.
17
+
18
+ Returns false when the participant already existed.
19
+ """
20
+
21
+ participant: Participant
22
+
23
+ participant_token: str = FieldInfo(alias="participantToken")
24
+ """Participant-scoped bearer token for GrowSurf mobile SDK participant endpoints."""
@@ -10,8 +10,12 @@ __all__ = ["CampaignRetrieveAnalyticsResponse", "Analytics"]
10
10
 
11
11
 
12
12
  class Analytics(BaseModel):
13
+ android_native_shares: Optional[int] = FieldInfo(alias="androidNativeShares", default=None)
14
+
13
15
  bluesky_shares: Optional[int] = FieldInfo(alias="blueskyShares", default=None)
14
16
 
17
+ copy_ref_link_shares: Optional[int] = FieldInfo(alias="copyRefLinkShares", default=None)
18
+
15
19
  email_shares: Optional[int] = FieldInfo(alias="emailShares", default=None)
16
20
 
17
21
  facebook_shares: Optional[int] = FieldInfo(alias="facebookShares", default=None)
@@ -20,6 +24,8 @@ class Analytics(BaseModel):
20
24
 
21
25
  invites: Optional[int] = None
22
26
 
27
+ ios_native_shares: Optional[int] = FieldInfo(alias="iosNativeShares", default=None)
28
+
23
29
  linked_in_shares: Optional[int] = FieldInfo(alias="linkedInShares", default=None)
24
30
 
25
31
  messenger_shares: Optional[int] = FieldInfo(alias="messengerShares", default=None)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: growsurf-python
3
- Version: 0.1.1
3
+ Version: 0.3.0
4
4
  Summary: The official Python library for the growsurf API
5
5
  Project-URL: Homepage, https://github.com/growsurf/growsurf-python
6
6
  Project-URL: Repository, https://github.com/growsurf/growsurf-python
@@ -11,7 +11,7 @@ growsurf/_resource.py,sha256=oeDA0FL2ottIchoUi86M_8eUqmtrGQLYTgfKYEzrsWg,1112
11
11
  growsurf/_response.py,sha256=RTZ8t27W4S6ExkCjzCg4HbcDUTCdOMgiheiMAuAxgu4,28937
12
12
  growsurf/_streaming.py,sha256=9aJ_V6JtddntWCon2Cq_MOLMnySnhc7wuqeZx7sUtKU,10558
13
13
  growsurf/_types.py,sha256=r8hAVihrutiLUToaJhSDys9T9sMc8BMy2qUrr3W_8Wo,7751
14
- growsurf/_version.py,sha256=RBnbidXXQy7xuuV8QTCxaShydFfOq8lxYv7D-SPkRIE,160
14
+ growsurf/_version.py,sha256=P1Oy5dCh4SuvO9h17qREoUSorRI3LuXlzAcbPhtW8QE,160
15
15
  growsurf/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  growsurf/_utils/__init__.py,sha256=nQq-iFa5YxTaWySaLigatew5rHgTR0M75FNYm4mrO1s,2313
17
17
  growsurf/_utils/_compat.py,sha256=33246eDcl3pwL6kWsEhVuT4Akrd8gZEW9LPTm465ohk,1231
@@ -30,11 +30,13 @@ growsurf/_utils/_utils.py,sha256=2nPOzDrPe2GADpLCRM4bNQS8Mu7LjEiCG_LJ2AAL6jg,131
30
30
  growsurf/lib/.keep,sha256=wuNrz-5SXo3jJaJOJgz4vFHM41YH_g20F5cRQo0vLes,224
31
31
  growsurf/resources/__init__.py,sha256=xfEkuLlMZ7ZMm_bcpbd5XKNGLBo9xEvNVGX6EHH0g-M,578
32
32
  growsurf/resources/campaign/__init__.py,sha256=3k4V-N7TZLU1xJunA-760I62BQ1elIddwlLf_OtWQUQ,2045
33
- growsurf/resources/campaign/campaign.py,sha256=4r9je07cVILuvR0uxXnB1HlVr-G-u2Pt5HLdcOGKsWQ,43126
33
+ growsurf/resources/campaign/campaign.py,sha256=TodIEF7Ryaetda2Q6udAnnT-ZdowH6OdtmdzxfXCVQo,49339
34
34
  growsurf/resources/campaign/commission.py,sha256=K5HmznRM7nO-VNiP2Jy1rIeW63rAx1Aa2M9DEJ9dB2I,10294
35
- growsurf/resources/campaign/participant.py,sha256=3U7wNhTy48-HjMdmiMGg8EL_G8U5uNsH8OQVqXX56Zg,68164
35
+ growsurf/resources/campaign/participant.py,sha256=OTrmsJs8HtQUe3WQ5uuWj5-SoTPeNTY1duBQDT7oF6Q,63882
36
36
  growsurf/resources/campaign/reward.py,sha256=AVPDhttbglDXnZE4onrCvf6Br6PdAohVV9WJgF7DsjY,14034
37
- growsurf/types/__init__.py,sha256=dVCfznQhh_l796cd1s584hjxXqILBQ49CWFp51dcNHA,1391
37
+ growsurf/types/__init__.py,sha256=qJwksX7ie_ILiC_A1QCtu5p_evuLWBH5oEIv91bJFoA,1715
38
+ growsurf/types/campaign_create_mobile_participant_token_params.py,sha256=OM1h-M_ITLOfrq2NiWO1aWK1Cok-BJ6iwzNa1-zP7ng,935
39
+ growsurf/types/campaign_create_mobile_participant_token_response.py,sha256=IvIgtizBufLI-p9pk7MnyJj3XydHjLvdoAw-PWpPqdI,769
38
40
  growsurf/types/campaign_list_commissions_params.py,sha256=5T8SWE63fWyMglJP_EnK5AG8OVQIbE0rf5jNcvc8tn8,622
39
41
  growsurf/types/campaign_list_leaderboard_params.py,sha256=V1woEXMUb2UQqsGw6Dzn33GtkmpdaFARsUjtT03MQwE,1055
40
42
  growsurf/types/campaign_list_participants_params.py,sha256=C3RF1NxvmcmBm0ZY82t8seoLmRZMRMGZ_JPIKt0WfuU,499
@@ -42,20 +44,19 @@ growsurf/types/campaign_list_payouts_params.py,sha256=6bnnu7Z4QnRs_AyhIACwNQg2zO
42
44
  growsurf/types/campaign_list_referrals_params.py,sha256=jdwikgDEsuYhjOa2eNfWMWgFJ0AAyH3m1x6UEd0tR64,1320
43
45
  growsurf/types/campaign_list_response.py,sha256=KrMwuCkMwzvLTBWM3uEqqjjwJPjz_lFvKxDGbowhvG4,291
44
46
  growsurf/types/campaign_retrieve_analytics_params.py,sha256=EqoQ-8eEPZqD5X7k1970LStklXXFB6esuU8pByv0XaQ,799
45
- growsurf/types/campaign_retrieve_analytics_response.py,sha256=4xe7qa1AlsPaFbkfwNCaJt6xam5cOjeKc7vMbzCT0zw,2694
47
+ growsurf/types/campaign_retrieve_analytics_response.py,sha256=TzFUOGXOQdRc8WJwjk1yZkwN77Ymupzm4EgC4kMqjmA,2974
46
48
  growsurf/types/commission_structure.py,sha256=t4p2bKyBhYWNiVCMIDNbpOSX0kQII1dhUtVOPTMv5bI,2323
47
49
  growsurf/types/participant_commission_list.py,sha256=79Eb8Wyic557dBERHiDpgjvYqC4ZzRMyr9XlE10V7-o,1882
48
50
  growsurf/types/participant_list.py,sha256=5oety8iTXx5anr0W5wAjzCAIMPkQLPeVIc2TNuRbrMY,430
49
51
  growsurf/types/participant_payout_list.py,sha256=xO4_EwJAVA5B5opldd7S3X5O6WeAsejgpbVtQ_oacwQ,1419
50
52
  growsurf/types/referral_list.py,sha256=SOU3s0cjeQLhbZVbeGoeCprVyrPTk-tvmMBMV25uG1o,969
51
- growsurf/types/campaign/__init__.py,sha256=bPWw1pegsnKubl4k9DDEzN_IMlTRqKUOVa__kbmA6QY,2576
53
+ growsurf/types/campaign/__init__.py,sha256=5QXEoVqNvARl_R8iRAILUVariVEN9Lno41tNHEKIC8E,2436
52
54
  growsurf/types/campaign/campaign.py,sha256=JuiQhipggLIZatBvdmVZVYW5YkLabGHqhZ03rdJ9g-Q,2293
53
55
  growsurf/types/campaign/commission_approve_response.py,sha256=fcM2IM6qyqkne4aFPbYcJlfbO3P2fZsJQcBxdsB3BaE,225
54
56
  growsurf/types/campaign/commission_delete_response.py,sha256=psVQ1Yqh9j20kvg76LrRtXIa5cy0CVSWzKaZk9IvGKU,223
55
57
  growsurf/types/campaign/fraud_risk_level.py,sha256=e14xAEYtKH6gGnkJ9-sr81GZ2UY-zDQ6TZKCkBJLagw,228
56
58
  growsurf/types/campaign/participant.py,sha256=E6Hwr275wt5l0I-YdhUWXV1-J47vfXJJY-elrAMLgzg,5205
57
59
  growsurf/types/campaign/participant_add_params.py,sha256=wAbyxqdDZIqK0HDuuLwyjuQGAAdEICdVHySumv3VF5k,892
58
- growsurf/types/campaign/participant_create_mobile_token_response.py,sha256=asUJXjAeA699qrr14BA2hv5TrSMsZqmz0MGoU18E1NU,513
59
60
  growsurf/types/campaign/participant_delete_response.py,sha256=qXghOQ04cS3jZh3oHZYr_iXzlanjELyeN5I4kUfFfRM,225
60
61
  growsurf/types/campaign/participant_list_commissions_params.py,sha256=4Cxa7rETQYmp71mR4wIzymfPYv2UV3vCzmQvv5iik1c,662
61
62
  growsurf/types/campaign/participant_list_payouts_params.py,sha256=AbadljbUZvMgc7cEDvDXpIg3n0nM1x4t2vZgTD-w69A,638
@@ -75,7 +76,7 @@ growsurf/types/campaign/reward_approve_params.py,sha256=IbGDBmEWgmtQQpmYaMg_navf
75
76
  growsurf/types/campaign/reward_approve_response.py,sha256=AID7RxcX5_BGxssHn6vR-pGOB_PK-xQhUBNk-ZkNkgI,217
76
77
  growsurf/types/campaign/reward_delete_response.py,sha256=YGOQ8GQEEN1HDzOT2pU30Q98UNM-s-U4VkTqMewNe5M,215
77
78
  growsurf/types/campaign/reward_fulfill_response.py,sha256=KlimtB3q-3djYMlRzshAxEyU_IVACOesNECbTeU574E,217
78
- growsurf_python-0.1.1.dist-info/METADATA,sha256=_BDUD-mwq2QnoA_S9xM_we7QDPK69cOFicD4AjdKK2U,13597
79
- growsurf_python-0.1.1.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
80
- growsurf_python-0.1.1.dist-info/licenses/LICENSE,sha256=kTHLVE-ra1gtTxcn395uFqcOzcErebE-mDdPNW7b8OU,11338
81
- growsurf_python-0.1.1.dist-info/RECORD,,
79
+ growsurf_python-0.3.0.dist-info/METADATA,sha256=TGdbv2K4hziT4dx8J0NyBqmC3_2LLiJw5NxNLnSvk6A,13597
80
+ growsurf_python-0.3.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
81
+ growsurf_python-0.3.0.dist-info/licenses/LICENSE,sha256=kTHLVE-ra1gtTxcn395uFqcOzcErebE-mDdPNW7b8OU,11338
82
+ growsurf_python-0.3.0.dist-info/RECORD,,
@@ -1,15 +0,0 @@
1
- # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
-
3
- from pydantic import Field as FieldInfo
4
-
5
- from ..._models import BaseModel
6
-
7
- __all__ = ["ParticipantCreateMobileTokenResponse"]
8
-
9
-
10
- class ParticipantCreateMobileTokenResponse(BaseModel):
11
- expires_in: int = FieldInfo(alias="expiresIn")
12
- """Token lifetime in seconds."""
13
-
14
- participant_token: str = FieldInfo(alias="participantToken")
15
- """Participant-scoped bearer token for GrowSurf mobile SDK participant endpoints."""