Skip to content

Commit 3b97934

Browse files
author
klaviyo-sdk
committed
version 8.0.1
1 parent 46e50d3 commit 3b97934

22 files changed

+58
-342
lines changed

CHANGELOG.md

+2-36
Original file line numberDiff line numberDiff line change
@@ -7,45 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
NOTE: For more granular API-specific changes, please see our [API Changelog](https://developers.klaviyo.com/en/docs/changelog_)
99

10-
## [8.0.0] - revision 2024-05-15
10+
## [8.0.1] - revision 2024-05-15
1111

1212
### Added
1313

14-
- Bulk Create Events API with
15-
- We have added support for creating events in bulk via the EventsApi.bulkCreateEvents method
16-
- Create multiple events for new and existing profiles and/or update profile properties in a single API call. For more information, see our [Events API overview](https://developers.klaviyo.com/en/reference/events_api_overview).
17-
18-
### Changed
19-
20-
- Accounts API
21-
- `Accounts.get_account` and `Accounts.get_accounts` have been updated to return the account's locale, e.g. `"en-US"`.
22-
23-
- **Breaking**
24-
- Subscribe API Synchronous Validation Improved
25-
- To provide better feedback for handling SMS subscriptions, we’ve added improved validation behavior to ProfilesApi.subscribeProfiles method. In prior revisions, such requests may appear as 202s but will fail to update SMS consent. To handle this issue, 400 validation errors are returned for the following cases
26-
1. If a profile is subscribed to SMS marketing and [age-gating is enabled](https://help.klaviyo.com/hc/en-us/articles/4408311712667) but age_gated_date_of_birth is not provided, or the DOB does not meet the region's requirements.
27-
2. If the account does not have a sending number in the phone number’s region.
28-
3. If the phone number is in a region not supported by Klaviyo.
29-
4. If consented_at is set and the list or global setting is double opt-in.
30-
- Pydantic V2
31-
- This SDK now uses Pydantic V2. This may cause some compatibility issues if your source code depends on Pydantic V1.
32-
- Renamed Fields in SDK
33-
- As of the 2024-05-15 release, some models fields are named differently than they appear in API documentation. These fields are
34-
- `datetime`: renamed to `datetime_`
35-
- `date`: renamed to `date_`
36-
37-
This is to manage compatibility with Pydantic v2. An example of this can be seen in [StaticScheduleOptions](src/openapi_client/models/static_schedule_options.py).
38-
39-
```python
40-
class StaticScheduleOptions(BaseModel):
41-
"""
42-
StaticScheduleOptions
43-
""" # noqa: E501
44-
datetime_: datetime = Field(description="The time to send at", alias="datetime")
45-
46-
schedule_options = StaticScheduleOptions(datetime_=datetime.datetime.strptime("2024-05-19T00:00:00+00:00", "%Y-%m-%dT%H:%M:%S%z")
47-
print(schedule_options.datetime_)
48-
```
14+
- Fixes issue where `filter` query params for any API call were being duplicated on request send. See issue: https://github.com/klaviyo/klaviyo-api-python/issues/51
4915

5016
## [7.0.0] - revision 2024-02-15
5117

README.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Klaviyo Python SDK
22

3-
- SDK version: 8.0.0
3+
- SDK version: 8.0.1
44
- API revision: 2024-05-15
55

66
## Table of Contents
@@ -2494,8 +2494,9 @@ klaviyo.Lists.get_list_tags(id, fields_tag=fields_tag)
24942494
# filter | str
24952495
# include | List[str]
24962496
# page_cursor | str
2497+
# sort | str
24972498

2498-
klaviyo.Lists.get_lists(fields_list=fields_list, fields_tag=fields_tag, filter=filter, include=include, page_cursor=page_cursor)
2499+
klaviyo.Lists.get_lists(fields_list=fields_list, fields_tag=fields_tag, filter=filter, include=include, page_cursor=page_cursor, sort=sort)
24992500
```
25002501

25012502

@@ -3120,8 +3121,9 @@ klaviyo.Segments.get_segment_tags(id, fields_tag=fields_tag)
31203121
# filter | str
31213122
# include | List[str]
31223123
# page_cursor | str
3124+
# sort | str
31233125

3124-
klaviyo.Segments.get_segments(fields_segment=fields_segment, fields_tag=fields_tag, filter=filter, include=include, page_cursor=page_cursor)
3126+
klaviyo.Segments.get_segments(fields_segment=fields_segment, fields_tag=fields_tag, filter=filter, include=include, page_cursor=page_cursor, sort=sort)
31253127
```
31263128

31273129

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "openapi_client"
3-
version = "8.0.0"
3+
version = "8.0.1"
44
description = "Klaviyo API"
55
authors = ["Klaviyo Developer Experience Team <[email protected]>"]
66
license = "License"

setup.cfg

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = klaviyo-api
3-
version = 8.0.0
3+
version = 8.0.1
44
author = Klaviyo Developers
55
author_email = [email protected]
66
description = Klaviyo Python SDK

src/openapi_client/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
""" # noqa: E501
1616

1717

18-
__version__ = "8.0.0"
18+
__version__ = "8.0.1"
1919

2020
# import apis into sdk package
2121
from openapi_client.api.accounts_api import AccountsApi

src/openapi_client/api/accounts_api.py

-2
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,6 @@ def _get_account_serialize(
296296
_query_params.append(('fields[account]', fields_account))
297297
else:
298298
_query_params.append(('fields[account]', fields_account))
299-
_query_params.append(('fields[account]', fields_account))
300299

301300
# process the header parameters
302301
# process the form parameters
@@ -575,7 +574,6 @@ def _get_accounts_serialize(
575574
_query_params.append(('fields[account]', fields_account))
576575
else:
577576
_query_params.append(('fields[account]', fields_account))
578-
_query_params.append(('fields[account]', fields_account))
579577

580578
# process the header parameters
581579
# process the form parameters

src/openapi_client/api/campaigns_api.py

-25
Original file line numberDiff line numberDiff line change
@@ -2043,31 +2043,27 @@ def _get_campaign_serialize(
20432043
_query_params.append(('fields[campaign-message]', fields_campaign_message))
20442044
else:
20452045
_query_params.append(('fields[campaign-message]', fields_campaign_message))
2046-
_query_params.append(('fields[campaign-message]', fields_campaign_message))
20472046

20482047
if fields_campaign is not None:
20492048

20502049
if isinstance(fields_campaign, EnumMeta):
20512050
_query_params.append(('fields[campaign]', fields_campaign))
20522051
else:
20532052
_query_params.append(('fields[campaign]', fields_campaign))
2054-
_query_params.append(('fields[campaign]', fields_campaign))
20552053

20562054
if fields_tag is not None:
20572055

20582056
if isinstance(fields_tag, EnumMeta):
20592057
_query_params.append(('fields[tag]', fields_tag))
20602058
else:
20612059
_query_params.append(('fields[tag]', fields_tag))
2062-
_query_params.append(('fields[tag]', fields_tag))
20632060

20642061
if include is not None:
20652062

20662063
if isinstance(include, EnumMeta):
20672064
_query_params.append(('include', include))
20682065
else:
20692066
_query_params.append(('include', include))
2070-
_query_params.append(('include', include))
20712067

20722068
# process the header parameters
20732069
# process the form parameters
@@ -2403,31 +2399,27 @@ def _get_campaign_campaign_messages_serialize(
24032399
_query_params.append(('fields[campaign-message]', fields_campaign_message))
24042400
else:
24052401
_query_params.append(('fields[campaign-message]', fields_campaign_message))
2406-
_query_params.append(('fields[campaign-message]', fields_campaign_message))
24072402

24082403
if fields_campaign is not None:
24092404

24102405
if isinstance(fields_campaign, EnumMeta):
24112406
_query_params.append(('fields[campaign]', fields_campaign))
24122407
else:
24132408
_query_params.append(('fields[campaign]', fields_campaign))
2414-
_query_params.append(('fields[campaign]', fields_campaign))
24152409

24162410
if fields_template is not None:
24172411

24182412
if isinstance(fields_template, EnumMeta):
24192413
_query_params.append(('fields[template]', fields_template))
24202414
else:
24212415
_query_params.append(('fields[template]', fields_template))
2422-
_query_params.append(('fields[template]', fields_template))
24232416

24242417
if include is not None:
24252418

24262419
if isinstance(include, EnumMeta):
24272420
_query_params.append(('include', include))
24282421
else:
24292422
_query_params.append(('include', include))
2430-
_query_params.append(('include', include))
24312423

24322424
# process the header parameters
24332425
# process the form parameters
@@ -2763,31 +2755,27 @@ def _get_campaign_message_serialize(
27632755
_query_params.append(('fields[campaign-message]', fields_campaign_message))
27642756
else:
27652757
_query_params.append(('fields[campaign-message]', fields_campaign_message))
2766-
_query_params.append(('fields[campaign-message]', fields_campaign_message))
27672758

27682759
if fields_campaign is not None:
27692760

27702761
if isinstance(fields_campaign, EnumMeta):
27712762
_query_params.append(('fields[campaign]', fields_campaign))
27722763
else:
27732764
_query_params.append(('fields[campaign]', fields_campaign))
2774-
_query_params.append(('fields[campaign]', fields_campaign))
27752765

27762766
if fields_template is not None:
27772767

27782768
if isinstance(fields_template, EnumMeta):
27792769
_query_params.append(('fields[template]', fields_template))
27802770
else:
27812771
_query_params.append(('fields[template]', fields_template))
2782-
_query_params.append(('fields[template]', fields_template))
27832772

27842773
if include is not None:
27852774

27862775
if isinstance(include, EnumMeta):
27872776
_query_params.append(('include', include))
27882777
else:
27892778
_query_params.append(('include', include))
2790-
_query_params.append(('include', include))
27912779

27922780
# process the header parameters
27932781
# process the form parameters
@@ -3081,7 +3069,6 @@ def _get_campaign_message_campaign_serialize(
30813069
_query_params.append(('fields[campaign]', fields_campaign))
30823070
else:
30833071
_query_params.append(('fields[campaign]', fields_campaign))
3084-
_query_params.append(('fields[campaign]', fields_campaign))
30853072

30863073
# process the header parameters
30873074
# process the form parameters
@@ -3919,7 +3906,6 @@ def _get_campaign_message_template_serialize(
39193906
_query_params.append(('fields[template]', fields_template))
39203907
else:
39213908
_query_params.append(('fields[template]', fields_template))
3922-
_query_params.append(('fields[template]', fields_template))
39233909

39243910
# process the header parameters
39253911
# process the form parameters
@@ -4213,7 +4199,6 @@ def _get_campaign_recipient_estimation_serialize(
42134199
_query_params.append(('fields[campaign-recipient-estimation]', fields_campaign_recipient_estimation))
42144200
else:
42154201
_query_params.append(('fields[campaign-recipient-estimation]', fields_campaign_recipient_estimation))
4216-
_query_params.append(('fields[campaign-recipient-estimation]', fields_campaign_recipient_estimation))
42174202

42184203
# process the header parameters
42194204
# process the form parameters
@@ -4507,7 +4492,6 @@ def _get_campaign_recipient_estimation_job_serialize(
45074492
_query_params.append(('fields[campaign-recipient-estimation-job]', fields_campaign_recipient_estimation_job))
45084493
else:
45094494
_query_params.append(('fields[campaign-recipient-estimation-job]', fields_campaign_recipient_estimation_job))
4510-
_query_params.append(('fields[campaign-recipient-estimation-job]', fields_campaign_recipient_estimation_job))
45114495

45124496
# process the header parameters
45134497
# process the form parameters
@@ -5345,7 +5329,6 @@ def _get_campaign_send_job_serialize(
53455329
_query_params.append(('fields[campaign-send-job]', fields_campaign_send_job))
53465330
else:
53475331
_query_params.append(('fields[campaign-send-job]', fields_campaign_send_job))
5348-
_query_params.append(('fields[campaign-send-job]', fields_campaign_send_job))
53495332

53505333
# process the header parameters
53515334
# process the form parameters
@@ -5639,7 +5622,6 @@ def _get_campaign_tags_serialize(
56395622
_query_params.append(('fields[tag]', fields_tag))
56405623
else:
56415624
_query_params.append(('fields[tag]', fields_tag))
5642-
_query_params.append(('fields[tag]', fields_tag))
56435625

56445626
# process the header parameters
56455627
# process the form parameters
@@ -5999,55 +5981,48 @@ def _get_campaigns_serialize(
59995981
_query_params.append(('filter', filter))
60005982
else:
60015983
_query_params.append(('filter', filter))
6002-
_query_params.append(('filter', filter))
60035984

60045985
if fields_campaign_message is not None:
60055986

60065987
if isinstance(fields_campaign_message, EnumMeta):
60075988
_query_params.append(('fields[campaign-message]', fields_campaign_message))
60085989
else:
60095990
_query_params.append(('fields[campaign-message]', fields_campaign_message))
6010-
_query_params.append(('fields[campaign-message]', fields_campaign_message))
60115991

60125992
if fields_campaign is not None:
60135993

60145994
if isinstance(fields_campaign, EnumMeta):
60155995
_query_params.append(('fields[campaign]', fields_campaign))
60165996
else:
60175997
_query_params.append(('fields[campaign]', fields_campaign))
6018-
_query_params.append(('fields[campaign]', fields_campaign))
60195998

60205999
if fields_tag is not None:
60216000

60226001
if isinstance(fields_tag, EnumMeta):
60236002
_query_params.append(('fields[tag]', fields_tag))
60246003
else:
60256004
_query_params.append(('fields[tag]', fields_tag))
6026-
_query_params.append(('fields[tag]', fields_tag))
60276005

60286006
if include is not None:
60296007

60306008
if isinstance(include, EnumMeta):
60316009
_query_params.append(('include', include))
60326010
else:
60336011
_query_params.append(('include', include))
6034-
_query_params.append(('include', include))
60356012

60366013
if page_cursor is not None:
60376014

60386015
if isinstance(page_cursor, EnumMeta):
60396016
_query_params.append(('page[cursor]', page_cursor))
60406017
else:
60416018
_query_params.append(('page[cursor]', page_cursor))
6042-
_query_params.append(('page[cursor]', page_cursor))
60436019

60446020
if sort is not None:
60456021

60466022
if isinstance(sort, EnumMeta):
60476023
_query_params.append(('sort', sort))
60486024
else:
60496025
_query_params.append(('sort', sort))
6050-
_query_params.append(('sort', sort))
60516026

60526027
# process the header parameters
60536028
# process the form parameters

0 commit comments

Comments
 (0)