Skip to content

Commit 7700a0e

Browse files
feat(api): manual updates
1 parent 3101223 commit 7700a0e

File tree

45 files changed

+2152
-1768
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+2152
-1768
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

README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,36 @@ params = Sentdm::MessageSendParams.new(
265265
sent_dm.messages.send_(**params)
266266
```
267267

268+
### Enums
269+
270+
Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime:
271+
272+
```ruby
273+
# :PRIVATE_PROFIT
274+
puts(
275+
Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::PRIVATE_PROFIT
276+
)
277+
278+
# Revealed type: `T.all(Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType, Symbol)`
279+
T.reveal_type(
280+
Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::PRIVATE_PROFIT
281+
)
282+
```
283+
284+
Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
285+
286+
```ruby
287+
Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo.new(
288+
entity_type: Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo::EntityType::PRIVATE_PROFIT,
289+
#
290+
)
291+
292+
Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo.new(
293+
entity_type: :PRIVATE_PROFIT,
294+
#
295+
)
296+
```
297+
268298
## Versioning
269299

270300
This package follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions. As the library is in initial development and has a major version of `0`, APIs may change at any time.

lib/sentdm.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,19 @@
9999
require_relative "sentdm/models/profiles/campaign_list_response"
100100
require_relative "sentdm/models/profiles/campaign_update_params"
101101
require_relative "sentdm/models/profiles/messaging_use_case_us"
102+
require_relative "sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data"
102103
require_relative "sentdm/models/profiles/tcr_campaign_with_use_cases"
103104
require_relative "sentdm/models/profile_settings"
104105
require_relative "sentdm/models/profile_update_params"
106+
require_relative "sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config"
107+
require_relative "sentdm/models/sent_dm_services_common_contracts_poc_os_template_body"
108+
require_relative "sentdm/models/sent_dm_services_common_contracts_poc_os_template_button"
109+
require_relative "sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props"
110+
require_relative "sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer"
111+
require_relative "sentdm/models/sent_dm_services_common_contracts_poc_os_template_header"
112+
require_relative "sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info"
113+
require_relative "sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info"
114+
require_relative "sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info"
105115
require_relative "sentdm/models/tcr_brand_relationship"
106116
require_relative "sentdm/models/tcr_vertical"
107117
require_relative "sentdm/models/template"

lib/sentdm/models.rb

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,33 @@ module Sentdm
105105

106106
ProfileUpdateParams = Sentdm::Models::ProfileUpdateParams
107107

108+
SentDmServicesCommonContractsPocOsAuthenticationConfig =
109+
Sentdm::Models::SentDmServicesCommonContractsPocOsAuthenticationConfig
110+
111+
SentDmServicesCommonContractsPocOsTemplateBody =
112+
Sentdm::Models::SentDmServicesCommonContractsPocOsTemplateBody
113+
114+
SentDmServicesCommonContractsPocOsTemplateButton =
115+
Sentdm::Models::SentDmServicesCommonContractsPocOsTemplateButton
116+
117+
SentDmServicesCommonContractsPocOsTemplateButtonProps =
118+
Sentdm::Models::SentDmServicesCommonContractsPocOsTemplateButtonProps
119+
120+
SentDmServicesCommonContractsPocOsTemplateFooter =
121+
Sentdm::Models::SentDmServicesCommonContractsPocOsTemplateFooter
122+
123+
SentDmServicesCommonContractsPocOsTemplateHeader =
124+
Sentdm::Models::SentDmServicesCommonContractsPocOsTemplateHeader
125+
126+
SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo =
127+
Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo
128+
129+
SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo =
130+
Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo
131+
132+
SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo =
133+
Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo
134+
108135
TcrBrandRelationship = Sentdm::Models::TcrBrandRelationship
109136

110137
TcrVertical = Sentdm::Models::TcrVertical

lib/sentdm/models/brands_brand_data.rb

Lines changed: 13 additions & 244 deletions
Original file line numberDiff line numberDiff line change
@@ -6,264 +6,33 @@ class BrandsBrandData < Sentdm::Internal::Type::BaseModel
66
# @!attribute compliance
77
# Compliance and TCR information for brand registration
88
#
9-
# @return [Sentdm::Models::BrandsBrandData::Compliance]
10-
required :compliance, -> { Sentdm::BrandsBrandData::Compliance }
9+
# @return [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo]
10+
required :compliance,
11+
-> { Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo }
1112

1213
# @!attribute contact
1314
# Contact information for brand KYC
1415
#
15-
# @return [Sentdm::Models::BrandsBrandData::Contact]
16-
required :contact, -> { Sentdm::BrandsBrandData::Contact }
16+
# @return [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo]
17+
required :contact,
18+
-> { Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo }
1719

1820
# @!attribute business
1921
# Business details and address for brand KYC
2022
#
21-
# @return [Sentdm::Models::BrandsBrandData::Business, nil]
22-
optional :business, -> { Sentdm::BrandsBrandData::Business }, nil?: true
23+
# @return [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo, nil]
24+
optional :business,
25+
-> { Sentdm::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo },
26+
nil?: true
2327

2428
# @!method initialize(compliance:, contact:, business: nil)
2529
# Brand and KYC data grouped into contact, business, and compliance sections
2630
#
27-
# @param compliance [Sentdm::Models::BrandsBrandData::Compliance] Compliance and TCR information for brand registration
31+
# @param compliance [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandComplianceInfo] Compliance and TCR information for brand registration
2832
#
29-
# @param contact [Sentdm::Models::BrandsBrandData::Contact] Contact information for brand KYC
33+
# @param contact [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandContactInfo] Contact information for brand KYC
3034
#
31-
# @param business [Sentdm::Models::BrandsBrandData::Business, nil] Business details and address for brand KYC
32-
33-
# @see Sentdm::Models::BrandsBrandData#compliance
34-
class Compliance < Sentdm::Internal::Type::BaseModel
35-
# @!attribute brand_relationship
36-
#
37-
# @return [Symbol, Sentdm::Models::TcrBrandRelationship]
38-
required :brand_relationship, enum: -> { Sentdm::TcrBrandRelationship }, api_name: :brandRelationship
39-
40-
# @!attribute vertical
41-
#
42-
# @return [Symbol, Sentdm::Models::TcrVertical]
43-
required :vertical, enum: -> { Sentdm::TcrVertical }
44-
45-
# @!attribute destination_countries
46-
# List of destination countries for messaging
47-
#
48-
# @return [Array<Sentdm::Models::DestinationCountry>, nil]
49-
optional :destination_countries,
50-
-> { Sentdm::Internal::Type::ArrayOf[Sentdm::DestinationCountry] },
51-
api_name: :destinationCountries,
52-
nil?: true
53-
54-
# @!attribute expected_messaging_volume
55-
# Expected daily messaging volume
56-
#
57-
# @return [String, nil]
58-
optional :expected_messaging_volume, String, api_name: :expectedMessagingVolume, nil?: true
59-
60-
# @!attribute is_tcr_application
61-
# Whether this is a TCR (Campaign Registry) application
62-
#
63-
# @return [Boolean, nil]
64-
optional :is_tcr_application, Sentdm::Internal::Type::Boolean, api_name: :isTcrApplication, nil?: true
65-
66-
# @!attribute notes
67-
# Additional notes about the business or use case
68-
#
69-
# @return [String, nil]
70-
optional :notes, String, nil?: true
71-
72-
# @!attribute phone_number_prefix
73-
# Phone number prefix for messaging (e.g., "+1")
74-
#
75-
# @return [String, nil]
76-
optional :phone_number_prefix, String, api_name: :phoneNumberPrefix, nil?: true
77-
78-
# @!attribute primary_use_case
79-
# Primary messaging use case description
80-
#
81-
# @return [String, nil]
82-
optional :primary_use_case, String, api_name: :primaryUseCase, nil?: true
83-
84-
# @!method initialize(brand_relationship:, vertical:, destination_countries: nil, expected_messaging_volume: nil, is_tcr_application: nil, notes: nil, phone_number_prefix: nil, primary_use_case: nil)
85-
# Compliance and TCR information for brand registration
86-
#
87-
# @param brand_relationship [Symbol, Sentdm::Models::TcrBrandRelationship]
88-
#
89-
# @param vertical [Symbol, Sentdm::Models::TcrVertical]
90-
#
91-
# @param destination_countries [Array<Sentdm::Models::DestinationCountry>, nil] List of destination countries for messaging
92-
#
93-
# @param expected_messaging_volume [String, nil] Expected daily messaging volume
94-
#
95-
# @param is_tcr_application [Boolean, nil] Whether this is a TCR (Campaign Registry) application
96-
#
97-
# @param notes [String, nil] Additional notes about the business or use case
98-
#
99-
# @param phone_number_prefix [String, nil] Phone number prefix for messaging (e.g., "+1")
100-
#
101-
# @param primary_use_case [String, nil] Primary messaging use case description
102-
end
103-
104-
# @see Sentdm::Models::BrandsBrandData#contact
105-
class Contact < Sentdm::Internal::Type::BaseModel
106-
# @!attribute name
107-
# Primary contact name (required)
108-
#
109-
# @return [String]
110-
required :name, String
111-
112-
# @!attribute business_name
113-
# Business/brand name
114-
#
115-
# @return [String, nil]
116-
optional :business_name, String, api_name: :businessName, nil?: true
117-
118-
# @!attribute email
119-
# Contact email address
120-
#
121-
# @return [String, nil]
122-
optional :email, String, nil?: true
123-
124-
# @!attribute phone
125-
# Contact phone number in E.164 format
126-
#
127-
# @return [String, nil]
128-
optional :phone, String, nil?: true
129-
130-
# @!attribute phone_country_code
131-
# Contact phone country code (e.g., "1" for US)
132-
#
133-
# @return [String, nil]
134-
optional :phone_country_code, String, api_name: :phoneCountryCode, nil?: true
135-
136-
# @!attribute role
137-
# Contact's role in the business
138-
#
139-
# @return [String, nil]
140-
optional :role, String, nil?: true
141-
142-
# @!method initialize(name:, business_name: nil, email: nil, phone: nil, phone_country_code: nil, role: nil)
143-
# Contact information for brand KYC
144-
#
145-
# @param name [String] Primary contact name (required)
146-
#
147-
# @param business_name [String, nil] Business/brand name
148-
#
149-
# @param email [String, nil] Contact email address
150-
#
151-
# @param phone [String, nil] Contact phone number in E.164 format
152-
#
153-
# @param phone_country_code [String, nil] Contact phone country code (e.g., "1" for US)
154-
#
155-
# @param role [String, nil] Contact's role in the business
156-
end
157-
158-
# @see Sentdm::Models::BrandsBrandData#business
159-
class Business < Sentdm::Internal::Type::BaseModel
160-
# @!attribute city
161-
# City
162-
#
163-
# @return [String, nil]
164-
optional :city, String, nil?: true
165-
166-
# @!attribute country
167-
# Country code (e.g., US, CA)
168-
#
169-
# @return [String, nil]
170-
optional :country, String, nil?: true
171-
172-
# @!attribute country_of_registration
173-
# Country where the business is registered
174-
#
175-
# @return [String, nil]
176-
optional :country_of_registration, String, api_name: :countryOfRegistration, nil?: true
177-
178-
# @!attribute entity_type
179-
#
180-
# @return [Symbol, Sentdm::Models::BrandsBrandData::Business::EntityType, nil]
181-
optional :entity_type,
182-
enum: -> { Sentdm::BrandsBrandData::Business::EntityType },
183-
api_name: :entityType,
184-
nil?: true
185-
186-
# @!attribute legal_name
187-
# Legal business name
188-
#
189-
# @return [String, nil]
190-
optional :legal_name, String, api_name: :legalName, nil?: true
191-
192-
# @!attribute postal_code
193-
# Postal/ZIP code
194-
#
195-
# @return [String, nil]
196-
optional :postal_code, String, api_name: :postalCode, nil?: true
197-
198-
# @!attribute state
199-
# State/province code
200-
#
201-
# @return [String, nil]
202-
optional :state, String, nil?: true
203-
204-
# @!attribute street
205-
# Street address
206-
#
207-
# @return [String, nil]
208-
optional :street, String, nil?: true
209-
210-
# @!attribute tax_id
211-
# Tax ID/EIN number
212-
#
213-
# @return [String, nil]
214-
optional :tax_id, String, api_name: :taxId, nil?: true
215-
216-
# @!attribute tax_id_type
217-
# Type of tax ID (e.g., us_ein, ca_bn)
218-
#
219-
# @return [String, nil]
220-
optional :tax_id_type, String, api_name: :taxIdType, nil?: true
221-
222-
# @!attribute url
223-
# Business website URL
224-
#
225-
# @return [String, nil]
226-
optional :url, String, nil?: true
227-
228-
# @!method initialize(city: nil, country: nil, country_of_registration: nil, entity_type: nil, legal_name: nil, postal_code: nil, state: nil, street: nil, tax_id: nil, tax_id_type: nil, url: nil)
229-
# Business details and address for brand KYC
230-
#
231-
# @param city [String, nil] City
232-
#
233-
# @param country [String, nil] Country code (e.g., US, CA)
234-
#
235-
# @param country_of_registration [String, nil] Country where the business is registered
236-
#
237-
# @param entity_type [Symbol, Sentdm::Models::BrandsBrandData::Business::EntityType, nil]
238-
#
239-
# @param legal_name [String, nil] Legal business name
240-
#
241-
# @param postal_code [String, nil] Postal/ZIP code
242-
#
243-
# @param state [String, nil] State/province code
244-
#
245-
# @param street [String, nil] Street address
246-
#
247-
# @param tax_id [String, nil] Tax ID/EIN number
248-
#
249-
# @param tax_id_type [String, nil] Type of tax ID (e.g., us_ein, ca_bn)
250-
#
251-
# @param url [String, nil] Business website URL
252-
253-
# @see Sentdm::Models::BrandsBrandData::Business#entity_type
254-
module EntityType
255-
extend Sentdm::Internal::Type::Enum
256-
257-
PRIVATE_PROFIT = :PRIVATE_PROFIT
258-
PUBLIC_PROFIT = :PUBLIC_PROFIT
259-
NON_PROFIT = :NON_PROFIT
260-
SOLE_PROPRIETOR = :SOLE_PROPRIETOR
261-
GOVERNMENT = :GOVERNMENT
262-
263-
# @!method self.values
264-
# @return [Array<Symbol>]
265-
end
266-
end
35+
# @param business [Sentdm::Models::SentDmServicesEndpointsCustomerApIv3ContractsRequestsBrandsBrandBusinessInfo, nil] Business details and address for brand KYC
26736
end
26837
end
26938
end

0 commit comments

Comments
 (0)