dub 0.29.0__tar.gz → 0.29.1__tar.gz

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.
Files changed (145) hide show
  1. {dub-0.29.0 → dub-0.29.1}/PKG-INFO +1 -1
  2. {dub-0.29.0 → dub-0.29.1}/pyproject.toml +1 -1
  3. {dub-0.29.0 → dub-0.29.1}/src/dub/_version.py +2 -2
  4. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/tracksale.py +51 -7
  5. {dub-0.29.0 → dub-0.29.1}/LICENSE +0 -0
  6. {dub-0.29.0 → dub-0.29.1}/README-PYPI.md +0 -0
  7. {dub-0.29.0 → dub-0.29.1}/py.typed +0 -0
  8. {dub-0.29.0 → dub-0.29.1}/src/dub/__init__.py +0 -0
  9. {dub-0.29.0 → dub-0.29.1}/src/dub/_hooks/__init__.py +0 -0
  10. {dub-0.29.0 → dub-0.29.1}/src/dub/_hooks/registration.py +0 -0
  11. {dub-0.29.0 → dub-0.29.1}/src/dub/_hooks/sdkhooks.py +0 -0
  12. {dub-0.29.0 → dub-0.29.1}/src/dub/_hooks/types.py +0 -0
  13. {dub-0.29.0 → dub-0.29.1}/src/dub/analytics.py +0 -0
  14. {dub-0.29.0 → dub-0.29.1}/src/dub/basesdk.py +0 -0
  15. {dub-0.29.0 → dub-0.29.1}/src/dub/commissions.py +0 -0
  16. {dub-0.29.0 → dub-0.29.1}/src/dub/customers.py +0 -0
  17. {dub-0.29.0 → dub-0.29.1}/src/dub/domains.py +0 -0
  18. {dub-0.29.0 → dub-0.29.1}/src/dub/embed_tokens.py +0 -0
  19. {dub-0.29.0 → dub-0.29.1}/src/dub/events.py +0 -0
  20. {dub-0.29.0 → dub-0.29.1}/src/dub/folders.py +0 -0
  21. {dub-0.29.0 → dub-0.29.1}/src/dub/httpclient.py +0 -0
  22. {dub-0.29.0 → dub-0.29.1}/src/dub/links.py +0 -0
  23. {dub-0.29.0 → dub-0.29.1}/src/dub/models/__init__.py +0 -0
  24. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/__init__.py +0 -0
  25. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/analyticsbrowsers.py +0 -0
  26. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/analyticscities.py +0 -0
  27. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/analyticscontinents.py +0 -0
  28. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/analyticscount.py +0 -0
  29. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/analyticscountries.py +0 -0
  30. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/analyticsdevices.py +0 -0
  31. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/analyticsos.py +0 -0
  32. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/analyticsreferers.py +0 -0
  33. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/analyticsrefererurls.py +0 -0
  34. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/analyticsregions.py +0 -0
  35. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/analyticstimeseries.py +0 -0
  36. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/analyticstoplinks.py +0 -0
  37. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/analyticstopurls.py +0 -0
  38. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/analyticstriggers.py +0 -0
  39. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/clickevent.py +0 -0
  40. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/commissioncreatedevent.py +0 -0
  41. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/continentcode.py +0 -0
  42. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/domainschema.py +0 -0
  43. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/folderschema.py +0 -0
  44. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/leadcreatedevent.py +0 -0
  45. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/leadevent.py +0 -0
  46. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/linkclickedevent.py +0 -0
  47. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/linkerrorschema.py +0 -0
  48. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/linkschema.py +0 -0
  49. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/linkwebhookevent.py +0 -0
  50. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/partneranalyticscount.py +0 -0
  51. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/partneranalyticstimeseries.py +0 -0
  52. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/partneranalyticstoplinks.py +0 -0
  53. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/partnerenrolledevent.py +0 -0
  54. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/salecreatedevent.py +0 -0
  55. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/saleevent.py +0 -0
  56. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/security.py +0 -0
  57. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/tagschema.py +0 -0
  58. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/webhookevent.py +0 -0
  59. {dub-0.29.0 → dub-0.29.1}/src/dub/models/components/workspaceschema.py +0 -0
  60. {dub-0.29.0 → dub-0.29.1}/src/dub/models/errors/__init__.py +0 -0
  61. {dub-0.29.0 → dub-0.29.1}/src/dub/models/errors/badrequest.py +0 -0
  62. {dub-0.29.0 → dub-0.29.1}/src/dub/models/errors/conflict.py +0 -0
  63. {dub-0.29.0 → dub-0.29.1}/src/dub/models/errors/duberror.py +0 -0
  64. {dub-0.29.0 → dub-0.29.1}/src/dub/models/errors/forbidden.py +0 -0
  65. {dub-0.29.0 → dub-0.29.1}/src/dub/models/errors/internalservererror.py +0 -0
  66. {dub-0.29.0 → dub-0.29.1}/src/dub/models/errors/inviteexpired.py +0 -0
  67. {dub-0.29.0 → dub-0.29.1}/src/dub/models/errors/no_response_error.py +0 -0
  68. {dub-0.29.0 → dub-0.29.1}/src/dub/models/errors/notfound.py +0 -0
  69. {dub-0.29.0 → dub-0.29.1}/src/dub/models/errors/ratelimitexceeded.py +0 -0
  70. {dub-0.29.0 → dub-0.29.1}/src/dub/models/errors/responsevalidationerror.py +0 -0
  71. {dub-0.29.0 → dub-0.29.1}/src/dub/models/errors/sdkerror.py +0 -0
  72. {dub-0.29.0 → dub-0.29.1}/src/dub/models/errors/unauthorized.py +0 -0
  73. {dub-0.29.0 → dub-0.29.1}/src/dub/models/errors/unprocessableentity.py +0 -0
  74. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/__init__.py +0 -0
  75. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/bulkcreatelinks.py +0 -0
  76. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/bulkdeletelinks.py +0 -0
  77. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/bulkupdatelinks.py +0 -0
  78. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/checkdomainstatus.py +0 -0
  79. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/createcustomer.py +0 -0
  80. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/createdomain.py +0 -0
  81. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/createfolder.py +0 -0
  82. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/createlink.py +0 -0
  83. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/createpartner.py +0 -0
  84. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/createpartnerlink.py +0 -0
  85. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/createreferralsembedtoken.py +0 -0
  86. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/createtag.py +0 -0
  87. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/deletecustomer.py +0 -0
  88. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/deletedomain.py +0 -0
  89. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/deletefolder.py +0 -0
  90. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/deletelink.py +0 -0
  91. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/deletetag.py +0 -0
  92. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/getcustomer.py +0 -0
  93. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/getcustomers.py +0 -0
  94. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/getlinkinfo.py +0 -0
  95. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/getlinks.py +0 -0
  96. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/getlinkscount.py +0 -0
  97. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/getqrcode.py +0 -0
  98. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/gettags.py +0 -0
  99. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/getworkspace.py +0 -0
  100. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/listcommissions.py +0 -0
  101. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/listdomains.py +0 -0
  102. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/listevents.py +0 -0
  103. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/listfolders.py +0 -0
  104. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/listpartners.py +0 -0
  105. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/registerdomain.py +0 -0
  106. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/retrieveanalytics.py +0 -0
  107. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/retrievelinks.py +0 -0
  108. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/retrievepartneranalytics.py +0 -0
  109. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/tracklead.py +0 -0
  110. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/updatecommission.py +0 -0
  111. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/updatecustomer.py +0 -0
  112. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/updatedomain.py +0 -0
  113. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/updatefolder.py +0 -0
  114. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/updatelink.py +0 -0
  115. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/updatetag.py +0 -0
  116. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/updateworkspace.py +0 -0
  117. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/upsertlink.py +0 -0
  118. {dub-0.29.0 → dub-0.29.1}/src/dub/models/operations/upsertpartnerlink.py +0 -0
  119. {dub-0.29.0 → dub-0.29.1}/src/dub/partners.py +0 -0
  120. {dub-0.29.0 → dub-0.29.1}/src/dub/py.typed +0 -0
  121. {dub-0.29.0 → dub-0.29.1}/src/dub/qr_codes.py +0 -0
  122. {dub-0.29.0 → dub-0.29.1}/src/dub/sdk.py +0 -0
  123. {dub-0.29.0 → dub-0.29.1}/src/dub/sdkconfiguration.py +0 -0
  124. {dub-0.29.0 → dub-0.29.1}/src/dub/tags.py +0 -0
  125. {dub-0.29.0 → dub-0.29.1}/src/dub/track.py +0 -0
  126. {dub-0.29.0 → dub-0.29.1}/src/dub/types/__init__.py +0 -0
  127. {dub-0.29.0 → dub-0.29.1}/src/dub/types/basemodel.py +0 -0
  128. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/__init__.py +0 -0
  129. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/annotations.py +0 -0
  130. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/datetimes.py +0 -0
  131. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/enums.py +0 -0
  132. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/eventstreaming.py +0 -0
  133. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/forms.py +0 -0
  134. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/headers.py +0 -0
  135. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/logger.py +0 -0
  136. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/metadata.py +0 -0
  137. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/queryparams.py +0 -0
  138. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/requestbodies.py +0 -0
  139. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/retries.py +0 -0
  140. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/security.py +0 -0
  141. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/serializers.py +0 -0
  142. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/unmarshal_json_response.py +0 -0
  143. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/url.py +0 -0
  144. {dub-0.29.0 → dub-0.29.1}/src/dub/utils/values.py +0 -0
  145. {dub-0.29.0 → dub-0.29.1}/src/dub/workspaces.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dub
3
- Version: 0.29.0
3
+ Version: 0.29.1
4
4
  Summary: Python Client SDK Generated by Speakeasy
5
5
  Author: Speakeasy
6
6
  Requires-Python: >=3.9.2
@@ -1,7 +1,7 @@
1
1
 
2
2
  [project]
3
3
  name = "dub"
4
- version = "0.29.0"
4
+ version = "0.29.1"
5
5
  description = "Python Client SDK Generated by Speakeasy"
6
6
  authors = [{ name = "Speakeasy" },]
7
7
  readme = "README-PYPI.md"
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "dub"
6
- __version__: str = "0.29.0"
6
+ __version__: str = "0.29.1"
7
7
  __openapi_doc_version__: str = "0.0.1"
8
8
  __gen_version__: str = "2.698.0"
9
- __user_agent__: str = "speakeasy-sdk/python 0.29.0 2.698.0 0.0.1 dub"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.29.1 2.698.0 0.0.1 dub"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
@@ -33,10 +33,18 @@ class TrackSaleRequestBodyTypedDict(TypedDict):
33
33
  r"""The payment processor via which the sale was made."""
34
34
  invoice_id: NotRequired[Nullable[str]]
35
35
  r"""The invoice ID of the sale. Can be used as a idempotency key – only one sale event can be recorded for a given invoice ID."""
36
- lead_event_name: NotRequired[Nullable[str]]
37
- r"""The name of the lead event that occurred before the sale (case-sensitive). This is used to associate the sale event with a particular lead event (instead of the latest lead event for a link-customer combination, which is the default behavior)."""
38
36
  metadata: NotRequired[Nullable[Dict[str, Any]]]
39
37
  r"""Additional metadata to be stored with the sale event. Max 10,000 characters when stringified."""
38
+ lead_event_name: NotRequired[Nullable[str]]
39
+ r"""The name of the lead event that occurred before the sale (case-sensitive). This is used to associate the sale event with a particular lead event (instead of the latest lead event for a link-customer combination, which is the default behavior). For sale tracking without a pre-existing lead event, this field can also be used to specify the lead event name."""
40
+ click_id: NotRequired[Nullable[str]]
41
+ r"""[For sale tracking without a pre-existing lead event]: The unique ID of the click that the sale conversion event is attributed to. You can read this value from `dub_id` cookie."""
42
+ customer_name: NotRequired[Nullable[str]]
43
+ r"""[For sale tracking without a pre-existing lead event]: The name of the customer. If not passed, a random name will be generated (e.g. “Big Red Caribou”)."""
44
+ customer_email: NotRequired[Nullable[str]]
45
+ r"""[For sale tracking without a pre-existing lead event]: The email address of the customer."""
46
+ customer_avatar: NotRequired[Nullable[str]]
47
+ r"""[For sale tracking without a pre-existing lead event]: The avatar URL of the customer."""
40
48
 
41
49
 
42
50
  class TrackSaleRequestBody(BaseModel):
@@ -62,13 +70,31 @@ class TrackSaleRequestBody(BaseModel):
62
70
  )
63
71
  r"""The invoice ID of the sale. Can be used as a idempotency key – only one sale event can be recorded for a given invoice ID."""
64
72
 
73
+ metadata: OptionalNullable[Dict[str, Any]] = UNSET
74
+ r"""Additional metadata to be stored with the sale event. Max 10,000 characters when stringified."""
75
+
65
76
  lead_event_name: Annotated[
66
77
  OptionalNullable[str], pydantic.Field(alias="leadEventName")
67
78
  ] = None
68
- r"""The name of the lead event that occurred before the sale (case-sensitive). This is used to associate the sale event with a particular lead event (instead of the latest lead event for a link-customer combination, which is the default behavior)."""
79
+ r"""The name of the lead event that occurred before the sale (case-sensitive). This is used to associate the sale event with a particular lead event (instead of the latest lead event for a link-customer combination, which is the default behavior). For sale tracking without a pre-existing lead event, this field can also be used to specify the lead event name."""
69
80
 
70
- metadata: OptionalNullable[Dict[str, Any]] = UNSET
71
- r"""Additional metadata to be stored with the sale event. Max 10,000 characters when stringified."""
81
+ click_id: Annotated[OptionalNullable[str], pydantic.Field(alias="clickId")] = UNSET
82
+ r"""[For sale tracking without a pre-existing lead event]: The unique ID of the click that the sale conversion event is attributed to. You can read this value from `dub_id` cookie."""
83
+
84
+ customer_name: Annotated[
85
+ OptionalNullable[str], pydantic.Field(alias="customerName")
86
+ ] = None
87
+ r"""[For sale tracking without a pre-existing lead event]: The name of the customer. If not passed, a random name will be generated (e.g. “Big Red Caribou”)."""
88
+
89
+ customer_email: Annotated[
90
+ OptionalNullable[str], pydantic.Field(alias="customerEmail")
91
+ ] = None
92
+ r"""[For sale tracking without a pre-existing lead event]: The email address of the customer."""
93
+
94
+ customer_avatar: Annotated[
95
+ OptionalNullable[str], pydantic.Field(alias="customerAvatar")
96
+ ] = None
97
+ r"""[For sale tracking without a pre-existing lead event]: The avatar URL of the customer."""
72
98
 
73
99
  @model_serializer(mode="wrap")
74
100
  def serialize_model(self, handler):
@@ -77,11 +103,29 @@ class TrackSaleRequestBody(BaseModel):
77
103
  "eventName",
78
104
  "paymentProcessor",
79
105
  "invoiceId",
106
+ "metadata",
80
107
  "leadEventName",
108
+ "clickId",
109
+ "customerName",
110
+ "customerEmail",
111
+ "customerAvatar",
112
+ ]
113
+ nullable_fields = [
114
+ "invoiceId",
81
115
  "metadata",
116
+ "leadEventName",
117
+ "clickId",
118
+ "customerName",
119
+ "customerEmail",
120
+ "customerAvatar",
121
+ ]
122
+ null_default_fields = [
123
+ "invoiceId",
124
+ "leadEventName",
125
+ "customerName",
126
+ "customerEmail",
127
+ "customerAvatar",
82
128
  ]
83
- nullable_fields = ["invoiceId", "leadEventName", "metadata"]
84
- null_default_fields = ["invoiceId", "leadEventName"]
85
129
 
86
130
  serialized = handler(self)
87
131
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes