Skip to content

Commit 5c6bf75

Browse files
feat(api): manual updates
1 parent b6db7f9 commit 5c6bf75

17 files changed

+400
-229
lines changed

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 40
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sent%2Fsent-dm-2566cdc5d8e0bffe2a8c442692b0fc1b35d3bfe7e9bf578331fc19d402361c1f.yml
33
openapi_spec_hash: 85e1feeb9bbc8d59bb34d6cdd679575a
4-
config_hash: 676ee4f74f5b328b155283c879154b66
4+
config_hash: 497506d9e2e66cd0573bd9c1f1242462

api.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,12 @@ Types:
5454
```python
5555
from sent_dm.types import (
5656
APIResponseTemplate,
57+
SentDmServicesCommonContractsPocOsAuthenticationConfig,
58+
SentDmServicesCommonContractsPocOsTemplateBody,
59+
SentDmServicesCommonContractsPocOsTemplateButton,
60+
SentDmServicesCommonContractsPocOsTemplateButtonProps,
61+
SentDmServicesCommonContractsPocOsTemplateFooter,
62+
SentDmServicesCommonContractsPocOsTemplateHeader,
5763
Template,
5864
TemplateBodyContent,
5965
TemplateDefinition,
@@ -82,6 +88,9 @@ from sent_dm.types import (
8288
DestinationCountry,
8389
PaymentDetails,
8490
ProfileDetail,
91+
SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo,
92+
SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo,
93+
SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo,
8594
TcrBrandRelationship,
8695
TcrVertical,
8796
ProfileListResponse,
@@ -107,6 +116,7 @@ from sent_dm.types.profiles import (
107116
BaseDto,
108117
CampaignData,
109118
MessagingUseCaseUs,
119+
SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData,
110120
TcrCampaignWithUseCases,
111121
CampaignListResponse,
112122
)

src/sent_dm/types/__init__.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,30 @@
6464
from .message_retrieve_status_response import MessageRetrieveStatusResponse as MessageRetrieveStatusResponse
6565
from .webhook_list_event_types_response import WebhookListEventTypesResponse as WebhookListEventTypesResponse
6666
from .message_retrieve_activities_response import MessageRetrieveActivitiesResponse as MessageRetrieveActivitiesResponse
67+
from .sent_dm_services_common_contracts_poc_os_template_body_param import (
68+
SentDmServicesCommonContractsPocOsTemplateBodyParam as SentDmServicesCommonContractsPocOsTemplateBodyParam,
69+
)
70+
from .sent_dm_services_common_contracts_poc_os_template_button_param import (
71+
SentDmServicesCommonContractsPocOsTemplateButtonParam as SentDmServicesCommonContractsPocOsTemplateButtonParam,
72+
)
73+
from .sent_dm_services_common_contracts_poc_os_template_footer_param import (
74+
SentDmServicesCommonContractsPocOsTemplateFooterParam as SentDmServicesCommonContractsPocOsTemplateFooterParam,
75+
)
76+
from .sent_dm_services_common_contracts_poc_os_template_header_param import (
77+
SentDmServicesCommonContractsPocOsTemplateHeaderParam as SentDmServicesCommonContractsPocOsTemplateHeaderParam,
78+
)
79+
from .sent_dm_services_common_contracts_poc_os_authentication_config_param import (
80+
SentDmServicesCommonContractsPocOsAuthenticationConfigParam as SentDmServicesCommonContractsPocOsAuthenticationConfigParam,
81+
)
82+
from .sent_dm_services_common_contracts_poc_os_template_button_props_param import (
83+
SentDmServicesCommonContractsPocOsTemplateButtonPropsParam as SentDmServicesCommonContractsPocOsTemplateButtonPropsParam,
84+
)
85+
from .sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info_param import (
86+
SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfoParam as SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfoParam,
87+
)
88+
from .sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info_param import (
89+
SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfoParam as SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfoParam,
90+
)
91+
from .sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info_param import (
92+
SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfoParam as SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfoParam,
93+
)

src/sent_dm/types/brands_brand_data_param.py

Lines changed: 15 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -2,114 +2,30 @@
22

33
from __future__ import annotations
44

5-
from typing import Iterable, Optional
6-
from typing_extensions import Literal, Required, Annotated, TypedDict
5+
from typing import Optional
6+
from typing_extensions import Required, TypedDict
77

8-
from .._utils import PropertyInfo
9-
from .tcr_vertical import TcrVertical
10-
from .tcr_brand_relationship import TcrBrandRelationship
11-
from .destination_country_param import DestinationCountryParam
8+
from .sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info_param import (
9+
SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfoParam,
10+
)
11+
from .sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info_param import (
12+
SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfoParam,
13+
)
14+
from .sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info_param import (
15+
SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfoParam,
16+
)
1217

13-
__all__ = ["BrandsBrandDataParam", "Compliance", "Contact", "Business"]
14-
15-
16-
class Compliance(TypedDict, total=False):
17-
"""Compliance and TCR information for brand registration"""
18-
19-
brand_relationship: Required[Annotated[TcrBrandRelationship, PropertyInfo(alias="brandRelationship")]]
20-
21-
vertical: Required[TcrVertical]
22-
23-
destination_countries: Annotated[
24-
Optional[Iterable[DestinationCountryParam]], PropertyInfo(alias="destinationCountries")
25-
]
26-
"""List of destination countries for messaging"""
27-
28-
expected_messaging_volume: Annotated[Optional[str], PropertyInfo(alias="expectedMessagingVolume")]
29-
"""Expected daily messaging volume"""
30-
31-
is_tcr_application: Annotated[Optional[bool], PropertyInfo(alias="isTcrApplication")]
32-
"""Whether this is a TCR (Campaign Registry) application"""
33-
34-
notes: Optional[str]
35-
"""Additional notes about the business or use case"""
36-
37-
phone_number_prefix: Annotated[Optional[str], PropertyInfo(alias="phoneNumberPrefix")]
38-
"""Phone number prefix for messaging (e.g., "+1")"""
39-
40-
primary_use_case: Annotated[Optional[str], PropertyInfo(alias="primaryUseCase")]
41-
"""Primary messaging use case description"""
42-
43-
44-
class Contact(TypedDict, total=False):
45-
"""Contact information for brand KYC"""
46-
47-
name: Required[str]
48-
"""Primary contact name (required)"""
49-
50-
business_name: Annotated[Optional[str], PropertyInfo(alias="businessName")]
51-
"""Business/brand name"""
52-
53-
email: Optional[str]
54-
"""Contact email address"""
55-
56-
phone: Optional[str]
57-
"""Contact phone number in E.164 format"""
58-
59-
phone_country_code: Annotated[Optional[str], PropertyInfo(alias="phoneCountryCode")]
60-
"""Contact phone country code (e.g., "1" for US)"""
61-
62-
role: Optional[str]
63-
"""Contact's role in the business"""
64-
65-
66-
class Business(TypedDict, total=False):
67-
"""Business details and address for brand KYC"""
68-
69-
city: Optional[str]
70-
"""City"""
71-
72-
country: Optional[str]
73-
"""Country code (e.g., US, CA)"""
74-
75-
country_of_registration: Annotated[Optional[str], PropertyInfo(alias="countryOfRegistration")]
76-
"""Country where the business is registered"""
77-
78-
entity_type: Annotated[
79-
Optional[Literal["PRIVATE_PROFIT", "PUBLIC_PROFIT", "NON_PROFIT", "SOLE_PROPRIETOR", "GOVERNMENT"]],
80-
PropertyInfo(alias="entityType"),
81-
]
82-
83-
legal_name: Annotated[Optional[str], PropertyInfo(alias="legalName")]
84-
"""Legal business name"""
85-
86-
postal_code: Annotated[Optional[str], PropertyInfo(alias="postalCode")]
87-
"""Postal/ZIP code"""
88-
89-
state: Optional[str]
90-
"""State/province code"""
91-
92-
street: Optional[str]
93-
"""Street address"""
94-
95-
tax_id: Annotated[Optional[str], PropertyInfo(alias="taxId")]
96-
"""Tax ID/EIN number"""
97-
98-
tax_id_type: Annotated[Optional[str], PropertyInfo(alias="taxIdType")]
99-
"""Type of tax ID (e.g., us_ein, ca_bn)"""
100-
101-
url: Optional[str]
102-
"""Business website URL"""
18+
__all__ = ["BrandsBrandDataParam"]
10319

10420

10521
class BrandsBrandDataParam(TypedDict, total=False):
10622
"""Brand and KYC data grouped into contact, business, and compliance sections"""
10723

108-
compliance: Required[Compliance]
24+
compliance: Required[SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfoParam]
10925
"""Compliance and TCR information for brand registration"""
11026

111-
contact: Required[Contact]
27+
contact: Required[SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfoParam]
11228
"""Contact information for brand KYC"""
11329

114-
business: Optional[Business]
30+
business: Optional[SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfoParam]
11531
"""Business details and address for brand KYC"""

src/sent_dm/types/profiles/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@
1313
from .api_response_of_tcr_campaign_with_use_cases import (
1414
APIResponseOfTcrCampaignWithUseCases as APIResponseOfTcrCampaignWithUseCases,
1515
)
16+
from .sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data_param import (
17+
SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseDataParam as SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseDataParam,
18+
)

src/sent_dm/types/profiles/campaign_data_param.py

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,12 @@
55
from typing import Iterable, Optional
66
from typing_extensions import Required, Annotated, TypedDict
77

8-
from ..._types import SequenceNotStr
98
from ..._utils import PropertyInfo
10-
from .messaging_use_case_us import MessagingUseCaseUs
9+
from .sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data_param import (
10+
SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseDataParam,
11+
)
1112

12-
__all__ = ["CampaignDataParam", "UseCase"]
13-
14-
15-
class UseCase(TypedDict, total=False):
16-
"""Campaign use case with sample messages"""
17-
18-
messaging_use_case_us: Required[Annotated[MessagingUseCaseUs, PropertyInfo(alias="messagingUseCaseUs")]]
19-
20-
sample_messages: Required[Annotated[SequenceNotStr[str], PropertyInfo(alias="sampleMessages")]]
21-
"""Sample messages for this use case (1-5 messages, max 1024 characters each)"""
13+
__all__ = ["CampaignDataParam"]
2214

2315

2416
class CampaignDataParam(TypedDict, total=False):
@@ -33,7 +25,12 @@ class CampaignDataParam(TypedDict, total=False):
3325
type: Required[str]
3426
"""Campaign type (e.g., "KYC", "App")"""
3527

36-
use_cases: Required[Annotated[Iterable[UseCase], PropertyInfo(alias="useCases")]]
28+
use_cases: Required[
29+
Annotated[
30+
Iterable[SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseDataParam],
31+
PropertyInfo(alias="useCases"),
32+
]
33+
]
3734
"""List of use cases with sample messages"""
3835

3936
help_keywords: Annotated[Optional[str], PropertyInfo(alias="helpKeywords")]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing_extensions import Required, Annotated, TypedDict
6+
7+
from ..._types import SequenceNotStr
8+
from ..._utils import PropertyInfo
9+
from .messaging_use_case_us import MessagingUseCaseUs
10+
11+
__all__ = ["SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseDataParam"]
12+
13+
14+
class SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseDataParam(TypedDict, total=False):
15+
"""Campaign use case with sample messages"""
16+
17+
messaging_use_case_us: Required[Annotated[MessagingUseCaseUs, PropertyInfo(alias="messagingUseCaseUs")]]
18+
19+
sample_messages: Required[Annotated[SequenceNotStr[str], PropertyInfo(alias="sampleMessages")]]
20+
"""Sample messages for this use case (1-5 messages, max 1024 characters each)"""
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
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 Optional
6+
from typing_extensions import Annotated, TypedDict
7+
8+
from .._utils import PropertyInfo
9+
10+
__all__ = ["SentDmServicesCommonContractsPocOsAuthenticationConfigParam"]
11+
12+
13+
class SentDmServicesCommonContractsPocOsAuthenticationConfigParam(TypedDict, total=False):
14+
"""Configuration for AUTHENTICATION category templates"""
15+
16+
add_security_recommendation: Annotated[bool, PropertyInfo(alias="addSecurityRecommendation")]
17+
"""
18+
Whether to add the security recommendation text: "For your security, do not
19+
share this code."
20+
"""
21+
22+
code_expiration_minutes: Annotated[Optional[int], PropertyInfo(alias="codeExpirationMinutes")]
23+
"""Code expiration time in minutes (1-90).
24+
25+
If set, adds footer: "This code expires in X minutes."
26+
"""
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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 Optional
6+
from typing_extensions import Annotated, TypedDict
7+
8+
from .._utils import PropertyInfo
9+
from .template_body_content_param import TemplateBodyContentParam
10+
11+
__all__ = ["SentDmServicesCommonContractsPocOsTemplateBodyParam"]
12+
13+
14+
class SentDmServicesCommonContractsPocOsTemplateBodyParam(TypedDict, total=False):
15+
"""Body section of a message template with channel-specific content"""
16+
17+
multi_channel: Annotated[Optional[TemplateBodyContentParam], PropertyInfo(alias="multiChannel")]
18+
"""
19+
Content that will be used for all channels (SMS and WhatsApp) unless
20+
channel-specific content is provided
21+
"""
22+
23+
sms: Optional[TemplateBodyContentParam]
24+
"""SMS-specific content that overrides multi-channel content for SMS messages"""
25+
26+
whatsapp: Optional[TemplateBodyContentParam]
27+
"""
28+
WhatsApp-specific content that overrides multi-channel content for WhatsApp
29+
messages
30+
"""
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from __future__ import annotations
4+
5+
from typing_extensions import TypedDict
6+
7+
from .sent_dm_services_common_contracts_poc_os_template_button_props_param import (
8+
SentDmServicesCommonContractsPocOsTemplateButtonPropsParam,
9+
)
10+
11+
__all__ = ["SentDmServicesCommonContractsPocOsTemplateButtonParam"]
12+
13+
14+
class SentDmServicesCommonContractsPocOsTemplateButtonParam(TypedDict, total=False):
15+
"""Interactive button in a message template"""
16+
17+
id: int
18+
"""The unique identifier of the button (1-based index)"""
19+
20+
props: SentDmServicesCommonContractsPocOsTemplateButtonPropsParam
21+
"""Properties specific to the button type"""
22+
23+
type: str
24+
"""
25+
The type of button (e.g., QUICK_REPLY, URL, PHONE_NUMBER, VOICE_CALL, COPY_CODE)
26+
"""

0 commit comments

Comments
 (0)