sentdm 0.33.0 → 0.34.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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/sentdm/models/channel_event_payload.rb +16 -6
  5. data/lib/sentdm/models/conversation_messages_list.rb +100 -13
  6. data/lib/sentdm/models/inbound_message_event_payload.rb +70 -3
  7. data/lib/sentdm/models/me_retrieve_response.rb +21 -1
  8. data/lib/sentdm/models/message_event_payload.rb +23 -1
  9. data/lib/sentdm/models/message_retrieve_activities_response.rb +23 -1
  10. data/lib/sentdm/models/message_retrieve_status_response.rb +100 -13
  11. data/lib/sentdm/models/template_create_params.rb +11 -1
  12. data/lib/sentdm/models/webhook_create_params.rb +31 -1
  13. data/lib/sentdm/models/webhook_list_events_response.rb +176 -3
  14. data/lib/sentdm/models/webhook_update_params.rb +31 -1
  15. data/lib/sentdm/resources/me.rb +5 -0
  16. data/lib/sentdm/resources/templates.rb +3 -1
  17. data/lib/sentdm/resources/webhooks.rb +9 -3
  18. data/lib/sentdm/version.rb +1 -1
  19. data/rbi/sentdm/models/channel_event_payload.rbi +20 -8
  20. data/rbi/sentdm/models/conversation_messages_list.rbi +122 -19
  21. data/rbi/sentdm/models/inbound_message_event_payload.rbi +110 -2
  22. data/rbi/sentdm/models/me_retrieve_response.rbi +35 -0
  23. data/rbi/sentdm/models/message_event_payload.rbi +28 -0
  24. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +26 -0
  25. data/rbi/sentdm/models/message_retrieve_status_response.rbi +122 -19
  26. data/rbi/sentdm/models/template_create_params.rbi +15 -0
  27. data/rbi/sentdm/models/webhook_create_params.rbi +61 -0
  28. data/rbi/sentdm/models/webhook_list_events_response.rbi +272 -3
  29. data/rbi/sentdm/models/webhook_update_params.rbi +61 -0
  30. data/rbi/sentdm/resources/me.rbi +5 -0
  31. data/rbi/sentdm/resources/templates.rbi +6 -0
  32. data/rbi/sentdm/resources/webhooks.rbi +15 -1
  33. data/sig/sentdm/models/channel_event_payload.rbs +5 -0
  34. data/sig/sentdm/models/conversation_messages_list.rbs +56 -8
  35. data/sig/sentdm/models/inbound_message_event_payload.rbs +37 -0
  36. data/sig/sentdm/models/me_retrieve_response.rbs +7 -0
  37. data/sig/sentdm/models/message_event_payload.rbs +10 -0
  38. data/sig/sentdm/models/message_retrieve_activities_response.rbs +10 -0
  39. data/sig/sentdm/models/message_retrieve_status_response.rbs +56 -8
  40. data/sig/sentdm/models/template_create_params.rbs +7 -0
  41. data/sig/sentdm/models/webhook_create_params.rbs +29 -0
  42. data/sig/sentdm/models/webhook_list_events_response.rbs +107 -0
  43. data/sig/sentdm/models/webhook_update_params.rbs +29 -0
  44. data/sig/sentdm/resources/templates.rbs +1 -0
  45. data/sig/sentdm/resources/webhooks.rbs +2 -0
  46. metadata +1 -1
@@ -7,6 +7,14 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute auto_create_for_sp
11
+ # Create this template automatically on every sender profile of the organization,
12
+ # now and in future (default: false). Accepted only from an organization that has
13
+ # been enabled for it, and only at creation — it cannot be changed afterwards.
14
+ #
15
+ # @return [Boolean, nil]
16
+ optional :auto_create_for_sp, Sentdm::Internal::Type::Boolean
17
+
10
18
  # @!attribute category
11
19
  # Template category: MARKETING, UTILITY, AUTHENTICATION (optional, auto-detected
12
20
  # if not provided)
@@ -56,10 +64,12 @@ module Sentdm
56
64
  # @return [String, nil]
57
65
  optional :x_profile_id, String
58
66
 
59
- # @!method initialize(category: nil, creation_source: nil, definition: nil, language: nil, sandbox: nil, submit_for_review: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
67
+ # @!method initialize(auto_create_for_sp: nil, category: nil, creation_source: nil, definition: nil, language: nil, sandbox: nil, submit_for_review: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
60
68
  # Some parameter documentations has been truncated, see
61
69
  # {Sentdm::Models::TemplateCreateParams} for more details.
62
70
  #
71
+ # @param auto_create_for_sp [Boolean] Create this template automatically on every sender profile of the organization,
72
+ #
63
73
  # @param category [String, nil] Template category: MARKETING, UTILITY, AUTHENTICATION (optional, auto-detected i
64
74
  #
65
75
  # @param creation_source [String, nil] Source of template creation (default: from-api)
@@ -41,6 +41,13 @@ module Sentdm
41
41
  # @return [Boolean, nil]
42
42
  optional :sandbox, Sentdm::Internal::Type::Boolean
43
43
 
44
+ # @!attribute sender_profile
45
+ # Request-only: the events an organization webhook's sender profile clones
46
+ # receive, one clone per existing and future profile. Responses never return it.
47
+ #
48
+ # @return [Sentdm::Models::WebhookCreateParams::SenderProfile, nil]
49
+ optional :sender_profile, -> { Sentdm::WebhookCreateParams::SenderProfile }, nil?: true
50
+
44
51
  # @!attribute timeout_seconds
45
52
  #
46
53
  # @return [Integer, nil]
@@ -56,7 +63,7 @@ module Sentdm
56
63
  # @return [String, nil]
57
64
  optional :x_profile_id, String
58
65
 
59
- # @!method initialize(display_name: nil, endpoint_url: nil, event_filters: nil, event_types: nil, retry_count: nil, sandbox: nil, timeout_seconds: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
66
+ # @!method initialize(display_name: nil, endpoint_url: nil, event_filters: nil, event_types: nil, retry_count: nil, sandbox: nil, sender_profile: nil, timeout_seconds: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
60
67
  # Some parameter documentations has been truncated, see
61
68
  # {Sentdm::Models::WebhookCreateParams} for more details.
62
69
  #
@@ -72,6 +79,8 @@ module Sentdm
72
79
  #
73
80
  # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
74
81
  #
82
+ # @param sender_profile [Sentdm::Models::WebhookCreateParams::SenderProfile, nil] Request-only: the events an organization webhook's sender profile clones receive
83
+ #
75
84
  # @param timeout_seconds [Integer]
76
85
  #
77
86
  # @param idempotency_key [String]
@@ -79,6 +88,27 @@ module Sentdm
79
88
  # @param x_profile_id [String]
80
89
  #
81
90
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
91
+
92
+ class SenderProfile < Sentdm::Internal::Type::BaseModel
93
+ # @!attribute event_filters
94
+ #
95
+ # @return [Hash{Symbol=>Array<String>}, nil]
96
+ optional :event_filters,
97
+ Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]],
98
+ nil?: true
99
+
100
+ # @!attribute event_types
101
+ #
102
+ # @return [Array<String>, nil]
103
+ optional :event_types, Sentdm::Internal::Type::ArrayOf[String]
104
+
105
+ # @!method initialize(event_filters: nil, event_types: nil)
106
+ # Request-only: the events an organization webhook's sender profile clones
107
+ # receive, one clone per existing and future profile. Responses never return it.
108
+ #
109
+ # @param event_filters [Hash{Symbol=>Array<String>}, nil]
110
+ # @param event_types [Array<String>]
111
+ end
82
112
  end
83
113
  end
84
114
  end
@@ -48,7 +48,7 @@ module Sentdm
48
48
  # handler that rejects an envelope it does not recognise will break on the next
49
49
  # addition rather than ignore it.
50
50
  #
51
- # @return [Sentdm::Models::MessageEvent, Sentdm::Models::InboundMessageEvent, Sentdm::Models::TemplateEvent, Sentdm::Models::ChannelEvent, Sentdm::Models::ContactEvent, Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload, nil]
51
+ # @return [Sentdm::Models::MessageEvent, Sentdm::Models::InboundMessageEvent, Sentdm::Models::TemplateEvent, Sentdm::Models::ChannelEvent, Sentdm::Models::ContactEvent, Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload, Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfCallWebhookPayload, nil]
52
52
  optional :event_data, union: -> { Sentdm::Models::WebhookListEventsResponse::EventData }
53
53
 
54
54
  # @!attribute event_type
@@ -90,7 +90,7 @@ module Sentdm
90
90
  #
91
91
  # @param error_message [String, nil]
92
92
  #
93
- # @param event_data [Sentdm::Models::MessageEvent, Sentdm::Models::InboundMessageEvent, Sentdm::Models::TemplateEvent, Sentdm::Models::ChannelEvent, Sentdm::Models::ContactEvent, Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload] The exact event body that was delivered, or attempted, for this record. One of t
93
+ # @param event_data [Sentdm::Models::MessageEvent, Sentdm::Models::InboundMessageEvent, Sentdm::Models::TemplateEvent, Sentdm::Models::ChannelEvent, Sentdm::Models::ContactEvent, Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload, Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfCallWebhookPayload] The exact event body that was delivered, or attempted, for this record. One of t
94
94
  #
95
95
  # @param event_type [String]
96
96
  #
@@ -148,6 +148,10 @@ module Sentdm
148
148
  # varies only in Payload.
149
149
  variant -> { Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload }
150
150
 
151
+ # The envelope Sent POSTs to a subscribed webhook endpoint. Every event shares this shape and
152
+ # varies only in Payload.
153
+ variant -> { Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfCallWebhookPayload }
154
+
151
155
  class SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload < Sentdm::Internal::Type::BaseModel
152
156
  # @!attribute event
153
157
  # The specific event within the family, for example message.delivered,
@@ -433,8 +437,177 @@ module Sentdm
433
437
  end
434
438
  end
435
439
 
440
+ class SentDmServicesCommonServicesWebhooksContractsWebhookEventOfCallWebhookPayload < Sentdm::Internal::Type::BaseModel
441
+ # @!attribute event
442
+ # The specific event within the family, for example message.delivered,
443
+ # message.received or contact.opt_out. Absent on events that have no subtype, so
444
+ # treat it as optional.
445
+ #
446
+ # @return [String, nil]
447
+ optional :event, String, nil?: true
448
+
449
+ # @!attribute field
450
+ # The event family, for example message, templates or contact. Route on this
451
+ # first, then on event for the specific change.
452
+ #
453
+ # @return [String, nil]
454
+ optional :field, String
455
+
456
+ # @!attribute payload
457
+ # Body of a call.initiated, call.answered, call.completed, call.failed or
458
+ # call.recording_ready event. Which of them occurred is the envelope's event.
459
+ #
460
+ # Shaped like the message, inbound, template and channel payloads: account_id
461
+ # names the account the event is about, channel names the channel, and updated_at
462
+ # is when the change happened on the call, in the same yyyy-MM-ddTHH:mm:ssZ form.
463
+ # duration_seconds and price are added on call.completed, reason on call.failed
464
+ # and recording_id on call.recording_ready; each is omitted rather than sent as
465
+ # null when it does not apply.
466
+ #
467
+ # Casing is snake_case because these ride the same webhook stream customers
468
+ # already parse message_id from; the question/answer contract is a separate
469
+ # surface and stays camelCase. Nothing here is provider-shaped: no provider call
470
+ # id, no namespaced identity.
471
+ #
472
+ # @return [Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfCallWebhookPayload::Payload, nil]
473
+ optional :payload,
474
+ -> { Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfCallWebhookPayload::Payload },
475
+ nil?: true
476
+
477
+ # @!attribute request_id
478
+ # The event-specific body.
479
+ #
480
+ # @return [String, nil]
481
+ optional :request_id, String, nil?: true
482
+
483
+ # @!attribute timestamp
484
+ # When Sent emitted the event, in UTC (yyyy-MM-ddTHH:mm:ssZ). This is the emission
485
+ # time, not the time the underlying change happened. Use the timestamp inside the
486
+ # payload for the latter.
487
+ #
488
+ # @return [String, nil]
489
+ optional :timestamp, String
490
+
491
+ # @!method initialize(event: nil, field: nil, payload: nil, request_id: nil, timestamp: nil)
492
+ # Some parameter documentations has been truncated, see
493
+ # {Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfCallWebhookPayload}
494
+ # for more details.
495
+ #
496
+ # The envelope Sent POSTs to a subscribed webhook endpoint. Every event shares
497
+ # this shape and varies only in Payload.
498
+ #
499
+ # @param event [String, nil] The specific event within the family, for example message.delivered,
500
+ #
501
+ # @param field [String] The event family, for example message, templates or contact. Route on
502
+ #
503
+ # @param payload [Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfCallWebhookPayload::Payload, nil] Body of a call.initiated, call.answered, call.completed, call.failed
504
+ #
505
+ # @param request_id [String, nil] The event-specific body.
506
+ #
507
+ # @param timestamp [String] When Sent emitted the event, in UTC (yyyy-MM-ddTHH:mm:ssZ). This is the emission
508
+
509
+ # @see Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfCallWebhookPayload#payload
510
+ class Payload < Sentdm::Internal::Type::BaseModel
511
+ # @!attribute call_id
512
+ # Sent's call id, the same one the customer saw on the first question.
513
+ #
514
+ # @return [String]
515
+ required :call_id, String
516
+
517
+ # @!attribute account_id
518
+ # The account the call belongs to: the key's own customer, or the sender profile
519
+ # it acted as.
520
+ #
521
+ # @return [String, nil]
522
+ optional :account_id, String
523
+
524
+ # @!attribute channel
525
+ # Always voice.
526
+ #
527
+ # @return [String, nil]
528
+ optional :channel, String
529
+
530
+ # @!attribute duration_seconds
531
+ # How long the call lasted. Only on call.completed.
532
+ #
533
+ # @return [Integer, nil]
534
+ optional :duration_seconds, Integer, nil?: true
535
+
536
+ # @!attribute number
537
+ # The customer number that owns the call, in E.164 format.
538
+ #
539
+ # @return [String, nil]
540
+ optional :number, String
541
+
542
+ # @!attribute price
543
+ # What the call was charged. Only on call.completed, and omitted there until
544
+ # billing has recorded the charge.
545
+ #
546
+ # @return [Float, nil]
547
+ optional :price, Float, nil?: true
548
+
549
+ # @!attribute reason
550
+ # The machine-readable reason the call did not complete. Only on call.failed, and
551
+ # omitted when no reason was recorded.
552
+ #
553
+ # @return [String, nil]
554
+ optional :reason, String, nil?: true
555
+
556
+ # @!attribute recording_id
557
+ # The recording that became available, the same id GET /v3/calls/{id}/recordings
558
+ # lists it under. Only on call.recording_ready, which is sent once per recording.
559
+ #
560
+ # @return [String, nil]
561
+ optional :recording_id, String, nil?: true
562
+
563
+ # @!attribute updated_at
564
+ # When the change happened on the call, as opposed to when the event was emitted.
565
+ #
566
+ # @return [String, nil]
567
+ optional :updated_at, String
568
+
569
+ # @!method initialize(call_id:, account_id: nil, channel: nil, duration_seconds: nil, number: nil, price: nil, reason: nil, recording_id: nil, updated_at: nil)
570
+ # Some parameter documentations has been truncated, see
571
+ # {Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfCallWebhookPayload::Payload}
572
+ # for more details.
573
+ #
574
+ # Body of a call.initiated, call.answered, call.completed, call.failed or
575
+ # call.recording_ready event. Which of them occurred is the envelope's event.
576
+ #
577
+ # Shaped like the message, inbound, template and channel payloads: account_id
578
+ # names the account the event is about, channel names the channel, and updated_at
579
+ # is when the change happened on the call, in the same yyyy-MM-ddTHH:mm:ssZ form.
580
+ # duration_seconds and price are added on call.completed, reason on call.failed
581
+ # and recording_id on call.recording_ready; each is omitted rather than sent as
582
+ # null when it does not apply.
583
+ #
584
+ # Casing is snake_case because these ride the same webhook stream customers
585
+ # already parse message_id from; the question/answer contract is a separate
586
+ # surface and stays camelCase. Nothing here is provider-shaped: no provider call
587
+ # id, no namespaced identity.
588
+ #
589
+ # @param call_id [String] Sent's call id, the same one the customer saw on the first question.
590
+ #
591
+ # @param account_id [String] The account the call belongs to: the key's own customer, or the sender profile i
592
+ #
593
+ # @param channel [String] Always voice.
594
+ #
595
+ # @param duration_seconds [Integer, nil] How long the call lasted. Only on call.completed.
596
+ #
597
+ # @param number [String] The customer number that owns the call, in E.164 format.
598
+ #
599
+ # @param price [Float, nil] What the call was charged. Only on call.completed, and omitted there until billi
600
+ #
601
+ # @param reason [String, nil] The machine-readable reason the call did not complete. Only on call.failed, and
602
+ #
603
+ # @param recording_id [String, nil] The recording that became available, the same id GET /v3/calls/{id}/recordings l
604
+ #
605
+ # @param updated_at [String] When the change happened on the call, as opposed to when the event was emitted.
606
+ end
607
+ end
608
+
436
609
  # @!method self.variants
437
- # @return [Array(Sentdm::Models::MessageEvent, Sentdm::Models::InboundMessageEvent, Sentdm::Models::TemplateEvent, Sentdm::Models::ChannelEvent, Sentdm::Models::ContactEvent, Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload)]
610
+ # @return [Array(Sentdm::Models::MessageEvent, Sentdm::Models::InboundMessageEvent, Sentdm::Models::TemplateEvent, Sentdm::Models::ChannelEvent, Sentdm::Models::ContactEvent, Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfLinkWebhookPayload, Sentdm::Models::WebhookListEventsResponse::EventData::SentDmServicesCommonServicesWebhooksContractsWebhookEventOfCallWebhookPayload)]
438
611
  end
439
612
  end
440
613
  end
@@ -46,6 +46,13 @@ module Sentdm
46
46
  # @return [Boolean, nil]
47
47
  optional :sandbox, Sentdm::Internal::Type::Boolean
48
48
 
49
+ # @!attribute sender_profile
50
+ # Request-only: the events an organization webhook's sender profile clones
51
+ # receive, one clone per existing and future profile. Responses never return it.
52
+ #
53
+ # @return [Sentdm::Models::WebhookUpdateParams::SenderProfile, nil]
54
+ optional :sender_profile, -> { Sentdm::WebhookUpdateParams::SenderProfile }, nil?: true
55
+
49
56
  # @!attribute timeout_seconds
50
57
  #
51
58
  # @return [Integer, nil]
@@ -61,7 +68,7 @@ module Sentdm
61
68
  # @return [String, nil]
62
69
  optional :x_profile_id, String
63
70
 
64
- # @!method initialize(id:, display_name: nil, endpoint_url: nil, event_filters: nil, event_types: nil, retry_count: nil, sandbox: nil, timeout_seconds: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
71
+ # @!method initialize(id:, display_name: nil, endpoint_url: nil, event_filters: nil, event_types: nil, retry_count: nil, sandbox: nil, sender_profile: nil, timeout_seconds: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
65
72
  # Some parameter documentations has been truncated, see
66
73
  # {Sentdm::Models::WebhookUpdateParams} for more details.
67
74
  #
@@ -79,6 +86,8 @@ module Sentdm
79
86
  #
80
87
  # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
81
88
  #
89
+ # @param sender_profile [Sentdm::Models::WebhookUpdateParams::SenderProfile, nil] Request-only: the events an organization webhook's sender profile clones receive
90
+ #
82
91
  # @param timeout_seconds [Integer]
83
92
  #
84
93
  # @param idempotency_key [String]
@@ -86,6 +95,27 @@ module Sentdm
86
95
  # @param x_profile_id [String]
87
96
  #
88
97
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
98
+
99
+ class SenderProfile < Sentdm::Internal::Type::BaseModel
100
+ # @!attribute event_filters
101
+ #
102
+ # @return [Hash{Symbol=>Array<String>}, nil]
103
+ optional :event_filters,
104
+ Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]],
105
+ nil?: true
106
+
107
+ # @!attribute event_types
108
+ #
109
+ # @return [Array<String>, nil]
110
+ optional :event_types, Sentdm::Internal::Type::ArrayOf[String]
111
+
112
+ # @!method initialize(event_filters: nil, event_types: nil)
113
+ # Request-only: the events an organization webhook's sender profile clones
114
+ # receive, one clone per existing and future profile. Responses never return it.
115
+ #
116
+ # @param event_filters [Hash{Symbol=>Array<String>}, nil]
117
+ # @param event_types [Array<String>]
118
+ end
89
119
  end
90
120
  end
91
121
  end
@@ -39,6 +39,11 @@ module Sentdm
39
39
  # inventory — normally this account, and a different one where a number is shared.
40
40
  # Both are `null` when the account has no US SMS sender.
41
41
  #
42
+ # **Template auto-creation:** `enable_template_auto_creation_for_sp` reports
43
+ # whether this account may mark a template for automatic creation on its sender
44
+ # profiles. It is granted by Sent and off by default. A `profile` reports `false`,
45
+ # having no sender profiles of its own to create anything on.
46
+ #
42
47
  # @overload retrieve(x_profile_id: nil, request_options: {})
43
48
  #
44
49
  # @param x_profile_id [String] Profile UUID to scope the request to a child profile. Only organization API keys
@@ -19,7 +19,9 @@ module Sentdm
19
19
  # from the template's content and can be changed afterwards with
20
20
  # `PUT /v3/templates/{id}`.
21
21
  #
22
- # @overload create(category: nil, creation_source: nil, definition: nil, language: nil, sandbox: nil, submit_for_review: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
22
+ # @overload create(auto_create_for_sp: nil, category: nil, creation_source: nil, definition: nil, language: nil, sandbox: nil, submit_for_review: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
23
+ #
24
+ # @param auto_create_for_sp [Boolean] Body param: Create this template automatically on every sender profile of the or
23
25
  #
24
26
  # @param category [String, nil] Body param: Template category: MARKETING, UTILITY, AUTHENTICATION (optional, aut
25
27
  #
@@ -19,7 +19,7 @@ module Sentdm
19
19
  #
20
20
  # Creates a new webhook endpoint for the authenticated customer.
21
21
  #
22
- # @overload create(display_name: nil, endpoint_url: nil, event_filters: nil, event_types: nil, retry_count: nil, sandbox: nil, timeout_seconds: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
22
+ # @overload create(display_name: nil, endpoint_url: nil, event_filters: nil, event_types: nil, retry_count: nil, sandbox: nil, sender_profile: nil, timeout_seconds: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
23
23
  #
24
24
  # @param display_name [String] Body param
25
25
  #
@@ -33,6 +33,8 @@ module Sentdm
33
33
  #
34
34
  # @param sandbox [Boolean] Body param: Sandbox flag - when true, the operation is simulated without side ef
35
35
  #
36
+ # @param sender_profile [Sentdm::Models::WebhookCreateParams::SenderProfile, nil] Body param: Request-only: the events an organization webhook's sender profile cl
37
+ #
36
38
  # @param timeout_seconds [Integer] Body param
37
39
  #
38
40
  # @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
@@ -89,7 +91,7 @@ module Sentdm
89
91
  #
90
92
  # Updates an existing webhook for the authenticated customer.
91
93
  #
92
- # @overload update(id, display_name: nil, endpoint_url: nil, event_filters: nil, event_types: nil, retry_count: nil, sandbox: nil, timeout_seconds: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
94
+ # @overload update(id, display_name: nil, endpoint_url: nil, event_filters: nil, event_types: nil, retry_count: nil, sandbox: nil, sender_profile: nil, timeout_seconds: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
93
95
  #
94
96
  # @param id [String] Path param
95
97
  #
@@ -105,6 +107,8 @@ module Sentdm
105
107
  #
106
108
  # @param sandbox [Boolean] Body param: Sandbox flag - when true, the operation is simulated without side ef
107
109
  #
110
+ # @param sender_profile [Sentdm::Models::WebhookUpdateParams::SenderProfile, nil] Body param: Request-only: the events an organization webhook's sender profile cl
111
+ #
108
112
  # @param timeout_seconds [Integer] Body param
109
113
  #
110
114
  # @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
@@ -221,7 +225,9 @@ module Sentdm
221
225
  # Some parameter documentations has been truncated, see
222
226
  # {Sentdm::Models::WebhookListEventsParams} for more details.
223
227
  #
224
- # Retrieves a paginated list of delivery events for the specified webhook.
228
+ # Retrieves a paginated list of delivery events for the specified webhook. If the
229
+ # webhook is cloned onto your sender profiles, the list includes what those clones
230
+ # received; read payload.account_id to tell whose event it is.
225
231
  #
226
232
  # @overload list_events(id, page: nil, page_size: nil, search: nil, x_profile_id: nil, request_options: {})
227
233
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sentdm
4
- VERSION = "0.33.0"
4
+ VERSION = "0.34.0"
5
5
  end
@@ -68,13 +68,19 @@ module Sentdm
68
68
  sig { returns(T.nilable(String)) }
69
69
  attr_accessor :number_type
70
70
 
71
- # Why the market reached this state, when a reason was given — a correction
72
- # explained, or a campaign lapse. Free text, passed through from the registry or
73
- # carrier that wrote it, so treat it as a message to show a human rather than a
74
- # value to branch on.
71
+ # Why the market reached this state, as a sentence to show a person: the specific
72
+ # explanation when one was given (a correction explained, a campaign lapse),
73
+ # otherwise what reason_code means for this market. Not a value to branch on.
75
74
  sig { returns(T.nilable(String)) }
76
75
  attr_accessor :reason
77
76
 
77
+ # Why the market is not ACTIVE, as a stable code: an ErrorCodes CHANNEL_xxx value
78
+ # such as CHANNEL_001 (something you owe) or CHANNEL_002 (a correction was
79
+ # requested). The same code the channels resource reports for the market. Switch
80
+ # on this rather than on reason. Omitted while ACTIVE.
81
+ sig { returns(T.nilable(String)) }
82
+ attr_accessor :reason_code
83
+
78
84
  # The sender itself — a number in E.164, or an alphanumeric sender ID.
79
85
  #
80
86
  # Always present, and null until a sender exists. The key is on every delivery so
@@ -142,6 +148,7 @@ module Sentdm
142
148
  T.nilable(Sentdm::ChannelEventPayload::Compliance::OrHash),
143
149
  number_type: T.nilable(String),
144
150
  reason: T.nilable(String),
151
+ reason_code: T.nilable(String),
145
152
  sender_value: T.nilable(String),
146
153
  status: String,
147
154
  updated_at: String
@@ -185,11 +192,15 @@ module Sentdm
185
192
  # The kind of sender the market uses, for example TEN_DLC, LOCAL, or ALPHANUMERIC.
186
193
  # Omitted when the subject has no sender type of its own.
187
194
  number_type: nil,
188
- # Why the market reached this state, when a reason was given — a correction
189
- # explained, or a campaign lapse. Free text, passed through from the registry or
190
- # carrier that wrote it, so treat it as a message to show a human rather than a
191
- # value to branch on.
195
+ # Why the market reached this state, as a sentence to show a person: the specific
196
+ # explanation when one was given (a correction explained, a campaign lapse),
197
+ # otherwise what reason_code means for this market. Not a value to branch on.
192
198
  reason: nil,
199
+ # Why the market is not ACTIVE, as a stable code: an ErrorCodes CHANNEL_xxx value
200
+ # such as CHANNEL_001 (something you owe) or CHANNEL_002 (a correction was
201
+ # requested). The same code the channels resource reports for the market. Switch
202
+ # on this rather than on reason. Omitted while ACTIVE.
203
+ reason_code: nil,
193
204
  # The sender itself — a number in E.164, or an alphanumeric sender ID.
194
205
  #
195
206
  # Always present, and null until a sender exists. The key is on every delivery so
@@ -228,6 +239,7 @@ module Sentdm
228
239
  compliance: T.nilable(Sentdm::ChannelEventPayload::Compliance),
229
240
  number_type: T.nilable(String),
230
241
  reason: T.nilable(String),
242
+ reason_code: T.nilable(String),
231
243
  sender_value: T.nilable(String),
232
244
  status: String,
233
245
  updated_at: String