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.
- checksums.yaml +4 -4
- data/.fern/metadata.json +2 -2
- data/.fernignore +2 -1
- data/lib/pinnacle/audiences/client.rb +34 -0
- data/lib/pinnacle/audiences/types/list_audiences_params.rb +13 -0
- data/lib/pinnacle/brands/client.rb +34 -0
- data/lib/pinnacle/brands/types/list_brands_params.rb +15 -0
- data/lib/pinnacle/brands/types/list_brands_request_status.rb +18 -0
- data/lib/pinnacle/campaigns/dlc/client.rb +35 -0
- data/lib/pinnacle/campaigns/dlc/types/list_dlc_campaigns_params.rb +17 -0
- data/lib/pinnacle/campaigns/dlc/types/list_dlc_campaigns_request_status.rb +18 -0
- data/lib/pinnacle/campaigns/rcs/client.rb +35 -0
- data/lib/pinnacle/campaigns/rcs/types/list_rcs_campaigns_params.rb +17 -0
- data/lib/pinnacle/campaigns/rcs/types/list_rcs_campaigns_request_status.rb +18 -0
- data/lib/pinnacle/campaigns/rcs/types/upsert_rcs_campaign_params.rb +3 -6
- data/lib/pinnacle/campaigns/toll_free/client.rb +35 -0
- data/lib/pinnacle/campaigns/toll_free/types/list_toll_free_campaigns_params.rb +17 -0
- data/lib/pinnacle/campaigns/toll_free/types/list_toll_free_campaigns_request_status.rb +18 -0
- data/lib/pinnacle/client.rb +1 -1
- data/lib/pinnacle/contacts/client.rb +34 -0
- data/lib/pinnacle/contacts/types/list_contacts_params.rb +16 -0
- data/lib/pinnacle/internal/types/boolean.rb +1 -1
- data/lib/pinnacle/internal/types/utils.rb +2 -2
- data/lib/pinnacle/messages/blasts/client.rb +50 -0
- data/lib/pinnacle/messages/blasts/types/list_blasts_params.rb +17 -0
- data/lib/pinnacle/messages/client.rb +44 -0
- data/lib/pinnacle/messages/rcs/types/send_rich_message_response.rb +2 -0
- data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema.rb +0 -1
- data/lib/pinnacle/messages/schedules/client.rb +51 -0
- data/lib/pinnacle/messages/schedules/types/list_scheduled_messages_params.rb +17 -0
- data/lib/pinnacle/messages/schedules/types/list_scheduled_messages_request_schedule_type.rb +16 -0
- data/lib/pinnacle/messages/schedules/types/list_scheduled_messages_request_status.rb +17 -0
- data/lib/pinnacle/messages/types/list_messages_params.rb +21 -0
- data/lib/pinnacle/messages/types/list_messages_request_direction.rb +14 -0
- data/lib/pinnacle/messages/types/list_messages_request_method.rb +15 -0
- data/lib/pinnacle/messages/types/list_messages_request_status.rb +21 -0
- data/lib/pinnacle/messages/types/list_messages_request_type.rb +15 -0
- data/lib/pinnacle/phone_numbers/client.rb +32 -3
- data/lib/pinnacle/phone_numbers/types/list_phone_numbers_params.rb +12 -0
- data/lib/pinnacle/rcs/agents/client.rb +50 -0
- data/lib/pinnacle/rcs/agents/types/list_agents_params.rb +16 -0
- data/lib/pinnacle/rcs/agents/types/list_agents_request_agent_type.rb +16 -0
- data/lib/pinnacle/rcs/client.rb +34 -44
- data/lib/pinnacle/rcs/test/client.rb +275 -0
- data/lib/pinnacle/rcs/test/types/create_test_agent_request.rb +24 -0
- data/lib/pinnacle/rcs/test/types/test_agent_whitelist_request.rb +14 -0
- data/lib/pinnacle/rcs/test/types/test_get_whitelist_status_request.rb +14 -0
- data/lib/pinnacle/rcs/test/types/update_test_agent_request.rb +25 -0
- data/lib/pinnacle/rcs/types/rcs_capabilities_query.rb +1 -0
- data/lib/pinnacle/rcs/types/rcs_link_request.rb +0 -1
- data/lib/pinnacle/rcs/whitelisted_numbers/client.rb +51 -0
- data/lib/pinnacle/rcs/whitelisted_numbers/types/list_test_numbers_params.rb +17 -0
- data/lib/pinnacle/rcs/whitelisted_numbers/types/list_test_numbers_request_status.rb +17 -0
- data/lib/pinnacle/tools/url/client.rb +34 -0
- data/lib/pinnacle/tools/url/types/list_links_params.rb +15 -0
- data/lib/pinnacle/types/agent_email_entry.rb +11 -0
- data/lib/pinnacle/types/agent_phone_entry.rb +11 -0
- data/lib/pinnacle/types/agent_summary.rb +15 -0
- data/lib/pinnacle/types/agent_summary_agent_type.rb +12 -0
- data/lib/pinnacle/types/agent_summary_carrier_launches.rb +13 -0
- data/lib/pinnacle/types/agent_summary_config.rb +21 -0
- data/lib/pinnacle/types/agent_summary_config_agent_use_case.rb +14 -0
- data/lib/pinnacle/types/agent_summary_config_emails_item.rb +10 -0
- data/lib/pinnacle/types/agent_summary_config_phones_item.rb +10 -0
- data/lib/pinnacle/types/agent_summary_config_websites_item.rb +10 -0
- data/lib/pinnacle/types/agent_use_case.rb +14 -0
- data/lib/pinnacle/types/agent_website_entry.rb +11 -0
- data/lib/pinnacle/types/attach_webhook_response_webhook.rb +1 -2
- data/lib/pinnacle/types/attach_webhook_result.rb +12 -0
- data/lib/pinnacle/types/audience_summary.rb +13 -0
- data/lib/pinnacle/types/blast_summary.rb +16 -0
- data/lib/pinnacle/types/blast_summary_type.rb +13 -0
- data/lib/pinnacle/types/carrier_launch_status.rb +13 -0
- data/lib/pinnacle/types/carrier_launches.rb +13 -0
- data/lib/pinnacle/types/detach_webhook_result.rb +11 -0
- data/lib/pinnacle/types/dlc_campaign_summary.rb +15 -0
- data/lib/pinnacle/types/dlc_campaign_summary_status.rb +14 -0
- data/lib/pinnacle/types/extended_rcs_campaign.rb +3 -6
- data/lib/pinnacle/types/failed_sender.rb +10 -0
- data/lib/pinnacle/types/fallback_message.rb +5 -3
- data/lib/pinnacle/types/link_summary.rb +12 -0
- data/lib/pinnacle/types/list_agents_response.rb +11 -0
- data/lib/pinnacle/types/list_audiences_response.rb +11 -0
- data/lib/pinnacle/types/list_blasts_response.rb +11 -0
- data/lib/pinnacle/types/list_brands_response.rb +11 -0
- data/lib/pinnacle/types/list_contacts_response.rb +11 -0
- data/lib/pinnacle/types/list_dlc_campaigns_response.rb +11 -0
- data/lib/pinnacle/types/list_links_response.rb +11 -0
- data/lib/pinnacle/types/list_messages_response.rb +11 -0
- data/lib/pinnacle/types/list_phone_numbers_response.rb +11 -0
- data/lib/pinnacle/types/list_rcs_campaigns_response.rb +11 -0
- data/lib/pinnacle/types/list_scheduled_messages_response.rb +11 -0
- data/lib/pinnacle/types/list_test_numbers_response.rb +11 -0
- data/lib/pinnacle/types/list_toll_free_campaigns_response.rb +11 -0
- data/lib/pinnacle/types/list_webhooks_response.rb +11 -0
- data/lib/pinnacle/types/message.rb +0 -1
- data/lib/pinnacle/types/message_event.rb +2 -1
- data/lib/pinnacle/types/message_event_fallback_message.rb +6 -6
- data/lib/pinnacle/types/message_list.rb +1 -1
- data/lib/pinnacle/types/message_summary.rb +25 -0
- data/lib/pinnacle/types/{message_with_reaction_direction.rb → message_summary_direction.rb} +1 -1
- data/lib/pinnacle/types/message_summary_method.rb +13 -0
- data/lib/pinnacle/types/message_summary_status.rb +19 -0
- data/lib/pinnacle/types/message_summary_type.rb +13 -0
- data/lib/pinnacle/types/message_with_reactions.rb +11 -0
- data/lib/pinnacle/types/message_with_reactions_direction.rb +12 -0
- data/lib/pinnacle/types/owned_phone_number.rb +14 -0
- data/lib/pinnacle/types/rcs_agent_details.rb +21 -0
- data/lib/pinnacle/types/rcs_agent_details_agent_use_case.rb +14 -0
- data/lib/pinnacle/types/rcs_agent_details_emails_item.rb +10 -0
- data/lib/pinnacle/types/rcs_agent_details_phones_item.rb +10 -0
- data/lib/pinnacle/types/rcs_agent_details_websites_item.rb +10 -0
- data/lib/pinnacle/types/rcs_agent_response.rb +14 -0
- data/lib/pinnacle/types/rcs_campaign.rb +3 -6
- data/lib/pinnacle/types/rcs_campaign_summary.rb +15 -0
- data/lib/pinnacle/types/rcs_campaign_summary_status.rb +14 -0
- data/lib/pinnacle/types/rcs_whitelist_status.rb +13 -0
- data/lib/pinnacle/types/scheduled_message_summary.rb +17 -0
- data/lib/pinnacle/types/scheduled_message_summary_status.rb +13 -0
- data/lib/pinnacle/types/send_rich_message_options.rb +0 -1
- data/lib/pinnacle/types/sent_rich_message_fallback_mms.rb +13 -0
- data/lib/pinnacle/types/sent_rich_message_fallback_sms.rb +13 -0
- data/lib/pinnacle/types/test_agent_response.rb +13 -0
- data/lib/pinnacle/types/test_agent_whitelist_response.rb +10 -0
- data/lib/pinnacle/types/toll_free_campaign_summary.rb +15 -0
- data/lib/pinnacle/types/toll_free_campaign_summary_status.rb +14 -0
- data/lib/pinnacle/types/webhook_event_enum.rb +1 -0
- data/lib/pinnacle/types/webhook_summary.rb +14 -0
- data/lib/pinnacle/types/webhook_summary_status.rb +13 -0
- data/lib/pinnacle/types/whitelisted_number_summary.rb +12 -0
- data/lib/pinnacle/types/whitelisted_number_summary_status.rb +13 -0
- data/lib/pinnacle/version.rb +1 -1
- data/lib/pinnacle/webhooks/client.rb +113 -0
- data/lib/pinnacle/webhooks/types/attach_webhook_params.rb +15 -0
- data/lib/pinnacle/webhooks/types/detach_webhook_params.rb +12 -0
- data/lib/pinnacle/webhooks/types/list_webhooks_params.rb +14 -0
- data/lib/pinnacle/webhooks/types/list_webhooks_request_status.rb +15 -0
- data/lib/pinnacle.rb +102 -18
- data/reference.md +2327 -454
- metadata +106 -17
- data/lib/pinnacle/campaigns/rcs/types/rcs_use_case.rb +0 -15
- data/lib/pinnacle/messages/rcs/types/send_typing_indicator_schema_options.rb +0 -14
- data/lib/pinnacle/phone_numbers/webhook/client.rb +0 -90
- data/lib/pinnacle/rcs/types/rcs_whitelist_request.rb +0 -12
- data/lib/pinnacle/types/attach_webhook_by_id_params.rb +0 -11
- data/lib/pinnacle/types/attach_webhook_params.rb +0 -15
- data/lib/pinnacle/types/configured_webhook.rb +0 -13
- data/lib/pinnacle/types/create_and_attach_webhook_by_url_params.rb +0 -12
- data/lib/pinnacle/types/detached_webhook_info.rb +0 -11
- data/lib/pinnacle/types/message_with_reaction.rb +0 -11
- data/lib/pinnacle/types/rcs_campaign_schema_extra_use_case.rb +0 -11
- data/lib/pinnacle/types/rcs_campaign_schema_use_case.rb +0 -11
- data/lib/pinnacle/types/rcs_campaign_use_case_enum.rb +0 -43
- 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 RcsAgentDetailsAgentUseCase
|
|
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,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Types
|
|
5
|
+
class RcsAgentDetailsEmailsItem < Internal::Types::Model
|
|
6
|
+
field :email, -> { String }, optional: true, nullable: false
|
|
7
|
+
field :label, -> { String }, optional: true, nullable: false
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Types
|
|
5
|
+
class RcsAgentDetailsPhonesItem < Internal::Types::Model
|
|
6
|
+
field :phone, -> { String }, optional: true, nullable: false
|
|
7
|
+
field :label, -> { String }, optional: true, nullable: false
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Types
|
|
5
|
+
class RcsAgentDetailsWebsitesItem < Internal::Types::Model
|
|
6
|
+
field :url, -> { String }, optional: true, nullable: false
|
|
7
|
+
field :label, -> { String }, optional: true, nullable: false
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Types
|
|
5
|
+
# Response containing details of an RCS agent.
|
|
6
|
+
class RcsAgentResponse < Internal::Types::Model
|
|
7
|
+
field :id, -> { String }, optional: false, nullable: false
|
|
8
|
+
field :type, -> { String }, optional: false, nullable: false
|
|
9
|
+
field :service_id, -> { String }, optional: false, nullable: false, api_name: "serviceId"
|
|
10
|
+
field :carrier_launches, -> { Pinnacle::Types::CarrierLaunches }, optional: false, nullable: false, api_name: "carrierLaunches"
|
|
11
|
+
field :details, -> { Pinnacle::Types::RcsAgentDetails }, optional: false, nullable: false
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -7,15 +7,12 @@ module Pinnacle
|
|
|
7
7
|
field :campaign_id, -> { String }, optional: true, nullable: false, api_name: "campaignId"
|
|
8
8
|
field :expected_agent_responses, -> { Internal::Types::Array[String] }, optional: true, nullable: false, api_name: "expectedAgentResponses"
|
|
9
9
|
field :links, -> { Pinnacle::Types::RcsCampaignSchemaLinks }, optional: true, nullable: false
|
|
10
|
-
field :
|
|
11
|
-
field :opt_in_terms_and_conditions, -> { String }, optional: true, nullable: false, api_name: "optInTermsAndConditions"
|
|
10
|
+
field :use_case_description, -> { String }, optional: true, nullable: false, api_name: "useCaseDescription"
|
|
12
11
|
field :messaging_type, -> { Pinnacle::Types::RcsMessagingTypeEnum }, optional: true, nullable: false, api_name: "messagingType"
|
|
13
|
-
field :
|
|
12
|
+
field :cta_media, -> { String }, optional: true, nullable: false, api_name: "ctaMedia"
|
|
13
|
+
field :opt_in_method, -> { String }, optional: true, nullable: false, api_name: "optInMethod"
|
|
14
14
|
field :keywords, -> { Pinnacle::Types::RcsCampaignSchemaKeywords }, optional: true, nullable: false
|
|
15
15
|
field :traffic, -> { Pinnacle::Types::RcsCampaignSchemaTraffic }, optional: true, nullable: false
|
|
16
|
-
field :agent_triggers, -> { String }, optional: true, nullable: false, api_name: "agentTriggers"
|
|
17
|
-
field :interaction_description, -> { String }, optional: true, nullable: false, api_name: "interactionDescription"
|
|
18
|
-
field :is_conversational, -> { Internal::Types::Boolean }, optional: true, nullable: false, api_name: "isConversational"
|
|
19
16
|
field :cta_language, -> { String }, optional: true, nullable: false, api_name: "ctaLanguage"
|
|
20
17
|
field :demo_trigger, -> { String }, optional: true, nullable: false, api_name: "demoTrigger"
|
|
21
18
|
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Types
|
|
5
|
+
class RcsCampaignSummary < 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::RcsCampaignSummaryStatus }, optional: false, nullable: false
|
|
9
|
+
field :brand_id, -> { String }, optional: true, nullable: false, api_name: "brandId"
|
|
10
|
+
field :agent_id, -> { String }, optional: true, nullable: false, api_name: "agentId"
|
|
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 RcsCampaignSummaryStatus
|
|
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
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Types
|
|
5
|
+
class ScheduledMessageSummary < Internal::Types::Model
|
|
6
|
+
field :id, -> { String }, optional: false, nullable: false
|
|
7
|
+
field :send_at, -> { String }, optional: false, nullable: true, api_name: "sendAt"
|
|
8
|
+
field :status, -> { Pinnacle::Types::ScheduledMessageSummaryStatus }, optional: false, nullable: false
|
|
9
|
+
field :recurrence, -> { String }, optional: false, nullable: true
|
|
10
|
+
field :timezone, -> { String }, optional: false, nullable: true
|
|
11
|
+
field :end_date, -> { String }, optional: false, nullable: true, api_name: "endDate"
|
|
12
|
+
field :payload, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
|
|
13
|
+
field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
|
|
14
|
+
field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt"
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -5,7 +5,6 @@ module Pinnacle
|
|
|
5
5
|
# Configure how your RCS message is sent and tracked.
|
|
6
6
|
class SendRichMessageOptions < Internal::Types::Model
|
|
7
7
|
field :schedule, -> { Pinnacle::Types::MessageSchedule }, optional: true, nullable: false
|
|
8
|
-
field :test_mode, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
9
8
|
field :tracking, -> { Pinnacle::Types::Tracking }, optional: true, nullable: false
|
|
10
9
|
field :transcode, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
11
10
|
field :validate, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Types
|
|
5
|
+
# Returned when a fallback is configured and the recipient does not support RCS. The API checks RCS capabilities at
|
|
6
|
+
# send time. If the recipient's device doesn't support RCS, the fallback MMS is sent instead. You will also receive
|
|
7
|
+
# a `FALLBACK_SENT` webhook event for the original RCS message.
|
|
8
|
+
class SentRichMessageFallbackMms < Internal::Types::Model
|
|
9
|
+
field :fallback_sent, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "fallbackSent"
|
|
10
|
+
field :original_message_id, -> { String }, optional: false, nullable: false, api_name: "originalMessageId"
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Types
|
|
5
|
+
# Returned when a fallback is configured and the recipient does not support RCS. The API checks RCS capabilities at
|
|
6
|
+
# send time. If the recipient's device doesn't support RCS, the fallback SMS is sent instead. You will also receive
|
|
7
|
+
# a `FALLBACK_SENT` webhook event for the original RCS message.
|
|
8
|
+
class SentRichMessageFallbackSms < Internal::Types::Model
|
|
9
|
+
field :fallback_sent, -> { Internal::Types::Boolean }, optional: false, nullable: false, api_name: "fallbackSent"
|
|
10
|
+
field :original_message_id, -> { String }, optional: false, nullable: false, api_name: "originalMessageId"
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Types
|
|
5
|
+
# Response returned after creating or updating a test agent.
|
|
6
|
+
class TestAgentResponse < Internal::Types::Model
|
|
7
|
+
field :id, -> { String }, optional: false, nullable: false
|
|
8
|
+
field :type, -> { String }, optional: false, nullable: false
|
|
9
|
+
field :service_id, -> { String }, optional: false, nullable: false, api_name: "serviceId"
|
|
10
|
+
field :details, -> { Pinnacle::Types::RcsAgentDetails }, optional: false, nullable: false
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Types
|
|
5
|
+
# Response containing the whitelist status of a phone number.
|
|
6
|
+
class TestAgentWhitelistResponse < Internal::Types::Model
|
|
7
|
+
field :status, -> { Pinnacle::Types::RcsWhitelistStatus }, optional: false, nullable: false
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Types
|
|
5
|
+
class TollFreeCampaignSummary < 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::TollFreeCampaignSummaryStatus }, 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 TollFreeCampaignSummaryStatus
|
|
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
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Types
|
|
5
|
+
class WebhookSummary < Internal::Types::Model
|
|
6
|
+
field :id, -> { String }, optional: false, nullable: false
|
|
7
|
+
field :name, -> { String }, optional: false, nullable: false
|
|
8
|
+
field :endpoint, -> { String }, optional: false, nullable: false
|
|
9
|
+
field :status, -> { Pinnacle::Types::WebhookSummaryStatus }, optional: false, nullable: false
|
|
10
|
+
field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
|
|
11
|
+
field :updated_at, -> { String }, optional: false, nullable: false, api_name: "updatedAt"
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Types
|
|
5
|
+
class WhitelistedNumberSummary < Internal::Types::Model
|
|
6
|
+
field :number, -> { String }, optional: false, nullable: false
|
|
7
|
+
field :status, -> { Pinnacle::Types::WhitelistedNumberSummaryStatus }, optional: false, nullable: false
|
|
8
|
+
field :agent_id, -> { String }, optional: false, nullable: false, api_name: "agentId"
|
|
9
|
+
field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
data/lib/pinnacle/version.rb
CHANGED
|
@@ -43,6 +43,119 @@ module Pinnacle
|
|
|
43
43
|
raise error_class.new(response.body, code: code)
|
|
44
44
|
end
|
|
45
45
|
end
|
|
46
|
+
|
|
47
|
+
# List all webhooks with optional filtering and pagination. Results are sorted by creation date, newest first.
|
|
48
|
+
#
|
|
49
|
+
# @param request_options [Hash]
|
|
50
|
+
# @param params [Pinnacle::Webhooks::Types::ListWebhooksParams]
|
|
51
|
+
# @option request_options [String] :base_url
|
|
52
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
53
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
54
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
55
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
56
|
+
#
|
|
57
|
+
# @return [Pinnacle::Types::ListWebhooksResponse]
|
|
58
|
+
def list(request_options: {}, **params)
|
|
59
|
+
params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
|
|
60
|
+
request = Pinnacle::Internal::JSON::Request.new(
|
|
61
|
+
base_url: request_options[:base_url],
|
|
62
|
+
method: "POST",
|
|
63
|
+
path: "webhooks/list",
|
|
64
|
+
body: Pinnacle::Webhooks::Types::ListWebhooksParams.new(params).to_h,
|
|
65
|
+
request_options: request_options
|
|
66
|
+
)
|
|
67
|
+
begin
|
|
68
|
+
response = @client.send(request)
|
|
69
|
+
rescue Net::HTTPRequestTimeout
|
|
70
|
+
raise Pinnacle::Errors::TimeoutError
|
|
71
|
+
end
|
|
72
|
+
code = response.code.to_i
|
|
73
|
+
if code.between?(200, 299)
|
|
74
|
+
Pinnacle::Types::ListWebhooksResponse.load(response.body)
|
|
75
|
+
else
|
|
76
|
+
error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
|
|
77
|
+
raise error_class.new(response.body, code: code)
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Attach a webhook to one or more senders (phone numbers or RCS agent IDs) to receive real-time event
|
|
82
|
+
# notifications. <br>
|
|
83
|
+
#
|
|
84
|
+
# You can attach an existing webhook by providing its ID, or create a new webhook by specifying a name and URL.
|
|
85
|
+
# Supports bulk operations with up to 50 senders per request. <br>
|
|
86
|
+
#
|
|
87
|
+
# Subscriptions are additive — attaching new senders does not remove existing ones. Re-attaching the same sender
|
|
88
|
+
# updates the event type filter without creating duplicates.
|
|
89
|
+
#
|
|
90
|
+
# @param request_options [Hash]
|
|
91
|
+
# @param params [Pinnacle::Webhooks::Types::AttachWebhookParams]
|
|
92
|
+
# @option request_options [String] :base_url
|
|
93
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
94
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
95
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
96
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
97
|
+
#
|
|
98
|
+
# @return [Pinnacle::Types::AttachWebhookResult]
|
|
99
|
+
def attach(request_options: {}, **params)
|
|
100
|
+
params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
|
|
101
|
+
request = Pinnacle::Internal::JSON::Request.new(
|
|
102
|
+
base_url: request_options[:base_url],
|
|
103
|
+
method: "POST",
|
|
104
|
+
path: "webhooks/attach",
|
|
105
|
+
body: Pinnacle::Webhooks::Types::AttachWebhookParams.new(params).to_h,
|
|
106
|
+
request_options: request_options
|
|
107
|
+
)
|
|
108
|
+
begin
|
|
109
|
+
response = @client.send(request)
|
|
110
|
+
rescue Net::HTTPRequestTimeout
|
|
111
|
+
raise Pinnacle::Errors::TimeoutError
|
|
112
|
+
end
|
|
113
|
+
code = response.code.to_i
|
|
114
|
+
if code.between?(200, 299)
|
|
115
|
+
Pinnacle::Types::AttachWebhookResult.load(response.body)
|
|
116
|
+
else
|
|
117
|
+
error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
|
|
118
|
+
raise error_class.new(response.body, code: code)
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# Detach a webhook from one or more senders (phone numbers or RCS agent IDs) to stop receiving event
|
|
123
|
+
# notifications. <br>
|
|
124
|
+
#
|
|
125
|
+
# The webhook itself is not deleted and remains available for use with other senders. Works regardless of webhook
|
|
126
|
+
# status. Supports bulk operations with up to 50 senders per request.
|
|
127
|
+
#
|
|
128
|
+
# @param request_options [Hash]
|
|
129
|
+
# @param params [Pinnacle::Webhooks::Types::DetachWebhookParams]
|
|
130
|
+
# @option request_options [String] :base_url
|
|
131
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
132
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
133
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
134
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
135
|
+
#
|
|
136
|
+
# @return [Pinnacle::Types::DetachWebhookResult]
|
|
137
|
+
def detach(request_options: {}, **params)
|
|
138
|
+
params = Pinnacle::Internal::Types::Utils.normalize_keys(params)
|
|
139
|
+
request = Pinnacle::Internal::JSON::Request.new(
|
|
140
|
+
base_url: request_options[:base_url],
|
|
141
|
+
method: "POST",
|
|
142
|
+
path: "webhooks/detach",
|
|
143
|
+
body: Pinnacle::Webhooks::Types::DetachWebhookParams.new(params).to_h,
|
|
144
|
+
request_options: request_options
|
|
145
|
+
)
|
|
146
|
+
begin
|
|
147
|
+
response = @client.send(request)
|
|
148
|
+
rescue Net::HTTPRequestTimeout
|
|
149
|
+
raise Pinnacle::Errors::TimeoutError
|
|
150
|
+
end
|
|
151
|
+
code = response.code.to_i
|
|
152
|
+
if code.between?(200, 299)
|
|
153
|
+
Pinnacle::Types::DetachWebhookResult.load(response.body)
|
|
154
|
+
else
|
|
155
|
+
error_class = Pinnacle::Errors::ResponseError.subclass_for_code(code)
|
|
156
|
+
raise error_class.new(response.body, code: code)
|
|
157
|
+
end
|
|
158
|
+
end
|
|
46
159
|
end
|
|
47
160
|
end
|
|
48
161
|
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Webhooks
|
|
5
|
+
module Types
|
|
6
|
+
class AttachWebhookParams < Internal::Types::Model
|
|
7
|
+
field :senders, -> { Internal::Types::Array[String] }, optional: false, nullable: false
|
|
8
|
+
field :webhook_id, -> { String }, optional: true, nullable: false, api_name: "webhookId"
|
|
9
|
+
field :name, -> { String }, optional: true, nullable: false
|
|
10
|
+
field :url, -> { String }, optional: true, nullable: false
|
|
11
|
+
field :event, -> { Pinnacle::Types::WebhookEventEnum }, optional: true, nullable: false
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Webhooks
|
|
5
|
+
module Types
|
|
6
|
+
class DetachWebhookParams < Internal::Types::Model
|
|
7
|
+
field :webhook_id, -> { String }, optional: false, nullable: false, api_name: "webhookId"
|
|
8
|
+
field :senders, -> { Internal::Types::Array[String] }, optional: false, nullable: false
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Webhooks
|
|
5
|
+
module Types
|
|
6
|
+
class ListWebhooksParams < Internal::Types::Model
|
|
7
|
+
field :page_index, -> { Integer }, optional: true, nullable: false, api_name: "pageIndex"
|
|
8
|
+
field :page_size, -> { Integer }, optional: true, nullable: false, api_name: "pageSize"
|
|
9
|
+
field :status, -> { Pinnacle::Webhooks::Types::ListWebhooksRequestStatus }, optional: true, nullable: false
|
|
10
|
+
field :endpoint, -> { String }, optional: true, nullable: false
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Pinnacle
|
|
4
|
+
module Webhooks
|
|
5
|
+
module Types
|
|
6
|
+
module ListWebhooksRequestStatus
|
|
7
|
+
extend Pinnacle::Internal::Types::Enum
|
|
8
|
+
|
|
9
|
+
DISABLED = "DISABLED"
|
|
10
|
+
ENABLED = "ENABLED"
|
|
11
|
+
DELETED = "DELETED"
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|