sentdm 0.4.0 → 0.5.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +1 -27
- data/lib/sentdm/client.rb +5 -8
- data/lib/sentdm/internal/type/base_model.rb +5 -5
- data/lib/sentdm/models/{api_response_contact.rb → api_response_of_contact.rb} +4 -4
- data/lib/sentdm/models/base_dto.rb +30 -0
- data/lib/sentdm/models/billing_contact_info.rb +47 -0
- data/lib/sentdm/models/{brand_data.rb → brands_brand_data.rb} +17 -17
- data/lib/sentdm/models/contact_delete_params.rb +1 -1
- data/lib/sentdm/models/contact_list_response.rb +3 -3
- data/lib/sentdm/models/{contact.rb → contact_response.rb} +1 -1
- data/lib/sentdm/models/{mutation_request.rb → mutation_request_base.rb} +2 -2
- data/lib/sentdm/models/number_lookup_params.rb +26 -0
- data/lib/sentdm/models/number_lookup_response.rb +104 -0
- data/lib/sentdm/models/payment_details.rb +44 -0
- data/lib/sentdm/models/{profile_complete_params.rb → profile_complete_setup_params.rb} +3 -3
- data/lib/sentdm/models/{profile_complete_response.rb → profile_complete_setup_response.rb} +1 -1
- data/lib/sentdm/models/profile_create_params.rb +9 -91
- data/lib/sentdm/models/profile_delete_params.rb +1 -1
- data/lib/sentdm/models/profile_detail.rb +369 -3
- data/lib/sentdm/models/profile_update_params.rb +9 -91
- data/lib/sentdm/models/{brands/api_response_tcr_campaign_with_use_cases.rb → profiles/api_response_of_tcr_campaign_with_use_cases.rb} +6 -5
- data/lib/sentdm/models/profiles/campaign_create_params.rb +57 -0
- data/lib/sentdm/models/{brands → profiles}/campaign_data.rb +28 -7
- data/lib/sentdm/models/profiles/campaign_delete_params.rb +50 -0
- data/lib/sentdm/models/profiles/campaign_list_params.rb +28 -0
- data/lib/sentdm/models/profiles/campaign_list_response.rb +47 -0
- data/lib/sentdm/models/profiles/campaign_update_params.rb +64 -0
- data/lib/sentdm/models/{brands → profiles}/messaging_use_case_us.rb +1 -1
- data/lib/sentdm/models/{brands → profiles}/tcr_campaign_with_use_cases.rb +15 -15
- data/lib/sentdm/models/template_definition.rb +255 -15
- data/lib/sentdm/models/user_remove_params.rb +1 -1
- data/lib/sentdm/models/webhook_rotate_secret_params.rb +1 -1
- data/lib/sentdm/models.rb +14 -26
- data/lib/sentdm/resources/contacts.rb +6 -6
- data/lib/sentdm/resources/numbers.rb +44 -0
- data/lib/sentdm/resources/profiles/campaigns.rb +160 -0
- data/lib/sentdm/resources/profiles.rb +16 -11
- data/lib/sentdm/version.rb +1 -1
- data/lib/sentdm.rb +22 -22
- data/rbi/sentdm/client.rbi +4 -6
- data/rbi/sentdm/models/{api_response_contact.rbi → api_response_of_contact.rbi} +6 -6
- data/rbi/sentdm/models/base_dto.rbi +49 -0
- data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
- data/rbi/sentdm/models/{brand_data.rbi → brands_brand_data.rbi} +44 -27
- data/rbi/sentdm/models/contact_delete_params.rbi +1 -1
- data/rbi/sentdm/models/contact_list_response.rbi +4 -4
- data/rbi/sentdm/models/{contact.rbi → contact_response.rbi} +4 -2
- data/rbi/sentdm/models/{mutation_request.rbi → mutation_request_base.rbi} +2 -2
- data/rbi/sentdm/models/number_lookup_params.rbi +46 -0
- data/rbi/sentdm/models/number_lookup_response.rbi +166 -0
- data/rbi/sentdm/models/payment_details.rbi +59 -0
- data/rbi/sentdm/models/{profile_complete_params.rbi → profile_complete_setup_params.rbi} +2 -2
- data/rbi/sentdm/models/{profile_complete_response.rbi → profile_complete_setup_response.rbi} +1 -1
- data/rbi/sentdm/models/profile_create_params.rbi +12 -146
- data/rbi/sentdm/models/profile_delete_params.rbi +1 -1
- data/rbi/sentdm/models/profile_detail.rbi +562 -4
- data/rbi/sentdm/models/profile_update_params.rbi +12 -146
- data/rbi/sentdm/models/{brands/api_response_tcr_campaign_with_use_cases.rbi → profiles/api_response_of_tcr_campaign_with_use_cases.rbi} +7 -7
- data/rbi/sentdm/models/profiles/campaign_create_params.rbi +88 -0
- data/rbi/sentdm/models/{brands → profiles}/campaign_data.rbi +51 -16
- data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +95 -0
- data/rbi/sentdm/models/profiles/campaign_list_params.rbi +51 -0
- data/rbi/sentdm/models/profiles/campaign_list_response.rbi +84 -0
- data/rbi/sentdm/models/profiles/campaign_update_params.rbi +94 -0
- data/rbi/sentdm/models/{brands → profiles}/messaging_use_case_us.rbi +20 -16
- data/rbi/sentdm/models/{brands → profiles}/tcr_campaign_with_use_cases.rbi +37 -29
- data/rbi/sentdm/models/template_definition.rbi +405 -74
- data/rbi/sentdm/models/user_remove_params.rbi +1 -1
- data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -1
- data/rbi/sentdm/models.rbi +14 -26
- data/rbi/sentdm/resources/contacts.rbi +3 -3
- data/rbi/sentdm/resources/numbers.rbi +32 -0
- data/rbi/sentdm/resources/profiles/campaigns.rbi +127 -0
- data/rbi/sentdm/resources/profiles.rbi +11 -11
- data/sig/sentdm/client.rbs +2 -4
- data/sig/sentdm/models/{api_response_contact.rbs → api_response_of_contact.rbs} +6 -6
- data/sig/sentdm/models/base_dto.rbs +25 -0
- data/sig/sentdm/models/billing_contact_info.rbs +30 -0
- data/sig/sentdm/models/{brand_data.rbs → brands_brand_data.rbs} +19 -19
- data/sig/sentdm/models/contact_delete_params.rbs +1 -1
- data/sig/sentdm/models/contact_list_response.rbs +7 -5
- data/sig/sentdm/models/{contact.rbs → contact_response.rbs} +2 -2
- data/sig/sentdm/models/{mutation_request.rbs → mutation_request_base.rbs} +2 -2
- data/sig/sentdm/models/number_lookup_params.rbs +30 -0
- data/sig/sentdm/models/number_lookup_response.rbs +100 -0
- data/sig/sentdm/models/payment_details.rbs +30 -0
- data/sig/sentdm/models/{profile_complete_params.rbs → profile_complete_setup_params.rbs} +2 -2
- data/sig/sentdm/models/profile_complete_setup_response.rbs +5 -0
- data/sig/sentdm/models/profile_create_params.rbs +12 -66
- data/sig/sentdm/models/profile_delete_params.rbs +1 -1
- data/sig/sentdm/models/profile_detail.rbs +289 -4
- data/sig/sentdm/models/profile_update_params.rbs +12 -66
- data/sig/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rbs +41 -0
- data/sig/sentdm/models/profiles/campaign_create_params.rbs +54 -0
- data/sig/sentdm/models/{brands → profiles}/campaign_data.rbs +27 -5
- data/sig/sentdm/models/profiles/campaign_delete_params.rbs +53 -0
- data/sig/sentdm/models/profiles/campaign_list_params.rbs +32 -0
- data/sig/sentdm/models/{brands/api_response_tcr_campaign_with_use_cases.rbs → profiles/campaign_list_response.rbs} +7 -7
- data/sig/sentdm/models/profiles/campaign_update_params.rbs +59 -0
- data/sig/sentdm/models/{brands → profiles}/messaging_use_case_us.rbs +2 -2
- data/sig/sentdm/models/{brands → profiles}/tcr_campaign_with_use_cases.rbs +29 -29
- data/sig/sentdm/models/template_definition.rbs +233 -20
- data/sig/sentdm/models/user_remove_params.rbs +1 -1
- data/sig/sentdm/models/webhook_rotate_secret_params.rbs +1 -1
- data/sig/sentdm/models.rbs +14 -20
- data/sig/sentdm/resources/contacts.rbs +3 -3
- data/sig/sentdm/resources/numbers.rbs +13 -0
- data/sig/sentdm/resources/profiles/campaigns.rbs +42 -0
- data/sig/sentdm/resources/profiles.rbs +9 -7
- metadata +67 -67
- data/lib/sentdm/models/brand_with_kyc.rb +0 -370
- data/lib/sentdm/models/brands/base_dto.rb +0 -32
- data/lib/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +0 -30
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rb +0 -34
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rb +0 -40
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rb +0 -38
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rb +0 -81
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rb +0 -34
- data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rb +0 -39
- data/lib/sentdm/resources/brands/campaigns.rb +0 -16
- data/lib/sentdm/resources/brands.rb +0 -18
- data/lib/sentdm/resources/lookup.rb +0 -14
- data/rbi/sentdm/models/brand_with_kyc.rbi +0 -516
- data/rbi/sentdm/models/brands/base_dto.rbi +0 -53
- data/rbi/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +0 -52
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbi +0 -56
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbi +0 -76
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbi +0 -79
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbi +0 -104
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbi +0 -60
- data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbi +0 -62
- data/rbi/sentdm/resources/brands/campaigns.rbi +0 -14
- data/rbi/sentdm/resources/brands.rbi +0 -15
- data/rbi/sentdm/resources/lookup.rbi +0 -12
- data/sig/sentdm/models/brand_with_kyc.rbs +0 -288
- data/sig/sentdm/models/brands/base_dto.rbs +0 -27
- data/sig/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +0 -27
- data/sig/sentdm/models/profile_complete_response.rbs +0 -5
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbs +0 -24
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbs +0 -30
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +0 -38
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbs +0 -75
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbs +0 -32
- data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbs +0 -32
- data/sig/sentdm/resources/brands/campaigns.rbs +0 -9
- data/sig/sentdm/resources/brands.rbs +0 -9
- data/sig/sentdm/resources/lookup.rbs +0 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b04e02de625816b5c8b0b5a02ecedc198dc33f346277ebaebca6e26e8df61844
|
|
4
|
+
data.tar.gz: cb8626c2a126335a92cea456679fdb2d5865fbecbb391e6634d00b932cde65d4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7a1eec1d9dfd462eefddb941989e06e7af9ed1e2a3fd9a84fca256af193711b0443c7dbbca66db20963722c630e34854207489842f21d8ab4fd4f174118a6178
|
|
7
|
+
data.tar.gz: d291e1ace6701e0ef970dc044aa629847472273a9ec1b422456eba805db7f4b45358ea0b71fba71f166392f20c0e4b37a20d4c23b5339ed9d55c29980defd60a
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.5.0 (2026-03-11)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.4.0...v0.5.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.4.0...v0.5.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** manual updates ([bdd5b4e](https://github.com/sentdm/sent-dm-ruby/commit/bdd5b4efe70096707888663254558a55d1a3c03b))
|
|
10
|
+
|
|
3
11
|
## 0.4.0 (2026-03-11)
|
|
4
12
|
|
|
5
13
|
Full Changelog: [v0.3.1...v0.4.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.3.1...v0.4.0)
|
data/README.md
CHANGED
|
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
|
|
|
26
26
|
<!-- x-release-please-start-version -->
|
|
27
27
|
|
|
28
28
|
```ruby
|
|
29
|
-
gem "sentdm", "~> 0.
|
|
29
|
+
gem "sentdm", "~> 0.5.0"
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
<!-- x-release-please-end -->
|
|
@@ -265,32 +265,6 @@ params = Sentdm::MessageSendParams.new(
|
|
|
265
265
|
sent_dm.messages.send_(**params)
|
|
266
266
|
```
|
|
267
267
|
|
|
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
|
-
# :SELF_DECLARED
|
|
274
|
-
puts(Sentdm::BrandWithKYC::IdentityStatus::SELF_DECLARED)
|
|
275
|
-
|
|
276
|
-
# Revealed type: `T.all(Sentdm::BrandWithKYC::IdentityStatus, Symbol)`
|
|
277
|
-
T.reveal_type(Sentdm::BrandWithKYC::IdentityStatus::SELF_DECLARED)
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
|
|
281
|
-
|
|
282
|
-
```ruby
|
|
283
|
-
Sentdm::BrandWithKYC.new(
|
|
284
|
-
identity_status: Sentdm::BrandWithKYC::IdentityStatus::SELF_DECLARED,
|
|
285
|
-
# …
|
|
286
|
-
)
|
|
287
|
-
|
|
288
|
-
Sentdm::BrandWithKYC.new(
|
|
289
|
-
identity_status: :SELF_DECLARED,
|
|
290
|
-
# …
|
|
291
|
-
)
|
|
292
|
-
```
|
|
293
|
-
|
|
294
268
|
## Versioning
|
|
295
269
|
|
|
296
270
|
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.
|
data/lib/sentdm/client.rb
CHANGED
|
@@ -36,20 +36,18 @@ module Sentdm
|
|
|
36
36
|
# @return [Sentdm::Resources::Profiles]
|
|
37
37
|
attr_reader :profiles
|
|
38
38
|
|
|
39
|
+
# Manage and lookup phone numbers
|
|
40
|
+
# @return [Sentdm::Resources::Numbers]
|
|
41
|
+
attr_reader :numbers
|
|
42
|
+
|
|
39
43
|
# Send and track SMS and WhatsApp messages
|
|
40
44
|
# @return [Sentdm::Resources::Messages]
|
|
41
45
|
attr_reader :messages
|
|
42
46
|
|
|
43
|
-
# @return [Sentdm::Resources::Lookup]
|
|
44
|
-
attr_reader :lookup
|
|
45
|
-
|
|
46
47
|
# Create, update, and manage customer contact lists
|
|
47
48
|
# @return [Sentdm::Resources::Contacts]
|
|
48
49
|
attr_reader :contacts
|
|
49
50
|
|
|
50
|
-
# @return [Sentdm::Resources::Brands]
|
|
51
|
-
attr_reader :brands
|
|
52
|
-
|
|
53
51
|
# Retrieve account details
|
|
54
52
|
# @return [Sentdm::Resources::Me]
|
|
55
53
|
attr_reader :me
|
|
@@ -105,10 +103,9 @@ module Sentdm
|
|
|
105
103
|
@users = Sentdm::Resources::Users.new(client: self)
|
|
106
104
|
@templates = Sentdm::Resources::Templates.new(client: self)
|
|
107
105
|
@profiles = Sentdm::Resources::Profiles.new(client: self)
|
|
106
|
+
@numbers = Sentdm::Resources::Numbers.new(client: self)
|
|
108
107
|
@messages = Sentdm::Resources::Messages.new(client: self)
|
|
109
|
-
@lookup = Sentdm::Resources::Lookup.new(client: self)
|
|
110
108
|
@contacts = Sentdm::Resources::Contacts.new(client: self)
|
|
111
|
-
@brands = Sentdm::Resources::Brands.new(client: self)
|
|
112
109
|
@me = Sentdm::Resources::Me.new(client: self)
|
|
113
110
|
end
|
|
114
111
|
end
|
|
@@ -438,11 +438,11 @@ module Sentdm
|
|
|
438
438
|
# @return [Hash{Symbol=>Object}]
|
|
439
439
|
#
|
|
440
440
|
# @example
|
|
441
|
-
# # `
|
|
442
|
-
#
|
|
443
|
-
#
|
|
444
|
-
#
|
|
445
|
-
#
|
|
441
|
+
# # `base_dto` is a `Sentdm::BaseDto`
|
|
442
|
+
# base_dto => {
|
|
443
|
+
# id: id,
|
|
444
|
+
# created_at: created_at,
|
|
445
|
+
# updated_at: updated_at
|
|
446
446
|
# }
|
|
447
447
|
def deconstruct_keys(keys)
|
|
448
448
|
(keys || self.class.known_fields.keys)
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
5
|
# @see Sentdm::Resources::Contacts#create
|
|
6
|
-
class
|
|
6
|
+
class APIResponseOfContact < Sentdm::Internal::Type::BaseModel
|
|
7
7
|
# @!attribute data
|
|
8
8
|
# The response data (null if error)
|
|
9
9
|
#
|
|
10
|
-
# @return [Sentdm::Models::
|
|
11
|
-
optional :data, -> { Sentdm::
|
|
10
|
+
# @return [Sentdm::Models::ContactResponse, nil]
|
|
11
|
+
optional :data, -> { Sentdm::ContactResponse }, nil?: true
|
|
12
12
|
|
|
13
13
|
# @!attribute error
|
|
14
14
|
# Error details (null if successful)
|
|
@@ -31,7 +31,7 @@ module Sentdm
|
|
|
31
31
|
# @!method initialize(data: nil, error: nil, meta: nil, success: nil)
|
|
32
32
|
# Standard API response envelope for all v3 endpoints
|
|
33
33
|
#
|
|
34
|
-
# @param data [Sentdm::Models::
|
|
34
|
+
# @param data [Sentdm::Models::ContactResponse, nil] The response data (null if error)
|
|
35
35
|
#
|
|
36
36
|
# @param error [Sentdm::Models::APIError, nil] Error details (null if successful)
|
|
37
37
|
#
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class BaseDto < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute id
|
|
7
|
+
# Unique identifier
|
|
8
|
+
#
|
|
9
|
+
# @return [String, nil]
|
|
10
|
+
optional :id, String
|
|
11
|
+
|
|
12
|
+
# @!attribute created_at
|
|
13
|
+
#
|
|
14
|
+
# @return [Time, nil]
|
|
15
|
+
optional :created_at, Time, api_name: :createdAt
|
|
16
|
+
|
|
17
|
+
# @!attribute updated_at
|
|
18
|
+
#
|
|
19
|
+
# @return [Time, nil]
|
|
20
|
+
optional :updated_at, Time, api_name: :updatedAt, nil?: true
|
|
21
|
+
|
|
22
|
+
# @!method initialize(id: nil, created_at: nil, updated_at: nil)
|
|
23
|
+
# @param id [String] Unique identifier
|
|
24
|
+
#
|
|
25
|
+
# @param created_at [Time]
|
|
26
|
+
#
|
|
27
|
+
# @param updated_at [Time, nil]
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class BillingContactInfo < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute email
|
|
7
|
+
# Email address where invoices will be sent (required)
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
required :email, String
|
|
11
|
+
|
|
12
|
+
# @!attribute name
|
|
13
|
+
# Full name of the billing contact or company (required)
|
|
14
|
+
#
|
|
15
|
+
# @return [String]
|
|
16
|
+
required :name, String
|
|
17
|
+
|
|
18
|
+
# @!attribute address
|
|
19
|
+
# Billing address (optional). Free-form text including street, city, state, postal
|
|
20
|
+
# code, and country.
|
|
21
|
+
#
|
|
22
|
+
# @return [String, nil]
|
|
23
|
+
optional :address, String, nil?: true
|
|
24
|
+
|
|
25
|
+
# @!attribute phone
|
|
26
|
+
# Phone number for the billing contact (optional)
|
|
27
|
+
#
|
|
28
|
+
# @return [String, nil]
|
|
29
|
+
optional :phone, String, nil?: true
|
|
30
|
+
|
|
31
|
+
# @!method initialize(email:, name:, address: nil, phone: nil)
|
|
32
|
+
# Some parameter documentations has been truncated, see
|
|
33
|
+
# {Sentdm::Models::BillingContactInfo} for more details.
|
|
34
|
+
#
|
|
35
|
+
# Billing contact information for a profile. Required when billing_model is
|
|
36
|
+
# "profile" or "profile_and_organization".
|
|
37
|
+
#
|
|
38
|
+
# @param email [String] Email address where invoices will be sent (required)
|
|
39
|
+
#
|
|
40
|
+
# @param name [String] Full name of the billing contact or company (required)
|
|
41
|
+
#
|
|
42
|
+
# @param address [String, nil] Billing address (optional). Free-form text including street, city, state, postal
|
|
43
|
+
#
|
|
44
|
+
# @param phone [String, nil] Phone number for the billing contact (optional)
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -2,35 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
|
-
class
|
|
5
|
+
class BrandsBrandData < Sentdm::Internal::Type::BaseModel
|
|
6
6
|
# @!attribute compliance
|
|
7
7
|
# Compliance and TCR-related information
|
|
8
8
|
#
|
|
9
|
-
# @return [Sentdm::Models::
|
|
10
|
-
required :compliance, -> { Sentdm::
|
|
9
|
+
# @return [Sentdm::Models::BrandsBrandData::Compliance]
|
|
10
|
+
required :compliance, -> { Sentdm::BrandsBrandData::Compliance }
|
|
11
11
|
|
|
12
12
|
# @!attribute contact
|
|
13
13
|
# Contact information for the brand
|
|
14
14
|
#
|
|
15
|
-
# @return [Sentdm::Models::
|
|
16
|
-
required :contact, -> { Sentdm::
|
|
15
|
+
# @return [Sentdm::Models::BrandsBrandData::Contact]
|
|
16
|
+
required :contact, -> { Sentdm::BrandsBrandData::Contact }
|
|
17
17
|
|
|
18
18
|
# @!attribute business
|
|
19
19
|
# Business details and address information
|
|
20
20
|
#
|
|
21
|
-
# @return [Sentdm::Models::
|
|
22
|
-
optional :business, -> { Sentdm::
|
|
21
|
+
# @return [Sentdm::Models::BrandsBrandData::Business, nil]
|
|
22
|
+
optional :business, -> { Sentdm::BrandsBrandData::Business }, nil?: true
|
|
23
23
|
|
|
24
24
|
# @!method initialize(compliance:, contact:, business: nil)
|
|
25
25
|
# Brand and KYC data grouped into contact, business, and compliance sections
|
|
26
26
|
#
|
|
27
|
-
# @param compliance [Sentdm::Models::
|
|
27
|
+
# @param compliance [Sentdm::Models::BrandsBrandData::Compliance] Compliance and TCR-related information
|
|
28
28
|
#
|
|
29
|
-
# @param contact [Sentdm::Models::
|
|
29
|
+
# @param contact [Sentdm::Models::BrandsBrandData::Contact] Contact information for the brand
|
|
30
30
|
#
|
|
31
|
-
# @param business [Sentdm::Models::
|
|
31
|
+
# @param business [Sentdm::Models::BrandsBrandData::Business, nil] Business details and address information
|
|
32
32
|
|
|
33
|
-
# @see Sentdm::Models::
|
|
33
|
+
# @see Sentdm::Models::BrandsBrandData#compliance
|
|
34
34
|
class Compliance < Sentdm::Internal::Type::BaseModel
|
|
35
35
|
# @!attribute brand_relationship
|
|
36
36
|
# Brand relationship level with TCR (required for TCR)
|
|
@@ -103,7 +103,7 @@ module Sentdm
|
|
|
103
103
|
# @param primary_use_case [String, nil] Primary messaging use case description
|
|
104
104
|
end
|
|
105
105
|
|
|
106
|
-
# @see Sentdm::Models::
|
|
106
|
+
# @see Sentdm::Models::BrandsBrandData#contact
|
|
107
107
|
class Contact < Sentdm::Internal::Type::BaseModel
|
|
108
108
|
# @!attribute name
|
|
109
109
|
# Primary contact name (required)
|
|
@@ -157,7 +157,7 @@ module Sentdm
|
|
|
157
157
|
# @param role [String, nil] Contact's role in the business
|
|
158
158
|
end
|
|
159
159
|
|
|
160
|
-
# @see Sentdm::Models::
|
|
160
|
+
# @see Sentdm::Models::BrandsBrandData#business
|
|
161
161
|
class Business < Sentdm::Internal::Type::BaseModel
|
|
162
162
|
# @!attribute city
|
|
163
163
|
# City
|
|
@@ -180,9 +180,9 @@ module Sentdm
|
|
|
180
180
|
# @!attribute entity_type
|
|
181
181
|
# Business entity type
|
|
182
182
|
#
|
|
183
|
-
# @return [Symbol, Sentdm::Models::
|
|
183
|
+
# @return [Symbol, Sentdm::Models::BrandsBrandData::Business::EntityType, nil]
|
|
184
184
|
optional :entity_type,
|
|
185
|
-
enum: -> { Sentdm::
|
|
185
|
+
enum: -> { Sentdm::BrandsBrandData::Business::EntityType },
|
|
186
186
|
api_name: :entityType,
|
|
187
187
|
nil?: true
|
|
188
188
|
|
|
@@ -237,7 +237,7 @@ module Sentdm
|
|
|
237
237
|
#
|
|
238
238
|
# @param country_of_registration [String, nil] Country where the business is registered
|
|
239
239
|
#
|
|
240
|
-
# @param entity_type [Symbol, Sentdm::Models::
|
|
240
|
+
# @param entity_type [Symbol, Sentdm::Models::BrandsBrandData::Business::EntityType, nil] Business entity type
|
|
241
241
|
#
|
|
242
242
|
# @param legal_name [String, nil] Legal business name
|
|
243
243
|
#
|
|
@@ -255,7 +255,7 @@ module Sentdm
|
|
|
255
255
|
|
|
256
256
|
# Business entity type
|
|
257
257
|
#
|
|
258
|
-
# @see Sentdm::Models::
|
|
258
|
+
# @see Sentdm::Models::BrandsBrandData::Business#entity_type
|
|
259
259
|
module EntityType
|
|
260
260
|
extend Sentdm::Internal::Type::Enum
|
|
261
261
|
|
|
@@ -32,7 +32,7 @@ module Sentdm
|
|
|
32
32
|
#
|
|
33
33
|
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
34
34
|
|
|
35
|
-
class Body < Sentdm::Models::
|
|
35
|
+
class Body < Sentdm::Models::MutationRequestBase
|
|
36
36
|
# @!method initialize
|
|
37
37
|
# Request to delete/dissociate a contact
|
|
38
38
|
end
|
|
@@ -44,8 +44,8 @@ module Sentdm
|
|
|
44
44
|
# @!attribute contacts
|
|
45
45
|
# List of contacts
|
|
46
46
|
#
|
|
47
|
-
# @return [Array<Sentdm::Models::
|
|
48
|
-
optional :contacts, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::
|
|
47
|
+
# @return [Array<Sentdm::Models::ContactResponse>, nil]
|
|
48
|
+
optional :contacts, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::ContactResponse] }
|
|
49
49
|
|
|
50
50
|
# @!attribute pagination
|
|
51
51
|
# Pagination metadata
|
|
@@ -56,7 +56,7 @@ module Sentdm
|
|
|
56
56
|
# @!method initialize(contacts: nil, pagination: nil)
|
|
57
57
|
# The response data (null if error)
|
|
58
58
|
#
|
|
59
|
-
# @param contacts [Array<Sentdm::Models::
|
|
59
|
+
# @param contacts [Array<Sentdm::Models::ContactResponse>] List of contacts
|
|
60
60
|
#
|
|
61
61
|
# @param pagination [Sentdm::Models::PaginationMeta] Pagination metadata
|
|
62
62
|
end
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
|
-
class
|
|
5
|
+
class MutationRequestBase < Sentdm::Internal::Type::BaseModel
|
|
6
6
|
# @!attribute sandbox
|
|
7
7
|
# Sandbox flag - when true, the operation is simulated without side effects Useful
|
|
8
8
|
# for testing integrations without actual execution
|
|
@@ -12,7 +12,7 @@ module Sentdm
|
|
|
12
12
|
|
|
13
13
|
# @!method initialize(sandbox: nil)
|
|
14
14
|
# Some parameter documentations has been truncated, see
|
|
15
|
-
# {Sentdm::Models::
|
|
15
|
+
# {Sentdm::Models::MutationRequestBase} for more details.
|
|
16
16
|
#
|
|
17
17
|
# @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
|
|
18
18
|
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
# @see Sentdm::Resources::Numbers#lookup
|
|
6
|
+
class NumberLookupParams < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
|
+
include Sentdm::Internal::Type::RequestParameters
|
|
9
|
+
|
|
10
|
+
# @!attribute phone_number
|
|
11
|
+
#
|
|
12
|
+
# @return [String]
|
|
13
|
+
required :phone_number, String
|
|
14
|
+
|
|
15
|
+
# @!attribute x_profile_id
|
|
16
|
+
#
|
|
17
|
+
# @return [String, nil]
|
|
18
|
+
optional :x_profile_id, String
|
|
19
|
+
|
|
20
|
+
# @!method initialize(phone_number:, x_profile_id: nil, request_options: {})
|
|
21
|
+
# @param phone_number [String]
|
|
22
|
+
# @param x_profile_id [String]
|
|
23
|
+
# @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
# @see Sentdm::Resources::Numbers#lookup
|
|
6
|
+
class NumberLookupResponse < Sentdm::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute data
|
|
8
|
+
# The response data (null if error)
|
|
9
|
+
#
|
|
10
|
+
# @return [Sentdm::Models::NumberLookupResponse::Data, nil]
|
|
11
|
+
optional :data, -> { Sentdm::Models::NumberLookupResponse::Data }, nil?: true
|
|
12
|
+
|
|
13
|
+
# @!attribute error
|
|
14
|
+
# Error details (null if successful)
|
|
15
|
+
#
|
|
16
|
+
# @return [Sentdm::Models::APIError, nil]
|
|
17
|
+
optional :error, -> { Sentdm::APIError }, nil?: true
|
|
18
|
+
|
|
19
|
+
# @!attribute meta
|
|
20
|
+
# Metadata about the request and response
|
|
21
|
+
#
|
|
22
|
+
# @return [Sentdm::Models::APIMeta, nil]
|
|
23
|
+
optional :meta, -> { Sentdm::APIMeta }
|
|
24
|
+
|
|
25
|
+
# @!attribute success
|
|
26
|
+
# Indicates whether the request was successful
|
|
27
|
+
#
|
|
28
|
+
# @return [Boolean, nil]
|
|
29
|
+
optional :success, Sentdm::Internal::Type::Boolean
|
|
30
|
+
|
|
31
|
+
# @!method initialize(data: nil, error: nil, meta: nil, success: nil)
|
|
32
|
+
# Standard API response envelope for all v3 endpoints
|
|
33
|
+
#
|
|
34
|
+
# @param data [Sentdm::Models::NumberLookupResponse::Data, nil] The response data (null if error)
|
|
35
|
+
#
|
|
36
|
+
# @param error [Sentdm::Models::APIError, nil] Error details (null if successful)
|
|
37
|
+
#
|
|
38
|
+
# @param meta [Sentdm::Models::APIMeta] Metadata about the request and response
|
|
39
|
+
#
|
|
40
|
+
# @param success [Boolean] Indicates whether the request was successful
|
|
41
|
+
|
|
42
|
+
# @see Sentdm::Models::NumberLookupResponse#data
|
|
43
|
+
class Data < Sentdm::Internal::Type::BaseModel
|
|
44
|
+
# @!attribute carrier_name
|
|
45
|
+
#
|
|
46
|
+
# @return [String, nil]
|
|
47
|
+
optional :carrier_name, String, nil?: true
|
|
48
|
+
|
|
49
|
+
# @!attribute country_code
|
|
50
|
+
#
|
|
51
|
+
# @return [String, nil]
|
|
52
|
+
optional :country_code, String, nil?: true
|
|
53
|
+
|
|
54
|
+
# @!attribute is_ported
|
|
55
|
+
#
|
|
56
|
+
# @return [Boolean, nil]
|
|
57
|
+
optional :is_ported, Sentdm::Internal::Type::Boolean, nil?: true
|
|
58
|
+
|
|
59
|
+
# @!attribute is_valid
|
|
60
|
+
#
|
|
61
|
+
# @return [Boolean, nil]
|
|
62
|
+
optional :is_valid, Sentdm::Internal::Type::Boolean
|
|
63
|
+
|
|
64
|
+
# @!attribute is_voip
|
|
65
|
+
#
|
|
66
|
+
# @return [Boolean, nil]
|
|
67
|
+
optional :is_voip, Sentdm::Internal::Type::Boolean, nil?: true
|
|
68
|
+
|
|
69
|
+
# @!attribute line_type
|
|
70
|
+
#
|
|
71
|
+
# @return [String, nil]
|
|
72
|
+
optional :line_type, String, nil?: true
|
|
73
|
+
|
|
74
|
+
# @!attribute mobile_country_code
|
|
75
|
+
#
|
|
76
|
+
# @return [String, nil]
|
|
77
|
+
optional :mobile_country_code, String, nil?: true
|
|
78
|
+
|
|
79
|
+
# @!attribute mobile_network_code
|
|
80
|
+
#
|
|
81
|
+
# @return [String, nil]
|
|
82
|
+
optional :mobile_network_code, String, nil?: true
|
|
83
|
+
|
|
84
|
+
# @!attribute phone_number
|
|
85
|
+
#
|
|
86
|
+
# @return [String, nil]
|
|
87
|
+
optional :phone_number, String
|
|
88
|
+
|
|
89
|
+
# @!method initialize(carrier_name: nil, country_code: nil, is_ported: nil, is_valid: nil, is_voip: nil, line_type: nil, mobile_country_code: nil, mobile_network_code: nil, phone_number: nil)
|
|
90
|
+
# The response data (null if error)
|
|
91
|
+
#
|
|
92
|
+
# @param carrier_name [String, nil]
|
|
93
|
+
# @param country_code [String, nil]
|
|
94
|
+
# @param is_ported [Boolean, nil]
|
|
95
|
+
# @param is_valid [Boolean]
|
|
96
|
+
# @param is_voip [Boolean, nil]
|
|
97
|
+
# @param line_type [String, nil]
|
|
98
|
+
# @param mobile_country_code [String, nil]
|
|
99
|
+
# @param mobile_network_code [String, nil]
|
|
100
|
+
# @param phone_number [String]
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Sentdm
|
|
4
|
+
module Models
|
|
5
|
+
class PaymentDetails < Sentdm::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute card_number
|
|
7
|
+
# Card number (digits only, 13–19 characters)
|
|
8
|
+
#
|
|
9
|
+
# @return [String]
|
|
10
|
+
required :card_number, String
|
|
11
|
+
|
|
12
|
+
# @!attribute cvc
|
|
13
|
+
# Card security code (3–4 digits)
|
|
14
|
+
#
|
|
15
|
+
# @return [String]
|
|
16
|
+
required :cvc, String
|
|
17
|
+
|
|
18
|
+
# @!attribute expiry
|
|
19
|
+
# Card expiry date in MM/YY format (e.g. "09/27")
|
|
20
|
+
#
|
|
21
|
+
# @return [String]
|
|
22
|
+
required :expiry, String
|
|
23
|
+
|
|
24
|
+
# @!attribute zip_code
|
|
25
|
+
# Billing ZIP / postal code associated with the card
|
|
26
|
+
#
|
|
27
|
+
# @return [String]
|
|
28
|
+
required :zip_code, String
|
|
29
|
+
|
|
30
|
+
# @!method initialize(card_number:, cvc:, expiry:, zip_code:)
|
|
31
|
+
# Payment card details for a profile. Accepted when billing_model is "profile" or
|
|
32
|
+
# "profile_and_organization". These details are not stored on our servers and will
|
|
33
|
+
# be forwarded to the payment processor.
|
|
34
|
+
#
|
|
35
|
+
# @param card_number [String] Card number (digits only, 13–19 characters)
|
|
36
|
+
#
|
|
37
|
+
# @param cvc [String] Card security code (3–4 digits)
|
|
38
|
+
#
|
|
39
|
+
# @param expiry [String] Card expiry date in MM/YY format (e.g. "09/27")
|
|
40
|
+
#
|
|
41
|
+
# @param zip_code [String] Billing ZIP / postal code associated with the card
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
module Sentdm
|
|
4
4
|
module Models
|
|
5
|
-
# @see Sentdm::Resources::Profiles#
|
|
6
|
-
class
|
|
5
|
+
# @see Sentdm::Resources::Profiles#complete_setup
|
|
6
|
+
class ProfileCompleteSetupParams < Sentdm::Internal::Type::BaseModel
|
|
7
7
|
extend Sentdm::Internal::Type::RequestParameters::Converter
|
|
8
8
|
include Sentdm::Internal::Type::RequestParameters
|
|
9
9
|
|
|
@@ -37,7 +37,7 @@ module Sentdm
|
|
|
37
37
|
|
|
38
38
|
# @!method initialize(profile_id:, web_hook_url:, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
|
|
39
39
|
# Some parameter documentations has been truncated, see
|
|
40
|
-
# {Sentdm::Models::
|
|
40
|
+
# {Sentdm::Models::ProfileCompleteSetupParams} for more details.
|
|
41
41
|
#
|
|
42
42
|
# @param profile_id [String]
|
|
43
43
|
#
|