twilio-ruby 5.72.1 → 5.73.1

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 (135) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +45 -0
  3. data/README.md +2 -2
  4. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/local.rb +2 -2
  5. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/machine_to_machine.rb +2 -2
  6. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/mobile.rb +2 -2
  7. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/national.rb +2 -2
  8. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/shared_cost.rb +2 -2
  9. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/toll_free.rb +2 -2
  10. data/lib/twilio-ruby/rest/api/v2010/account/available_phone_number/voip.rb +2 -2
  11. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback.rb +1 -1
  12. data/lib/twilio-ruby/rest/api/v2010/account/call/feedback_summary.rb +5 -5
  13. data/lib/twilio-ruby/rest/api/v2010/account/call/recording.rb +2 -2
  14. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message.rb +160 -0
  15. data/lib/twilio-ruby/rest/api/v2010/account/call/user_defined_message_subscription.rb +251 -0
  16. data/lib/twilio-ruby/rest/api/v2010/account/call.rb +59 -0
  17. data/lib/twilio-ruby/rest/api/v2010/account/conference/participant.rb +22 -16
  18. data/lib/twilio-ruby/rest/api/v2010/account/conference/recording.rb +1 -1
  19. data/lib/twilio-ruby/rest/api/v2010/account/conference.rb +4 -4
  20. data/lib/twilio-ruby/rest/api/v2010/account/message.rb +17 -1
  21. data/lib/twilio-ruby/rest/api/v2010/account/queue/member.rb +2 -2
  22. data/lib/twilio-ruby/rest/api/v2010/account/queue.rb +3 -3
  23. data/lib/twilio-ruby/rest/api/v2010/account/recording/transcription.rb +1 -1
  24. data/lib/twilio-ruby/rest/api/v2010/account/recording.rb +1 -1
  25. data/lib/twilio-ruby/rest/api/v2010/account/sip/ip_access_control_list/ip_address.rb +1 -1
  26. data/lib/twilio-ruby/rest/api/v2010/account/transcription.rb +1 -1
  27. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/all_time.rb +1 -1
  28. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/daily.rb +1 -1
  29. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/last_month.rb +1 -1
  30. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/monthly.rb +1 -1
  31. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/this_month.rb +1 -1
  32. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/today.rb +1 -1
  33. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yearly.rb +1 -1
  34. data/lib/twilio-ruby/rest/api/v2010/account/usage/record/yesterday.rb +1 -1
  35. data/lib/twilio-ruby/rest/api/v2010/account/usage/record.rb +1 -1
  36. data/lib/twilio-ruby/rest/autopilot/v1/assistant/task/task_statistics.rb +2 -2
  37. data/lib/twilio-ruby/rest/bulkexports/v1/export/day.rb +1 -1
  38. data/lib/twilio-ruby/rest/chat/v1/service/channel/message.rb +1 -1
  39. data/lib/twilio-ruby/rest/chat/v1/service/channel.rb +2 -2
  40. data/lib/twilio-ruby/rest/chat/v1/service/user.rb +1 -1
  41. data/lib/twilio-ruby/rest/chat/v1/service.rb +2 -2
  42. data/lib/twilio-ruby/rest/chat/v2/service/channel/message.rb +1 -1
  43. data/lib/twilio-ruby/rest/chat/v2/service/channel.rb +2 -2
  44. data/lib/twilio-ruby/rest/chat/v2/service/user.rb +1 -1
  45. data/lib/twilio-ruby/rest/chat/v2/service.rb +4 -4
  46. data/lib/twilio-ruby/rest/chat/v3/channel.rb +2 -2
  47. data/lib/twilio-ruby/rest/client.rb +7 -0
  48. data/lib/twilio-ruby/rest/conversations/v1/conversation/message/delivery_receipt.rb +1 -1
  49. data/lib/twilio-ruby/rest/conversations/v1/conversation/message.rb +1 -1
  50. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message/delivery_receipt.rb +1 -1
  51. data/lib/twilio-ruby/rest/conversations/v1/service/conversation/message.rb +1 -1
  52. data/lib/twilio-ruby/rest/events/v1/schema/version.rb +1 -1
  53. data/lib/twilio-ruby/rest/events/v1/schema.rb +1 -1
  54. data/lib/twilio-ruby/rest/events/v1/subscription/subscribed_event.rb +1 -1
  55. data/lib/twilio-ruby/rest/insights/v1/room/participant.rb +1 -1
  56. data/lib/twilio-ruby/rest/insights/v1/room.rb +3 -3
  57. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel/message.rb +1 -1
  58. data/lib/twilio-ruby/rest/ip_messaging/v1/service/channel.rb +2 -2
  59. data/lib/twilio-ruby/rest/ip_messaging/v1/service/user.rb +1 -1
  60. data/lib/twilio-ruby/rest/ip_messaging/v1/service.rb +2 -2
  61. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb +1 -1
  62. data/lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb +2 -2
  63. data/lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb +1 -1
  64. data/lib/twilio-ruby/rest/ip_messaging/v2/service.rb +4 -4
  65. data/lib/twilio-ruby/rest/media/v1/media_processor.rb +1 -1
  66. data/lib/twilio-ruby/rest/media/v1/media_recording.rb +2 -2
  67. data/lib/twilio-ruby/rest/media/v1/player_streamer.rb +1 -1
  68. data/lib/twilio-ruby/rest/messaging/v1/service.rb +1 -1
  69. data/lib/twilio-ruby/rest/notify/v1/service/notification.rb +1 -1
  70. data/lib/twilio-ruby/rest/oauth/v1/oauth.rb +162 -0
  71. data/lib/twilio-ruby/rest/oauth/v1/openid_discovery.rb +242 -0
  72. data/lib/twilio-ruby/rest/oauth/v1/token.rb +157 -0
  73. data/lib/twilio-ruby/rest/oauth/v1/user_info.rb +193 -0
  74. data/lib/twilio-ruby/rest/oauth/v1.rb +56 -0
  75. data/lib/twilio-ruby/rest/oauth.rb +62 -0
  76. data/lib/twilio-ruby/rest/preview/hosted_numbers/authorization_document/dependent_hosted_number_order.rb +2 -2
  77. data/lib/twilio-ruby/rest/preview/hosted_numbers/hosted_number_order.rb +2 -2
  78. data/lib/twilio-ruby/rest/preview/sync/service/sync_list/sync_list_item.rb +1 -1
  79. data/lib/twilio-ruby/rest/preview/understand/assistant/task/task_statistics.rb +2 -2
  80. data/lib/twilio-ruby/rest/preview/wireless/rate_plan.rb +1 -1
  81. data/lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb +1 -1
  82. data/lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb +1 -14
  83. data/lib/twilio-ruby/rest/proxy/v1/service/session.rb +5 -46
  84. data/lib/twilio-ruby/rest/proxy/v1/service.rb +1 -1
  85. data/lib/twilio-ruby/rest/studio/v1/flow.rb +1 -1
  86. data/lib/twilio-ruby/rest/studio/v2/flow/flow_revision.rb +1 -1
  87. data/lib/twilio-ruby/rest/studio/v2/flow.rb +1 -1
  88. data/lib/twilio-ruby/rest/supersim/v1/fleet.rb +1 -1
  89. data/lib/twilio-ruby/rest/supersim/v1/ip_command.rb +1 -1
  90. data/lib/twilio-ruby/rest/supersim/v1/settings_update.rb +240 -0
  91. data/lib/twilio-ruby/rest/supersim/v1/usage_record.rb +4 -4
  92. data/lib/twilio-ruby/rest/supersim/v1.rb +7 -0
  93. data/lib/twilio-ruby/rest/supersim.rb +6 -0
  94. data/lib/twilio-ruby/rest/sync/v1/service/sync_list/sync_list_item.rb +1 -1
  95. data/lib/twilio-ruby/rest/sync/v1/service.rb +1 -1
  96. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb +1 -1
  97. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb +18 -5
  98. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb +3 -3
  99. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb +12 -12
  100. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb +5 -5
  101. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb +10 -4
  102. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb +3 -3
  103. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb +6 -6
  104. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb +1 -1
  105. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb +9 -3
  106. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb +13 -13
  107. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb +2 -2
  108. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb +1 -1
  109. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb +13 -13
  110. data/lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb +3 -3
  111. data/lib/twilio-ruby/rest/trunking/v1/trunk/origination_url.rb +2 -2
  112. data/lib/twilio-ruby/rest/verify/v2/service/access_token.rb +1 -9
  113. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge/notification.rb +1 -7
  114. data/lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb +0 -8
  115. data/lib/twilio-ruby/rest/verify/v2/service/entity/factor.rb +0 -8
  116. data/lib/twilio-ruby/rest/verify/v2/service/entity/new_factor.rb +0 -6
  117. data/lib/twilio-ruby/rest/verify/v2/service/entity.rb +0 -8
  118. data/lib/twilio-ruby/rest/verify/v2/service/rate_limit/bucket.rb +2 -2
  119. data/lib/twilio-ruby/rest/verify/v2/service/verification.rb +2 -2
  120. data/lib/twilio-ruby/rest/verify/v2/service/webhook.rb +0 -8
  121. data/lib/twilio-ruby/rest/verify/v2/service.rb +1 -1
  122. data/lib/twilio-ruby/rest/verify/v2/template.rb +7 -0
  123. data/lib/twilio-ruby/rest/verify/v2/verification_attempts_summary.rb +4 -4
  124. data/lib/twilio-ruby/rest/video/v1/composition.rb +3 -3
  125. data/lib/twilio-ruby/rest/video/v1/recording.rb +2 -2
  126. data/lib/twilio-ruby/rest/video/v1/room/recording.rb +2 -2
  127. data/lib/twilio-ruby/rest/video/v1/room.rb +4 -4
  128. data/lib/twilio-ruby/rest/voice/v1/connection_policy/connection_policy_target.rb +2 -2
  129. data/lib/twilio-ruby/rest/voice/v1/dialing_permissions/bulk_country_update.rb +1 -1
  130. data/lib/twilio-ruby/rest/voice/v1/ip_record.rb +1 -1
  131. data/lib/twilio-ruby/rest/wireless/v1/rate_plan.rb +3 -3
  132. data/lib/twilio-ruby/rest/wireless/v1/sim/data_session.rb +2 -2
  133. data/lib/twilio-ruby/twiml/voice_response.rb +10 -6
  134. data/lib/twilio-ruby/version.rb +1 -1
  135. metadata +11 -2
@@ -444,6 +444,8 @@ module Twilio
444
444
  @payments = nil
445
445
  @siprec = nil
446
446
  @streams = nil
447
+ @user_defined_message_subscriptions = nil
448
+ @user_defined_messages = nil
447
449
  end
448
450
 
449
451
  ##
@@ -636,6 +638,49 @@ module Twilio
636
638
  @streams
637
639
  end
638
640
 
641
+ ##
642
+ # Access the user_defined_message_subscriptions
643
+ # @return [UserDefinedMessageSubscriptionList]
644
+ # @return [UserDefinedMessageSubscriptionContext] if sid was passed.
645
+ def user_defined_message_subscriptions(sid=:unset)
646
+ raise ArgumentError, 'sid cannot be nil' if sid.nil?
647
+
648
+ if sid != :unset
649
+ return UserDefinedMessageSubscriptionContext.new(
650
+ @version,
651
+ @solution[:account_sid],
652
+ @solution[:sid],
653
+ sid,
654
+ )
655
+ end
656
+
657
+ unless @user_defined_message_subscriptions
658
+ @user_defined_message_subscriptions = UserDefinedMessageSubscriptionList.new(
659
+ @version,
660
+ account_sid: @solution[:account_sid],
661
+ call_sid: @solution[:sid],
662
+ )
663
+ end
664
+
665
+ @user_defined_message_subscriptions
666
+ end
667
+
668
+ ##
669
+ # Access the user_defined_messages
670
+ # @return [UserDefinedMessageList]
671
+ # @return [UserDefinedMessageContext]
672
+ def user_defined_messages
673
+ unless @user_defined_messages
674
+ @user_defined_messages = UserDefinedMessageList.new(
675
+ @version,
676
+ account_sid: @solution[:account_sid],
677
+ call_sid: @solution[:sid],
678
+ )
679
+ end
680
+
681
+ @user_defined_messages
682
+ end
683
+
639
684
  ##
640
685
  # Provide a user friendly representation
641
686
  def to_s
@@ -977,6 +1022,20 @@ module Twilio
977
1022
  context.streams
978
1023
  end
979
1024
 
1025
+ ##
1026
+ # Access the user_defined_message_subscriptions
1027
+ # @return [user_defined_message_subscriptions] user_defined_message_subscriptions
1028
+ def user_defined_message_subscriptions
1029
+ context.user_defined_message_subscriptions
1030
+ end
1031
+
1032
+ ##
1033
+ # Access the user_defined_messages
1034
+ # @return [user_defined_messages] user_defined_messages
1035
+ def user_defined_messages
1036
+ context.user_defined_messages
1037
+ end
1038
+
980
1039
  ##
981
1040
  # Provide a user friendly representation
982
1041
  def to_s
@@ -449,20 +449,23 @@ module Twilio
449
449
  # @param [Boolean] hold Whether the participant should be on hold. Can be: `true`
450
450
  # or `false`. `true` puts the participant on hold, and `false` lets them rejoin
451
451
  # the conference.
452
- # @param [String] hold_url The URL we call using the `hold_method` for music that
452
+ # @param [String] hold_url The URL we call using the `hold_method` for music that
453
453
  # plays when the participant is on hold. The URL may return an MP3 file, a WAV
454
- # file, or a TwiML document that contains the `<Play>`, `<Say>` or `<Redirect>`
455
- # commands.
454
+ # file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or
455
+ # `<Redirect>` verbs.
456
456
  # @param [String] hold_method The HTTP method we should use to call `hold_url`.
457
457
  # Can be: `GET` or `POST` and the default is `GET`.
458
458
  # @param [String] announce_url The URL we call using the `announce_method` for an
459
- # announcement to the participant. The URL must return an MP3 file, a WAV file, or
460
- # a TwiML document that contains `<Play>` or `<Say>` commands.
459
+ # announcement to the participant. The URL may return an MP3 file, a WAV file, or
460
+ # a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>`
461
+ # verbs.
461
462
  # @param [String] announce_method The HTTP method we should use to call
462
463
  # `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
463
- # @param [String] wait_url The URL we should call using the `wait_method` for the
464
- # music to play while participants are waiting for the conference to start. The
465
- # default value is the URL of our standard hold music. {Learn more about hold
464
+ # @param [String] wait_url The URL we call using the `wait_method` for the music
465
+ # to play while participants are waiting for the conference to start. The URL may
466
+ # return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`,
467
+ # `<Say>`, `<Pause>`, or `<Redirect>` verbs. The default value is the URL of our
468
+ # standard hold music. {Learn more about hold
466
469
  # music}[https://www.twilio.com/labs/twimlets/holdmusic].
467
470
  # @param [String] wait_method The HTTP method we should use to call `wait_url`.
468
471
  # Can be `GET` or `POST` and the default is `POST`. When using a static audio
@@ -686,20 +689,23 @@ module Twilio
686
689
  # @param [Boolean] hold Whether the participant should be on hold. Can be: `true`
687
690
  # or `false`. `true` puts the participant on hold, and `false` lets them rejoin
688
691
  # the conference.
689
- # @param [String] hold_url The URL we call using the `hold_method` for music that
692
+ # @param [String] hold_url The URL we call using the `hold_method` for music that
690
693
  # plays when the participant is on hold. The URL may return an MP3 file, a WAV
691
- # file, or a TwiML document that contains the `<Play>`, `<Say>` or `<Redirect>`
692
- # commands.
694
+ # file, or a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or
695
+ # `<Redirect>` verbs.
693
696
  # @param [String] hold_method The HTTP method we should use to call `hold_url`.
694
697
  # Can be: `GET` or `POST` and the default is `GET`.
695
698
  # @param [String] announce_url The URL we call using the `announce_method` for an
696
- # announcement to the participant. The URL must return an MP3 file, a WAV file, or
697
- # a TwiML document that contains `<Play>` or `<Say>` commands.
699
+ # announcement to the participant. The URL may return an MP3 file, a WAV file, or
700
+ # a TwiML document that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>`
701
+ # verbs.
698
702
  # @param [String] announce_method The HTTP method we should use to call
699
703
  # `announce_url`. Can be: `GET` or `POST` and defaults to `POST`.
700
- # @param [String] wait_url The URL we should call using the `wait_method` for the
701
- # music to play while participants are waiting for the conference to start. The
702
- # default value is the URL of our standard hold music. {Learn more about hold
704
+ # @param [String] wait_url The URL we call using the `wait_method` for the music
705
+ # to play while participants are waiting for the conference to start. The URL may
706
+ # return an MP3 file, a WAV file, or a TwiML document that contains `<Play>`,
707
+ # `<Say>`, `<Pause>`, or `<Redirect>` verbs. The default value is the URL of our
708
+ # standard hold music. {Learn more about hold
703
709
  # music}[https://www.twilio.com/labs/twimlets/holdmusic].
704
710
  # @param [String] wait_method The HTTP method we should use to call `wait_url`.
705
711
  # Can be `GET` or `POST` and the default is `POST`. When using a static audio
@@ -285,7 +285,7 @@ module Twilio
285
285
  'price' => payload['price'],
286
286
  'price_unit' => payload['price_unit'],
287
287
  'status' => payload['status'],
288
- 'channels' => payload['channels'].to_i,
288
+ 'channels' => payload['channels'] == nil ? payload['channels'] : payload['channels'].to_i,
289
289
  'source' => payload['source'],
290
290
  'error_code' => payload['error_code'] == nil ? payload['error_code'] : payload['error_code'].to_i,
291
291
  'encryption_details' => payload['encryption_details'],
@@ -244,8 +244,8 @@ module Twilio
244
244
  # Can be: `init`, `in-progress`, or `completed`. Specifying `completed` will end
245
245
  # the conference and hang up all participants
246
246
  # @param [String] announce_url The URL we should call to announce something into
247
- # the conference. The URL can return an MP3, a WAV, or a TwiML document with
248
- # `<Play>` or `<Say>`.
247
+ # the conference. The URL may return an MP3 file, a WAV file, or a TwiML document
248
+ # that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
249
249
  # @param [String] announce_method The HTTP method used to call `announce_url`. Can
250
250
  # be: `GET` or `POST` and the default is `POST`
251
251
  # @return [ConferenceInstance] Updated ConferenceInstance
@@ -456,8 +456,8 @@ module Twilio
456
456
  # Can be: `init`, `in-progress`, or `completed`. Specifying `completed` will end
457
457
  # the conference and hang up all participants
458
458
  # @param [String] announce_url The URL we should call to announce something into
459
- # the conference. The URL can return an MP3, a WAV, or a TwiML document with
460
- # `<Play>` or `<Say>`.
459
+ # the conference. The URL may return an MP3 file, a WAV file, or a TwiML document
460
+ # that contains `<Play>`, `<Say>`, `<Pause>`, or `<Redirect>` verbs.
461
461
  # @param [String] announce_method The HTTP method used to call `announce_url`. Can
462
462
  # be: `GET` or `POST` and the default is `POST`
463
463
  # @return [ConferenceInstance] Updated ConferenceInstance
@@ -78,12 +78,25 @@ module Twilio
78
78
  # @param [Boolean] smart_encoded Whether to detect Unicode characters that have a
79
79
  # similar GSM-7 character and replace them. Can be: `true` or `false`.
80
80
  # @param [Array[String]] persistent_action Rich actions for Channels Messages.
81
+ # @param [Boolean] shorten_urls Determines the usage of Click Tracking. Setting it
82
+ # to `true` will instruct Twilio to replace all links in the Message with a
83
+ # shortened version based on the associated Domain Sid and track clicks on them.
84
+ # If this parameter is not set on an API call, we will use the value set on the
85
+ # Messaging Service. If this parameter is not set and the value is not configured
86
+ # on the Messaging Service used this will default to `false`.
81
87
  # @param [message.ScheduleType] schedule_type Indicates your intent to schedule a
82
88
  # message. Pass the value `fixed` to schedule a message at a fixed time.
83
89
  # @param [Time] send_at The time that Twilio will send the message. Must be in ISO
84
90
  # 8601 format.
85
91
  # @param [Boolean] send_as_mms If set to True, Twilio will deliver the message as
86
92
  # a single MMS message, regardless of the presence of media.
93
+ # @param [String] content_sid The SID of the Content object returned at Content
94
+ # API content create time
95
+ # (https://www.twilio.com/docs/content-api/create-and-send-your-first-content-api-template#create-a-template).
96
+ # If this parameter is not specified, then the Content API will not be utilized.
97
+ # @param [String] content_variables Key-value pairs of variable names to
98
+ # substitution values, used alongside a content_sid. If not specified, Content API
99
+ # will default to the default variables defined at create time.
87
100
  # @param [String] from A Twilio phone number in
88
101
  # {E.164}[https://www.twilio.com/docs/glossary/what-e164] format, an {alphanumeric
89
102
  # sender
@@ -114,7 +127,7 @@ module Twilio
114
127
  # parameters in the POST request. You can include up to 10 `media_url` parameters
115
128
  # per message. You can send images in an SMS message in only the US and Canada.
116
129
  # @return [MessageInstance] Created MessageInstance
117
- def create(to: nil, status_callback: :unset, application_sid: :unset, max_price: :unset, provide_feedback: :unset, attempt: :unset, validity_period: :unset, force_delivery: :unset, content_retention: :unset, address_retention: :unset, smart_encoded: :unset, persistent_action: :unset, schedule_type: :unset, send_at: :unset, send_as_mms: :unset, from: :unset, messaging_service_sid: :unset, body: :unset, media_url: :unset)
130
+ def create(to: nil, status_callback: :unset, application_sid: :unset, max_price: :unset, provide_feedback: :unset, attempt: :unset, validity_period: :unset, force_delivery: :unset, content_retention: :unset, address_retention: :unset, smart_encoded: :unset, persistent_action: :unset, shorten_urls: :unset, schedule_type: :unset, send_at: :unset, send_as_mms: :unset, content_sid: :unset, content_variables: :unset, from: :unset, messaging_service_sid: :unset, body: :unset, media_url: :unset)
118
131
  data = Twilio::Values.of({
119
132
  'To' => to,
120
133
  'From' => from,
@@ -132,9 +145,12 @@ module Twilio
132
145
  'AddressRetention' => address_retention,
133
146
  'SmartEncoded' => smart_encoded,
134
147
  'PersistentAction' => Twilio.serialize_list(persistent_action) { |e| e },
148
+ 'ShortenUrls' => shorten_urls,
135
149
  'ScheduleType' => schedule_type,
136
150
  'SendAt' => Twilio.serialize_iso8601_datetime(send_at),
137
151
  'SendAsMms' => send_as_mms,
152
+ 'ContentSid' => content_sid,
153
+ 'ContentVariables' => content_variables,
138
154
  })
139
155
 
140
156
  payload = @version.create('POST', @uri, data: data)
@@ -242,9 +242,9 @@ module Twilio
242
242
  @properties = {
243
243
  'call_sid' => payload['call_sid'],
244
244
  'date_enqueued' => Twilio.deserialize_rfc2822(payload['date_enqueued']),
245
- 'position' => payload['position'].to_i,
245
+ 'position' => payload['position'] == nil ? payload['position'] : payload['position'].to_i,
246
246
  'uri' => payload['uri'],
247
- 'wait_time' => payload['wait_time'].to_i,
247
+ 'wait_time' => payload['wait_time'] == nil ? payload['wait_time'] : payload['wait_time'].to_i,
248
248
  'queue_sid' => payload['queue_sid'],
249
249
  }
250
250
 
@@ -264,14 +264,14 @@ module Twilio
264
264
  # Marshaled Properties
265
265
  @properties = {
266
266
  'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
267
- 'current_size' => payload['current_size'].to_i,
267
+ 'current_size' => payload['current_size'] == nil ? payload['current_size'] : payload['current_size'].to_i,
268
268
  'friendly_name' => payload['friendly_name'],
269
269
  'uri' => payload['uri'],
270
270
  'account_sid' => payload['account_sid'],
271
- 'average_wait_time' => payload['average_wait_time'].to_i,
271
+ 'average_wait_time' => payload['average_wait_time'] == nil ? payload['average_wait_time'] : payload['average_wait_time'].to_i,
272
272
  'sid' => payload['sid'],
273
273
  'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
274
- 'max_size' => payload['max_size'].to_i,
274
+ 'max_size' => payload['max_size'] == nil ? payload['max_size'] : payload['max_size'].to_i,
275
275
  }
276
276
 
277
277
  # Context
@@ -234,7 +234,7 @@ module Twilio
234
234
  'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
235
235
  'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
236
236
  'duration' => payload['duration'],
237
- 'price' => payload['price'].to_f,
237
+ 'price' => payload['price'] == nil ? payload['price'] : payload['price'].to_f,
238
238
  'price_unit' => payload['price_unit'],
239
239
  'recording_sid' => payload['recording_sid'],
240
240
  'sid' => payload['sid'],
@@ -329,7 +329,7 @@ module Twilio
329
329
  'price' => payload['price'],
330
330
  'price_unit' => payload['price_unit'],
331
331
  'status' => payload['status'],
332
- 'channels' => payload['channels'].to_i,
332
+ 'channels' => payload['channels'] == nil ? payload['channels'] : payload['channels'].to_i,
333
333
  'source' => payload['source'],
334
334
  'error_code' => payload['error_code'] == nil ? payload['error_code'] : payload['error_code'].to_i,
335
335
  'uri' => payload['uri'],
@@ -290,7 +290,7 @@ module Twilio
290
290
  'account_sid' => payload['account_sid'],
291
291
  'friendly_name' => payload['friendly_name'],
292
292
  'ip_address' => payload['ip_address'],
293
- 'cidr_prefix_length' => payload['cidr_prefix_length'].to_i,
293
+ 'cidr_prefix_length' => payload['cidr_prefix_length'] == nil ? payload['cidr_prefix_length'] : payload['cidr_prefix_length'].to_i,
294
294
  'ip_access_control_list_sid' => payload['ip_access_control_list_sid'],
295
295
  'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
296
296
  'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
@@ -218,7 +218,7 @@ module Twilio
218
218
  'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
219
219
  'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
220
220
  'duration' => payload['duration'],
221
- 'price' => payload['price'].to_f,
221
+ 'price' => payload['price'] == nil ? payload['price'] : payload['price'].to_f,
222
222
  'price_unit' => payload['price_unit'],
223
223
  'recording_sid' => payload['recording_sid'],
224
224
  'sid' => payload['sid'],
@@ -230,7 +230,7 @@ module Twilio
230
230
  'count_unit' => payload['count_unit'],
231
231
  'description' => payload['description'],
232
232
  'end_date' => Twilio.deserialize_iso8601_date(payload['end_date']),
233
- 'price' => payload['price'].to_f,
233
+ 'price' => payload['price'] == nil ? payload['price'] : payload['price'].to_f,
234
234
  'price_unit' => payload['price_unit'],
235
235
  'start_date' => Twilio.deserialize_iso8601_date(payload['start_date']),
236
236
  'subresource_uris' => payload['subresource_uris'],
@@ -230,7 +230,7 @@ module Twilio
230
230
  'count_unit' => payload['count_unit'],
231
231
  'description' => payload['description'],
232
232
  'end_date' => Twilio.deserialize_iso8601_date(payload['end_date']),
233
- 'price' => payload['price'].to_f,
233
+ 'price' => payload['price'] == nil ? payload['price'] : payload['price'].to_f,
234
234
  'price_unit' => payload['price_unit'],
235
235
  'start_date' => Twilio.deserialize_iso8601_date(payload['start_date']),
236
236
  'subresource_uris' => payload['subresource_uris'],
@@ -230,7 +230,7 @@ module Twilio
230
230
  'count_unit' => payload['count_unit'],
231
231
  'description' => payload['description'],
232
232
  'end_date' => Twilio.deserialize_iso8601_date(payload['end_date']),
233
- 'price' => payload['price'].to_f,
233
+ 'price' => payload['price'] == nil ? payload['price'] : payload['price'].to_f,
234
234
  'price_unit' => payload['price_unit'],
235
235
  'start_date' => Twilio.deserialize_iso8601_date(payload['start_date']),
236
236
  'subresource_uris' => payload['subresource_uris'],
@@ -230,7 +230,7 @@ module Twilio
230
230
  'count_unit' => payload['count_unit'],
231
231
  'description' => payload['description'],
232
232
  'end_date' => Twilio.deserialize_iso8601_date(payload['end_date']),
233
- 'price' => payload['price'].to_f,
233
+ 'price' => payload['price'] == nil ? payload['price'] : payload['price'].to_f,
234
234
  'price_unit' => payload['price_unit'],
235
235
  'start_date' => Twilio.deserialize_iso8601_date(payload['start_date']),
236
236
  'subresource_uris' => payload['subresource_uris'],
@@ -230,7 +230,7 @@ module Twilio
230
230
  'count_unit' => payload['count_unit'],
231
231
  'description' => payload['description'],
232
232
  'end_date' => Twilio.deserialize_iso8601_date(payload['end_date']),
233
- 'price' => payload['price'].to_f,
233
+ 'price' => payload['price'] == nil ? payload['price'] : payload['price'].to_f,
234
234
  'price_unit' => payload['price_unit'],
235
235
  'start_date' => Twilio.deserialize_iso8601_date(payload['start_date']),
236
236
  'subresource_uris' => payload['subresource_uris'],
@@ -230,7 +230,7 @@ module Twilio
230
230
  'count_unit' => payload['count_unit'],
231
231
  'description' => payload['description'],
232
232
  'end_date' => Twilio.deserialize_iso8601_date(payload['end_date']),
233
- 'price' => payload['price'].to_f,
233
+ 'price' => payload['price'] == nil ? payload['price'] : payload['price'].to_f,
234
234
  'price_unit' => payload['price_unit'],
235
235
  'start_date' => Twilio.deserialize_iso8601_date(payload['start_date']),
236
236
  'subresource_uris' => payload['subresource_uris'],
@@ -230,7 +230,7 @@ module Twilio
230
230
  'count_unit' => payload['count_unit'],
231
231
  'description' => payload['description'],
232
232
  'end_date' => Twilio.deserialize_iso8601_date(payload['end_date']),
233
- 'price' => payload['price'].to_f,
233
+ 'price' => payload['price'] == nil ? payload['price'] : payload['price'].to_f,
234
234
  'price_unit' => payload['price_unit'],
235
235
  'start_date' => Twilio.deserialize_iso8601_date(payload['start_date']),
236
236
  'subresource_uris' => payload['subresource_uris'],
@@ -230,7 +230,7 @@ module Twilio
230
230
  'count_unit' => payload['count_unit'],
231
231
  'description' => payload['description'],
232
232
  'end_date' => Twilio.deserialize_iso8601_date(payload['end_date']),
233
- 'price' => payload['price'].to_f,
233
+ 'price' => payload['price'] == nil ? payload['price'] : payload['price'].to_f,
234
234
  'price_unit' => payload['price_unit'],
235
235
  'start_date' => Twilio.deserialize_iso8601_date(payload['start_date']),
236
236
  'subresource_uris' => payload['subresource_uris'],
@@ -303,7 +303,7 @@ module Twilio
303
303
  'count_unit' => payload['count_unit'],
304
304
  'description' => payload['description'],
305
305
  'end_date' => Twilio.deserialize_iso8601_date(payload['end_date']),
306
- 'price' => payload['price'].to_f,
306
+ 'price' => payload['price'] == nil ? payload['price'] : payload['price'].to_f,
307
307
  'price_unit' => payload['price_unit'],
308
308
  'start_date' => Twilio.deserialize_iso8601_date(payload['start_date']),
309
309
  'subresource_uris' => payload['subresource_uris'],
@@ -147,8 +147,8 @@ module Twilio
147
147
  'account_sid' => payload['account_sid'],
148
148
  'assistant_sid' => payload['assistant_sid'],
149
149
  'task_sid' => payload['task_sid'],
150
- 'samples_count' => payload['samples_count'].to_i,
151
- 'fields_count' => payload['fields_count'].to_i,
150
+ 'samples_count' => payload['samples_count'] == nil ? payload['samples_count'] : payload['samples_count'].to_i,
151
+ 'fields_count' => payload['fields_count'] == nil ? payload['fields_count'] : payload['fields_count'].to_i,
152
152
  'url' => payload['url'],
153
153
  }
154
154
 
@@ -200,7 +200,7 @@ module Twilio
200
200
  @properties = {
201
201
  'redirect_to' => payload['redirect_to'],
202
202
  'day' => payload['day'],
203
- 'size' => payload['size'].to_i,
203
+ 'size' => payload['size'] == nil ? payload['size'] : payload['size'].to_i,
204
204
  'create_date' => payload['create_date'],
205
205
  'friendly_name' => payload['friendly_name'],
206
206
  'resource_type' => payload['resource_type'],
@@ -293,7 +293,7 @@ module Twilio
293
293
  'was_edited' => payload['was_edited'],
294
294
  'from' => payload['from'],
295
295
  'body' => payload['body'],
296
- 'index' => payload['index'].to_i,
296
+ 'index' => payload['index'] == nil ? payload['index'] : payload['index'].to_i,
297
297
  'url' => payload['url'],
298
298
  }
299
299
 
@@ -345,8 +345,8 @@ module Twilio
345
345
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
346
346
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
347
347
  'created_by' => payload['created_by'],
348
- 'members_count' => payload['members_count'].to_i,
349
- 'messages_count' => payload['messages_count'].to_i,
348
+ 'members_count' => payload['members_count'] == nil ? payload['members_count'] : payload['members_count'].to_i,
349
+ 'messages_count' => payload['messages_count'] == nil ? payload['messages_count'] : payload['messages_count'].to_i,
350
350
  'url' => payload['url'],
351
351
  'links' => payload['links'],
352
352
  }
@@ -287,7 +287,7 @@ module Twilio
287
287
  'is_notifiable' => payload['is_notifiable'],
288
288
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
289
289
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
290
- 'joined_channels_count' => payload['joined_channels_count'].to_i,
290
+ 'joined_channels_count' => payload['joined_channels_count'] == nil ? payload['joined_channels_count'] : payload['joined_channels_count'].to_i,
291
291
  'links' => payload['links'],
292
292
  'url' => payload['url'],
293
293
  }
@@ -489,8 +489,8 @@ module Twilio
489
489
  'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
490
490
  'read_status_enabled' => payload['read_status_enabled'],
491
491
  'reachability_enabled' => payload['reachability_enabled'],
492
- 'typing_indicator_timeout' => payload['typing_indicator_timeout'].to_i,
493
- 'consumption_report_interval' => payload['consumption_report_interval'].to_i,
492
+ 'typing_indicator_timeout' => payload['typing_indicator_timeout'] == nil ? payload['typing_indicator_timeout'] : payload['typing_indicator_timeout'].to_i,
493
+ 'consumption_report_interval' => payload['consumption_report_interval'] == nil ? payload['consumption_report_interval'] : payload['consumption_report_interval'].to_i,
494
494
  'limits' => payload['limits'],
495
495
  'webhooks' => payload['webhooks'],
496
496
  'pre_webhook_url' => payload['pre_webhook_url'],
@@ -344,7 +344,7 @@ module Twilio
344
344
  'was_edited' => payload['was_edited'],
345
345
  'from' => payload['from'],
346
346
  'body' => payload['body'],
347
- 'index' => payload['index'].to_i,
347
+ 'index' => payload['index'] == nil ? payload['index'] : payload['index'].to_i,
348
348
  'type' => payload['type'],
349
349
  'media' => payload['media'],
350
350
  'url' => payload['url'],
@@ -406,8 +406,8 @@ module Twilio
406
406
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
407
407
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
408
408
  'created_by' => payload['created_by'],
409
- 'members_count' => payload['members_count'].to_i,
410
- 'messages_count' => payload['messages_count'].to_i,
409
+ 'members_count' => payload['members_count'] == nil ? payload['members_count'] : payload['members_count'].to_i,
410
+ 'messages_count' => payload['messages_count'] == nil ? payload['messages_count'] : payload['messages_count'].to_i,
411
411
  'url' => payload['url'],
412
412
  'links' => payload['links'],
413
413
  }
@@ -323,7 +323,7 @@ module Twilio
323
323
  'is_notifiable' => payload['is_notifiable'],
324
324
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
325
325
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
326
- 'joined_channels_count' => payload['joined_channels_count'].to_i,
326
+ 'joined_channels_count' => payload['joined_channels_count'] == nil ? payload['joined_channels_count'] : payload['joined_channels_count'].to_i,
327
327
  'links' => payload['links'],
328
328
  'url' => payload['url'],
329
329
  }
@@ -429,15 +429,15 @@ module Twilio
429
429
  'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
430
430
  'read_status_enabled' => payload['read_status_enabled'],
431
431
  'reachability_enabled' => payload['reachability_enabled'],
432
- 'typing_indicator_timeout' => payload['typing_indicator_timeout'].to_i,
433
- 'consumption_report_interval' => payload['consumption_report_interval'].to_i,
432
+ 'typing_indicator_timeout' => payload['typing_indicator_timeout'] == nil ? payload['typing_indicator_timeout'] : payload['typing_indicator_timeout'].to_i,
433
+ 'consumption_report_interval' => payload['consumption_report_interval'] == nil ? payload['consumption_report_interval'] : payload['consumption_report_interval'].to_i,
434
434
  'limits' => payload['limits'],
435
435
  'pre_webhook_url' => payload['pre_webhook_url'],
436
436
  'post_webhook_url' => payload['post_webhook_url'],
437
437
  'webhook_method' => payload['webhook_method'],
438
438
  'webhook_filters' => payload['webhook_filters'],
439
- 'pre_webhook_retry_count' => payload['pre_webhook_retry_count'].to_i,
440
- 'post_webhook_retry_count' => payload['post_webhook_retry_count'].to_i,
439
+ 'pre_webhook_retry_count' => payload['pre_webhook_retry_count'] == nil ? payload['pre_webhook_retry_count'] : payload['pre_webhook_retry_count'].to_i,
440
+ 'post_webhook_retry_count' => payload['post_webhook_retry_count'] == nil ? payload['post_webhook_retry_count'] : payload['post_webhook_retry_count'].to_i,
441
441
  'notifications' => payload['notifications'],
442
442
  'media' => payload['media'],
443
443
  'url' => payload['url'],
@@ -129,8 +129,8 @@ module Twilio
129
129
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
130
130
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
131
131
  'created_by' => payload['created_by'],
132
- 'members_count' => payload['members_count'].to_i,
133
- 'messages_count' => payload['messages_count'].to_i,
132
+ 'members_count' => payload['members_count'] == nil ? payload['members_count'] : payload['members_count'].to_i,
133
+ 'messages_count' => payload['messages_count'] == nil ? payload['messages_count'] : payload['messages_count'].to_i,
134
134
  'messaging_service_sid' => payload['messaging_service_sid'],
135
135
  'url' => payload['url'],
136
136
  }
@@ -46,6 +46,7 @@ module Twilio
46
46
  @monitor = nil
47
47
  @notify = nil
48
48
  @numbers = nil
49
+ @oauth = nil
49
50
  @preview = nil
50
51
  @pricing = nil
51
52
  @proxy = nil
@@ -259,6 +260,12 @@ module Twilio
259
260
  @numbers ||= Numbers.new self
260
261
  end
261
262
 
263
+ ##
264
+ # Access the Oauth Twilio Domain
265
+ def oauth
266
+ @oauth ||= Oauth.new self
267
+ end
268
+
262
269
  ##
263
270
  # Access the Preview Twilio Domain
264
271
  def preview
@@ -229,7 +229,7 @@ module Twilio
229
229
  'channel_message_sid' => payload['channel_message_sid'],
230
230
  'participant_sid' => payload['participant_sid'],
231
231
  'status' => payload['status'],
232
- 'error_code' => payload['error_code'].to_i,
232
+ 'error_code' => payload['error_code'] == nil ? payload['error_code'] : payload['error_code'].to_i,
233
233
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
234
234
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
235
235
  'url' => payload['url'],
@@ -319,7 +319,7 @@ module Twilio
319
319
  'account_sid' => payload['account_sid'],
320
320
  'conversation_sid' => payload['conversation_sid'],
321
321
  'sid' => payload['sid'],
322
- 'index' => payload['index'].to_i,
322
+ 'index' => payload['index'] == nil ? payload['index'] : payload['index'].to_i,
323
323
  'author' => payload['author'],
324
324
  'body' => payload['body'],
325
325
  'media' => payload['media'],
@@ -251,7 +251,7 @@ module Twilio
251
251
  'channel_message_sid' => payload['channel_message_sid'],
252
252
  'participant_sid' => payload['participant_sid'],
253
253
  'status' => payload['status'],
254
- 'error_code' => payload['error_code'].to_i,
254
+ 'error_code' => payload['error_code'] == nil ? payload['error_code'] : payload['error_code'].to_i,
255
255
  'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
256
256
  'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
257
257
  'url' => payload['url'],
@@ -349,7 +349,7 @@ module Twilio
349
349
  'chat_service_sid' => payload['chat_service_sid'],
350
350
  'conversation_sid' => payload['conversation_sid'],
351
351
  'sid' => payload['sid'],
352
- 'index' => payload['index'].to_i,
352
+ 'index' => payload['index'] == nil ? payload['index'] : payload['index'].to_i,
353
353
  'author' => payload['author'],
354
354
  'body' => payload['body'],
355
355
  'media' => payload['media'],