rcs 2.0.13 → 2.0.15

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 (154) hide show
  1. checksums.yaml +4 -4
  2. data/.fern/metadata.json +2 -2
  3. data/.fernignore +2 -1
  4. data/lib/pinnacle/audiences/client.rb +34 -0
  5. data/lib/pinnacle/audiences/types/list_audiences_params.rb +13 -0
  6. data/lib/pinnacle/brands/client.rb +34 -0
  7. data/lib/pinnacle/brands/types/list_brands_params.rb +15 -0
  8. data/lib/pinnacle/brands/types/list_brands_request_status.rb +18 -0
  9. data/lib/pinnacle/campaigns/dlc/client.rb +35 -0
  10. data/lib/pinnacle/campaigns/dlc/types/list_dlc_campaigns_params.rb +17 -0
  11. data/lib/pinnacle/campaigns/dlc/types/list_dlc_campaigns_request_status.rb +18 -0
  12. data/lib/pinnacle/campaigns/rcs/client.rb +35 -0
  13. data/lib/pinnacle/campaigns/rcs/types/list_rcs_campaigns_params.rb +17 -0
  14. data/lib/pinnacle/campaigns/rcs/types/list_rcs_campaigns_request_status.rb +18 -0
  15. data/lib/pinnacle/campaigns/rcs/types/upsert_rcs_campaign_params.rb +3 -6
  16. data/lib/pinnacle/campaigns/toll_free/client.rb +35 -0
  17. data/lib/pinnacle/campaigns/toll_free/types/list_toll_free_campaigns_params.rb +17 -0
  18. data/lib/pinnacle/campaigns/toll_free/types/list_toll_free_campaigns_request_status.rb +18 -0
  19. data/lib/pinnacle/client.rb +1 -1
  20. data/lib/pinnacle/contacts/client.rb +34 -0
  21. data/lib/pinnacle/contacts/types/list_contacts_params.rb +16 -0
  22. data/lib/pinnacle/internal/types/boolean.rb +1 -1
  23. data/lib/pinnacle/internal/types/utils.rb +2 -2
  24. data/lib/pinnacle/messages/blasts/client.rb +50 -0
  25. data/lib/pinnacle/messages/blasts/types/list_blasts_params.rb +17 -0
  26. data/lib/pinnacle/messages/client.rb +44 -0
  27. data/lib/pinnacle/messages/rcs/types/send_rich_message_response.rb +2 -0
  28. data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema.rb +0 -1
  29. data/lib/pinnacle/messages/schedules/client.rb +51 -0
  30. data/lib/pinnacle/messages/schedules/types/list_scheduled_messages_params.rb +17 -0
  31. data/lib/pinnacle/messages/schedules/types/list_scheduled_messages_request_schedule_type.rb +16 -0
  32. data/lib/pinnacle/messages/schedules/types/list_scheduled_messages_request_status.rb +17 -0
  33. data/lib/pinnacle/messages/types/list_messages_params.rb +21 -0
  34. data/lib/pinnacle/messages/types/list_messages_request_direction.rb +14 -0
  35. data/lib/pinnacle/messages/types/list_messages_request_method.rb +15 -0
  36. data/lib/pinnacle/messages/types/list_messages_request_status.rb +21 -0
  37. data/lib/pinnacle/messages/types/list_messages_request_type.rb +15 -0
  38. data/lib/pinnacle/phone_numbers/client.rb +32 -3
  39. data/lib/pinnacle/phone_numbers/types/list_phone_numbers_params.rb +12 -0
  40. data/lib/pinnacle/rcs/agents/client.rb +50 -0
  41. data/lib/pinnacle/rcs/agents/types/list_agents_params.rb +16 -0
  42. data/lib/pinnacle/rcs/agents/types/list_agents_request_agent_type.rb +16 -0
  43. data/lib/pinnacle/rcs/client.rb +34 -44
  44. data/lib/pinnacle/rcs/test/client.rb +275 -0
  45. data/lib/pinnacle/rcs/test/types/create_test_agent_request.rb +24 -0
  46. data/lib/pinnacle/rcs/test/types/test_agent_whitelist_request.rb +14 -0
  47. data/lib/pinnacle/rcs/test/types/test_get_whitelist_status_request.rb +14 -0
  48. data/lib/pinnacle/rcs/test/types/update_test_agent_request.rb +25 -0
  49. data/lib/pinnacle/rcs/types/rcs_capabilities_query.rb +1 -0
  50. data/lib/pinnacle/rcs/types/rcs_link_request.rb +0 -1
  51. data/lib/pinnacle/rcs/whitelisted_numbers/client.rb +51 -0
  52. data/lib/pinnacle/rcs/whitelisted_numbers/types/list_test_numbers_params.rb +17 -0
  53. data/lib/pinnacle/rcs/whitelisted_numbers/types/list_test_numbers_request_status.rb +17 -0
  54. data/lib/pinnacle/tools/url/client.rb +34 -0
  55. data/lib/pinnacle/tools/url/types/list_links_params.rb +15 -0
  56. data/lib/pinnacle/types/agent_email_entry.rb +11 -0
  57. data/lib/pinnacle/types/agent_phone_entry.rb +11 -0
  58. data/lib/pinnacle/types/agent_summary.rb +15 -0
  59. data/lib/pinnacle/types/agent_summary_agent_type.rb +12 -0
  60. data/lib/pinnacle/types/agent_summary_carrier_launches.rb +13 -0
  61. data/lib/pinnacle/types/agent_summary_config.rb +21 -0
  62. data/lib/pinnacle/types/agent_summary_config_agent_use_case.rb +14 -0
  63. data/lib/pinnacle/types/agent_summary_config_emails_item.rb +10 -0
  64. data/lib/pinnacle/types/agent_summary_config_phones_item.rb +10 -0
  65. data/lib/pinnacle/types/agent_summary_config_websites_item.rb +10 -0
  66. data/lib/pinnacle/types/agent_use_case.rb +14 -0
  67. data/lib/pinnacle/types/agent_website_entry.rb +11 -0
  68. data/lib/pinnacle/types/attach_webhook_response_webhook.rb +1 -2
  69. data/lib/pinnacle/types/attach_webhook_result.rb +12 -0
  70. data/lib/pinnacle/types/audience_summary.rb +13 -0
  71. data/lib/pinnacle/types/blast_summary.rb +16 -0
  72. data/lib/pinnacle/types/blast_summary_type.rb +13 -0
  73. data/lib/pinnacle/types/carrier_launch_status.rb +13 -0
  74. data/lib/pinnacle/types/carrier_launches.rb +13 -0
  75. data/lib/pinnacle/types/detach_webhook_result.rb +11 -0
  76. data/lib/pinnacle/types/dlc_campaign_summary.rb +15 -0
  77. data/lib/pinnacle/types/dlc_campaign_summary_status.rb +14 -0
  78. data/lib/pinnacle/types/extended_rcs_campaign.rb +3 -6
  79. data/lib/pinnacle/types/failed_sender.rb +10 -0
  80. data/lib/pinnacle/types/fallback_message.rb +5 -3
  81. data/lib/pinnacle/types/link_summary.rb +12 -0
  82. data/lib/pinnacle/types/list_agents_response.rb +11 -0
  83. data/lib/pinnacle/types/list_audiences_response.rb +11 -0
  84. data/lib/pinnacle/types/list_blasts_response.rb +11 -0
  85. data/lib/pinnacle/types/list_brands_response.rb +11 -0
  86. data/lib/pinnacle/types/list_contacts_response.rb +11 -0
  87. data/lib/pinnacle/types/list_dlc_campaigns_response.rb +11 -0
  88. data/lib/pinnacle/types/list_links_response.rb +11 -0
  89. data/lib/pinnacle/types/list_messages_response.rb +11 -0
  90. data/lib/pinnacle/types/list_phone_numbers_response.rb +11 -0
  91. data/lib/pinnacle/types/list_rcs_campaigns_response.rb +11 -0
  92. data/lib/pinnacle/types/list_scheduled_messages_response.rb +11 -0
  93. data/lib/pinnacle/types/list_test_numbers_response.rb +11 -0
  94. data/lib/pinnacle/types/list_toll_free_campaigns_response.rb +11 -0
  95. data/lib/pinnacle/types/list_webhooks_response.rb +11 -0
  96. data/lib/pinnacle/types/message.rb +0 -1
  97. data/lib/pinnacle/types/message_event.rb +2 -1
  98. data/lib/pinnacle/types/message_event_fallback_message.rb +6 -6
  99. data/lib/pinnacle/types/message_list.rb +1 -1
  100. data/lib/pinnacle/types/message_summary.rb +25 -0
  101. data/lib/pinnacle/types/{message_with_reaction_direction.rb → message_summary_direction.rb} +1 -1
  102. data/lib/pinnacle/types/message_summary_method.rb +13 -0
  103. data/lib/pinnacle/types/message_summary_status.rb +19 -0
  104. data/lib/pinnacle/types/message_summary_type.rb +13 -0
  105. data/lib/pinnacle/types/message_with_reactions.rb +11 -0
  106. data/lib/pinnacle/types/message_with_reactions_direction.rb +12 -0
  107. data/lib/pinnacle/types/owned_phone_number.rb +14 -0
  108. data/lib/pinnacle/types/rcs_agent_details.rb +21 -0
  109. data/lib/pinnacle/types/rcs_agent_details_agent_use_case.rb +14 -0
  110. data/lib/pinnacle/types/rcs_agent_details_emails_item.rb +10 -0
  111. data/lib/pinnacle/types/rcs_agent_details_phones_item.rb +10 -0
  112. data/lib/pinnacle/types/rcs_agent_details_websites_item.rb +10 -0
  113. data/lib/pinnacle/types/rcs_agent_response.rb +14 -0
  114. data/lib/pinnacle/types/rcs_campaign.rb +3 -6
  115. data/lib/pinnacle/types/rcs_campaign_summary.rb +15 -0
  116. data/lib/pinnacle/types/rcs_campaign_summary_status.rb +14 -0
  117. data/lib/pinnacle/types/rcs_whitelist_status.rb +13 -0
  118. data/lib/pinnacle/types/scheduled_message_summary.rb +17 -0
  119. data/lib/pinnacle/types/scheduled_message_summary_status.rb +13 -0
  120. data/lib/pinnacle/types/send_rich_message_options.rb +0 -1
  121. data/lib/pinnacle/types/sent_rich_message_fallback_mms.rb +13 -0
  122. data/lib/pinnacle/types/sent_rich_message_fallback_sms.rb +13 -0
  123. data/lib/pinnacle/types/test_agent_response.rb +13 -0
  124. data/lib/pinnacle/types/test_agent_whitelist_response.rb +10 -0
  125. data/lib/pinnacle/types/toll_free_campaign_summary.rb +15 -0
  126. data/lib/pinnacle/types/toll_free_campaign_summary_status.rb +14 -0
  127. data/lib/pinnacle/types/webhook_event_enum.rb +1 -0
  128. data/lib/pinnacle/types/webhook_summary.rb +14 -0
  129. data/lib/pinnacle/types/webhook_summary_status.rb +13 -0
  130. data/lib/pinnacle/types/whitelisted_number_summary.rb +12 -0
  131. data/lib/pinnacle/types/whitelisted_number_summary_status.rb +13 -0
  132. data/lib/pinnacle/version.rb +1 -1
  133. data/lib/pinnacle/webhooks/client.rb +113 -0
  134. data/lib/pinnacle/webhooks/types/attach_webhook_params.rb +15 -0
  135. data/lib/pinnacle/webhooks/types/detach_webhook_params.rb +12 -0
  136. data/lib/pinnacle/webhooks/types/list_webhooks_params.rb +14 -0
  137. data/lib/pinnacle/webhooks/types/list_webhooks_request_status.rb +15 -0
  138. data/lib/pinnacle.rb +102 -18
  139. data/reference.md +2327 -454
  140. metadata +106 -17
  141. data/lib/pinnacle/campaigns/rcs/types/rcs_use_case.rb +0 -15
  142. data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema_options.rb +0 -14
  143. data/lib/pinnacle/phone_numbers/webhook/client.rb +0 -90
  144. data/lib/pinnacle/rcs/types/rcs_whitelist_request.rb +0 -12
  145. data/lib/pinnacle/types/attach_webhook_by_id_params.rb +0 -11
  146. data/lib/pinnacle/types/attach_webhook_params.rb +0 -15
  147. data/lib/pinnacle/types/configured_webhook.rb +0 -13
  148. data/lib/pinnacle/types/create_and_attach_webhook_by_url_params.rb +0 -12
  149. data/lib/pinnacle/types/detached_webhook_info.rb +0 -11
  150. data/lib/pinnacle/types/message_with_reaction.rb +0 -11
  151. data/lib/pinnacle/types/rcs_campaign_schema_extra_use_case.rb +0 -11
  152. data/lib/pinnacle/types/rcs_campaign_schema_use_case.rb +0 -11
  153. data/lib/pinnacle/types/rcs_campaign_use_case_enum.rb +0 -43
  154. data/lib/pinnacle/types/rcs_whitelist_response.rb +0 -10
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ module AgentUseCase
6
+ extend Pinnacle::Internal::Types::Enum
7
+
8
+ TRANSACTIONAL = "TRANSACTIONAL"
9
+ PROMOTIONAL = "PROMOTIONAL"
10
+ OTP = "OTP"
11
+ MULTI_USE = "MULTI_USE"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # A website contact entry for the RCS agent's contact information.
6
+ class AgentWebsiteEntry < Internal::Types::Model
7
+ field :url, -> { String }, optional: false, nullable: false
8
+ field :label, -> { String }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -2,12 +2,11 @@
2
2
 
3
3
  module Pinnacle
4
4
  module Types
5
- # Detailed information about the attached webhook.
6
5
  class AttachWebhookResponseWebhook < Internal::Types::Model
7
6
  field :id, -> { String }, optional: false, nullable: false
8
7
  field :name, -> { String }, optional: false, nullable: false
9
8
  field :url, -> { String }, optional: false, nullable: false
10
- field :secret, -> { String }, optional: true, nullable: false
9
+ field :secret, -> { String }, optional: false, nullable: false
11
10
  end
12
11
  end
13
12
  end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class AttachWebhookResult < Internal::Types::Model
6
+ field :webhook, -> { Pinnacle::Types::AttachWebhookResponseWebhook }, optional: false, nullable: false
7
+ field :event, -> { Pinnacle::Types::WebhookEventEnum }, optional: false, nullable: true
8
+ field :senders, -> { Internal::Types::Array[String] }, optional: false, nullable: false
9
+ field :failed, -> { Internal::Types::Array[Pinnacle::Types::FailedSender] }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class AudienceSummary < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :name, -> { String }, optional: false, nullable: false
8
+ field :description, -> { String }, optional: false, nullable: false
9
+ field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
10
+ field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class BlastSummary < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :audience_id, -> { String }, optional: false, nullable: false, api_name: "audienceId"
8
+ field :type, -> { Pinnacle::Types::BlastSummaryType }, optional: false, nullable: false
9
+ field :senders, -> { Internal::Types::Array[String] }, optional: false, nullable: false
10
+ field :content, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
11
+ field :options, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: true
12
+ field :fallback, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: true
13
+ field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ module BlastSummaryType
6
+ extend Pinnacle::Internal::Types::Enum
7
+
8
+ SMS = "SMS"
9
+ MMS = "MMS"
10
+ RCS = "RCS"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ module CarrierLaunchStatus
6
+ extend Pinnacle::Internal::Types::Enum
7
+
8
+ NOT_LAUNCHED = "NOT_LAUNCHED"
9
+ PENDING = "PENDING"
10
+ LAUNCHED = "LAUNCHED"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Per-carrier launch status.
6
+ class CarrierLaunches < Internal::Types::Model
7
+ field :att, -> { Pinnacle::Types::CarrierLaunchStatus }, optional: false, nullable: false, api_name: "ATT"
8
+ field :tmobile, -> { Pinnacle::Types::CarrierLaunchStatus }, optional: false, nullable: false, api_name: "TMOBILE"
9
+ field :verizon, -> { Pinnacle::Types::CarrierLaunchStatus }, optional: false, nullable: false, api_name: "VERIZON"
10
+ field :others, -> { Pinnacle::Types::CarrierLaunchStatus }, optional: false, nullable: false, api_name: "OTHERS"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class DetachWebhookResult < Internal::Types::Model
6
+ field :webhook_id, -> { String }, optional: false, nullable: false, api_name: "webhookId"
7
+ field :senders, -> { Internal::Types::Array[String] }, optional: false, nullable: false
8
+ field :failed, -> { Internal::Types::Array[Pinnacle::Types::FailedSender] }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class DlcCampaignSummary < Internal::Types::Model
6
+ field :campaign_id, -> { String }, optional: false, nullable: false, api_name: "campaignId"
7
+ field :name, -> { String }, optional: true, nullable: false
8
+ field :status, -> { Pinnacle::Types::DlcCampaignSummaryStatus }, optional: false, nullable: false
9
+ field :brand_id, -> { String }, optional: true, nullable: false, api_name: "brandId"
10
+ field :use_case, -> { String }, optional: true, nullable: false, api_name: "useCase"
11
+ field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
12
+ field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt"
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ module DlcCampaignSummaryStatus
6
+ extend Pinnacle::Internal::Types::Enum
7
+
8
+ INCOMPLETE = "INCOMPLETE"
9
+ IN_REVIEW = "IN REVIEW"
10
+ VERIFIED = "VERIFIED"
11
+ FAILED = "FAILED"
12
+ end
13
+ end
14
+ end
@@ -10,15 +10,12 @@ module Pinnacle
10
10
  field :expected_agent_responses, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "expectedAgentResponses"
11
11
  field :links, -> { Pinnacle::Types::RcsCampaignSchemaExtraLinks }, optional: true, nullable: false
12
12
  field :status, -> { Pinnacle::Types::ProfileStatusEnum }, optional: false, nullable: false
13
- field :use_case, -> { Pinnacle::Types::RcsCampaignSchemaExtraUseCase }, optional: true, nullable: false, api_name: "useCase"
14
- field :opt_in_terms_and_conditions, -> { String }, optional: true, nullable: false, api_name: "optInTermsAndConditions"
13
+ field :use_case_description, -> { String }, optional: true, nullable: false, api_name: "useCaseDescription"
15
14
  field :messaging_type, -> { Pinnacle::Types::RcsMessagingTypeEnum }, optional: true, nullable: false, api_name: "messagingType"
16
- field :carrier_description, -> { String }, optional: true, nullable: false, api_name: "carrierDescription"
15
+ field :cta_media, -> { String }, optional: true, nullable: false, api_name: "ctaMedia"
16
+ field :opt_in_method, -> { String }, optional: true, nullable: false, api_name: "optInMethod"
17
17
  field :keywords, -> { Pinnacle::Types::RcsCampaignSchemaExtraKeywords }, optional: true, nullable: false
18
18
  field :traffic, -> { Pinnacle::Types::RcsCampaignSchemaExtraTraffic }, optional: true, nullable: false
19
- field :agent_triggers, -> { String }, optional: true, nullable: false, api_name: "agentTriggers"
20
- field :interaction_description, -> { String }, optional: true, nullable: false, api_name: "interactionDescription"
21
- field :is_conversational, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isConversational"
22
19
  field :cta_language, -> { String }, optional: true, nullable: false, api_name: "ctaLanguage"
23
20
  field :demo_trigger, -> { String }, optional: true, nullable: false, api_name: "demoTrigger"
24
21
  end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class FailedSender < Internal::Types::Model
6
+ field :sender, -> { String }, optional: false, nullable: false
7
+ field :error, -> { String }, optional: false, nullable: false
8
+ end
9
+ end
10
+ end
@@ -4,12 +4,14 @@ module Pinnacle
4
4
  module Types
5
5
  # SMS/MMS fallback message to send if the RCS message fails to deliver.
6
6
  #
7
- # When a recipient's device doesn't support RCS or the RCS message cannot be delivered, this fallback message will
8
- # be sent as SMS or MMS instead. The fallback is sent from the specified phone number.
7
+ # When a recipient's device doesn't support RCS, this fallback message will be sent as SMS or MMS instead. The
8
+ # fallback is sent from the specified phone number.
9
9
  #
10
10
  # > **Note:** At least one of `text` or `mediaUrls` must be provided. Fallback messages require a verified `from`
11
11
  # phone number with SMS/MMS sending capabilities.
12
- # > **Note:** You will not be charged for the fallback message, only the original RCS message will be charged.
12
+ #
13
+ # > **Billing:** You will be charged the standard SMS or MMS rate for the fallback message. The original RCS message
14
+ # will not be charged if the fallback is sent instead.
13
15
  class FallbackMessage < Internal::Types::Model
14
16
  field :from, -> { String }, optional: false, nullable: false
15
17
  field :text, -> { String }, optional: true, nullable: false
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class LinkSummary < Internal::Types::Model
6
+ field :from, -> { String }, optional: false, nullable: false
7
+ field :to, -> { String }, optional: false, nullable: false
8
+ field :expires_at, -> { String }, optional: true, nullable: false, api_name: "expiresAt"
9
+ field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class ListAgentsResponse < Internal::Types::Model
6
+ field :data, -> { Internal::Types::Array[Pinnacle::Types::AgentSummary] }, optional: false, nullable: false
7
+ field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
8
+ field :count, -> { Integer }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class ListAudiencesResponse < Internal::Types::Model
6
+ field :data, -> { Internal::Types::Array[Pinnacle::Types::AudienceSummary] }, optional: false, nullable: false
7
+ field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
8
+ field :count, -> { Integer }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class ListBlastsResponse < Internal::Types::Model
6
+ field :data, -> { Internal::Types::Array[Pinnacle::Types::BlastSummary] }, optional: false, nullable: false
7
+ field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
8
+ field :count, -> { Integer }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class ListBrandsResponse < Internal::Types::Model
6
+ field :data, -> { Internal::Types::Array[Pinnacle::Types::ExtendedBrand] }, optional: false, nullable: false
7
+ field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
8
+ field :count, -> { Integer }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class ListContactsResponse < Internal::Types::Model
6
+ field :data, -> { Internal::Types::Array[Pinnacle::Types::Contact] }, optional: false, nullable: false
7
+ field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
8
+ field :count, -> { Integer }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class ListDlcCampaignsResponse < Internal::Types::Model
6
+ field :data, -> { Internal::Types::Array[Pinnacle::Types::DlcCampaignSummary] }, optional: false, nullable: false
7
+ field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
8
+ field :count, -> { Integer }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class ListLinksResponse < Internal::Types::Model
6
+ field :data, -> { Internal::Types::Array[Pinnacle::Types::LinkSummary] }, optional: false, nullable: false
7
+ field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
8
+ field :count, -> { Integer }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class ListMessagesResponse < Internal::Types::Model
6
+ field :data, -> { Internal::Types::Array[Pinnacle::Types::MessageSummary] }, optional: false, nullable: false
7
+ field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
8
+ field :count, -> { Integer }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class ListPhoneNumbersResponse < Internal::Types::Model
6
+ field :data, -> { Internal::Types::Array[Pinnacle::Types::OwnedPhoneNumber] }, optional: false, nullable: false
7
+ field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
8
+ field :count, -> { Integer }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class ListRcsCampaignsResponse < Internal::Types::Model
6
+ field :data, -> { Internal::Types::Array[Pinnacle::Types::RcsCampaignSummary] }, optional: false, nullable: false
7
+ field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
8
+ field :count, -> { Integer }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class ListScheduledMessagesResponse < Internal::Types::Model
6
+ field :data, -> { Internal::Types::Array[Pinnacle::Types::ScheduledMessageSummary] }, optional: false, nullable: false
7
+ field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
8
+ field :count, -> { Integer }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class ListTestNumbersResponse < Internal::Types::Model
6
+ field :data, -> { Internal::Types::Array[Pinnacle::Types::WhitelistedNumberSummary] }, optional: false, nullable: false
7
+ field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
8
+ field :count, -> { Integer }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class ListTollFreeCampaignsResponse < Internal::Types::Model
6
+ field :data, -> { Internal::Types::Array[Pinnacle::Types::TollFreeCampaignSummary] }, optional: false, nullable: false
7
+ field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
8
+ field :count, -> { Integer }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class ListWebhooksResponse < Internal::Types::Model
6
+ field :data, -> { Internal::Types::Array[Pinnacle::Types::WebhookSummary] }, optional: false, nullable: false
7
+ field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
8
+ field :count, -> { Integer }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -7,7 +7,6 @@ module Pinnacle
7
7
  field :cost, -> { Integer }, optional: false, nullable: true
8
8
  field :delivered_at, -> { String }, optional: false, nullable: true, api_name: "deliveredAt"
9
9
  field :error, -> { String }, optional: false, nullable: true
10
- field :fallback, -> { Pinnacle::Types::FallbackMessage }, optional: true, nullable: false
11
10
  field :id, -> { String }, optional: false, nullable: false
12
11
  field :method_, -> { Pinnacle::Types::MessageMethodEnum }, optional: false, nullable: false, api_name: "method"
13
12
  field :num_segments, -> { Integer }, optional: false, nullable: false, api_name: "numSegments"
@@ -9,9 +9,10 @@ module Pinnacle
9
9
  field :status, -> { Pinnacle::Types::MessageStatusEnum }, optional: false, nullable: false
10
10
  field :direction, -> { Pinnacle::Types::MessageEventDirection }, optional: false, nullable: false
11
11
  field :segments, -> { Integer }, optional: false, nullable: false
12
- field :sent_at, -> { String }, optional: false, nullable: false, api_name: "sentAt"
12
+ field :sent_at, -> { String }, optional: false, nullable: true, api_name: "sentAt"
13
13
  field :delivered_at, -> { String }, optional: true, nullable: false, api_name: "deliveredAt"
14
14
  field :message, -> { Pinnacle::Types::MessageEventContent }, optional: false, nullable: false
15
+ field :original_message_id, -> { String }, optional: true, nullable: false, api_name: "originalMessageId"
15
16
  field :fallback_message, -> { Pinnacle::Types::MessageEventFallbackMessage }, optional: true, nullable: false, api_name: "fallbackMessage"
16
17
  end
17
18
  end
@@ -2,14 +2,14 @@
2
2
 
3
3
  module Pinnacle
4
4
  module Types
5
- # Details of the fallback SMS/MMS message that was sent instead of the original RCS message.
5
+ # Details of the fallback SMS/MMS message(s) that were actually sent to the recipient instead of the original RCS
6
+ # message.
6
7
  #
7
- # This field is only present when the message `status` is `FALLBACK_SENT`, indicating the original RCS message could
8
- # not be delivered and a fallback message was sent instead.
9
- #
10
- # Use this information to track which fallback messages were sent and their content.
8
+ # Only present when the message `status` is `FALLBACK_SENT`. The `message.id` on this event refers to the original
9
+ # RCS message that could not be delivered. The `fallbackMessage.ids` contain the identifiers of the actual SMS/MMS
10
+ # messages that were sent.
11
11
  class MessageEventFallbackMessage < Internal::Types::Model
12
- field :id, -> { String }, optional: false, nullable: false
12
+ field :ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
13
13
  field :type, -> { Pinnacle::Types::MessageEventFallbackMessageType }, optional: false, nullable: false
14
14
  field :from, -> { String }, optional: false, nullable: false
15
15
  field :to, -> { String }, optional: false, nullable: false
@@ -4,7 +4,7 @@ module Pinnacle
4
4
  module Types
5
5
  # Paginated list of messages in a conversation.
6
6
  class MessageList < Internal::Types::Model
7
- field :messages, -> { Internal::Types::Array[Pinnacle::Types::MessageWithReaction] }, optional: false, nullable: false
7
+ field :messages, -> { Internal::Types::Array[Pinnacle::Types::MessageWithReactions] }, optional: false, nullable: false
8
8
  field :has_more, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "hasMore"
9
9
  field :count, -> { Integer }, optional: false, nullable: false
10
10
  end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class MessageSummary < Internal::Types::Model
6
+ field :id, -> { String }, optional: false, nullable: false
7
+ field :status, -> { Pinnacle::Types::MessageSummaryStatus }, optional: false, nullable: false
8
+ field :direction, -> { Pinnacle::Types::MessageSummaryDirection }, optional: false, nullable: false
9
+ field :type, -> { Pinnacle::Types::MessageSummaryType }, optional: false, nullable: false
10
+ field :method_, -> { Pinnacle::Types::MessageSummaryMethod }, optional: false, nullable: false, api_name: "method"
11
+ field :num_segments, -> { Integer }, optional: false, nullable: false, api_name: "numSegments"
12
+ field :cost, -> { Integer }, optional: false, nullable: true
13
+ field :from, -> { String }, optional: false, nullable: true
14
+ field :to, -> { String }, optional: false, nullable: true
15
+ field :content, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
16
+ field :error, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: true
17
+ field :is_test, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isTest"
18
+ field :blast_id, -> { String }, optional: false, nullable: true, api_name: "blastId"
19
+ field :sent_at, -> { String }, optional: false, nullable: true, api_name: "sentAt"
20
+ field :delivered_at, -> { String }, optional: false, nullable: true, api_name: "deliveredAt"
21
+ field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
22
+ field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt"
23
+ end
24
+ end
25
+ end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Pinnacle
4
4
  module Types
5
- module MessageWithReactionDirection
5
+ module MessageSummaryDirection
6
6
  extend Pinnacle::Internal::Types::Enum
7
7
 
8
8
  INBOUND = "INBOUND"
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ module MessageSummaryMethod
6
+ extend Pinnacle::Internal::Types::Enum
7
+
8
+ API = "API"
9
+ SDK = "SDK"
10
+ OTHER = "OTHER"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ module MessageSummaryStatus
6
+ extend Pinnacle::Internal::Types::Enum
7
+
8
+ PENDING = "PENDING"
9
+ SENT = "SENT"
10
+ SEND_FAILED = "SEND_FAILED"
11
+ DELIVERED = "DELIVERED"
12
+ DELIVERY_FAILED = "DELIVERY_FAILED"
13
+ RECEIVED = "RECEIVED"
14
+ READ = "READ"
15
+ QUEUED = "QUEUED"
16
+ FALLBACK_SENT = "FALLBACK_SENT"
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ module MessageSummaryType
6
+ extend Pinnacle::Internal::Types::Enum
7
+
8
+ SMS = "SMS"
9
+ MMS = "MMS"
10
+ RCS = "RCS"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # Message with additional conversation-specific fields including direction and reactions.
6
+ class MessageWithReactions < Internal::Types::Model
7
+ field :direction, -> { Pinnacle::Types::MessageWithReactionsDirection }, optional: false, nullable: false
8
+ field :reactions, -> { Internal::Types::Array[String] }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ module MessageWithReactionsDirection
6
+ extend Pinnacle::Internal::Types::Enum
7
+
8
+ INBOUND = "INBOUND"
9
+ OUTBOUND = "OUTBOUND"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ class OwnedPhoneNumber < Internal::Types::Model
6
+ field :number, -> { String }, optional: false, nullable: false
7
+ field :sms, -> { Internal::Types::Boolean }, optional: false, nullable: false
8
+ field :mms, -> { Internal::Types::Boolean }, optional: false, nullable: false
9
+ field :voice, -> { Internal::Types::Boolean }, optional: false, nullable: false
10
+ field :is_sandbox, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "isSandbox"
11
+ field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pinnacle
4
+ module Types
5
+ # The configuration details of an RCS agent, as returned by the GET endpoint.
6
+ class RcsAgentDetails < Internal::Types::Model
7
+ field :name, -> { String }, optional: true, nullable: false
8
+ field :description, -> { String }, optional: true, nullable: false
9
+ field :icon_url, -> { String }, optional: true, nullable: false, api_name: "iconUrl"
10
+ field :hero_url, -> { String }, optional: true, nullable: false, api_name: "heroUrl"
11
+ field :color, -> { String }, optional: true, nullable: false
12
+ field :phones, -> { Internal::Types::Array[Pinnacle::Types::RcsAgentDetailsPhonesItem] }, optional: true, nullable: false
13
+ field :emails, -> { Internal::Types::Array[Pinnacle::Types::RcsAgentDetailsEmailsItem] }, optional: true, nullable: false
14
+ field :websites, -> { Internal::Types::Array[Pinnacle::Types::RcsAgentDetailsWebsitesItem] }, optional: true, nullable: false
15
+ field :privacy_url, -> { String }, optional: true, nullable: false, api_name: "privacyUrl"
16
+ field :terms_url, -> { String }, optional: true, nullable: false, api_name: "termsUrl"
17
+ field :is_conversational, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isConversational"
18
+ field :agent_use_case, -> { Pinnacle::Types::RcsAgentDetailsAgentUseCase }, optional: true, nullable: false, api_name: "agentUseCase"
19
+ end
20
+ end
21
+ end