zavudev 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +1 -1
  4. data/lib/zavudev/client.rb +8 -0
  5. data/lib/zavudev/models/broadcast_contact.rb +10 -1
  6. data/lib/zavudev/models/broadcast_content.rb +18 -4
  7. data/lib/zavudev/models/broadcasts/contact_add_params.rb +17 -4
  8. data/lib/zavudev/models/contact_delete_params.rb +20 -0
  9. data/lib/zavudev/models/function_create_params.rb +104 -0
  10. data/lib/zavudev/models/function_create_response.rb +168 -0
  11. data/lib/zavudev/models/function_delete_params.rb +20 -0
  12. data/lib/zavudev/models/function_delete_response.rb +28 -0
  13. data/lib/zavudev/models/function_deploy_params.rb +37 -0
  14. data/lib/zavudev/models/function_deploy_response.rb +104 -0
  15. data/lib/zavudev/models/function_get_deployment_params.rb +20 -0
  16. data/lib/zavudev/models/function_get_deployment_response.rb +104 -0
  17. data/lib/zavudev/models/function_retrieve_params.rb +20 -0
  18. data/lib/zavudev/models/function_retrieve_response.rb +168 -0
  19. data/lib/zavudev/models/function_tail_logs_params.rb +58 -0
  20. data/lib/zavudev/models/function_tail_logs_response.rb +41 -0
  21. data/lib/zavudev/models/function_update_params.rb +37 -0
  22. data/lib/zavudev/models/function_update_response.rb +168 -0
  23. data/lib/zavudev/models/functions/secret_list_params.rb +22 -0
  24. data/lib/zavudev/models/functions/secret_list_response.rb +59 -0
  25. data/lib/zavudev/models/functions/secret_set_params.rb +34 -0
  26. data/lib/zavudev/models/functions/secret_set_response.rb +10 -0
  27. data/lib/zavudev/models/functions/secret_unset_params.rb +28 -0
  28. data/lib/zavudev/models/me_retrieve_params.rb +14 -0
  29. data/lib/zavudev/models/me_retrieve_response.rb +85 -0
  30. data/lib/zavudev/models/message_content.rb +20 -4
  31. data/lib/zavudev/models/message_show_typing_params.rb +26 -0
  32. data/lib/zavudev/models/message_show_typing_response.rb +16 -0
  33. data/lib/zavudev/models/senders/agent/execution_retrieve_params.rb +30 -0
  34. data/lib/zavudev/models/senders/agent/execution_retrieve_response.rb +20 -0
  35. data/lib/zavudev/models/template.rb +6 -3
  36. data/lib/zavudev/models.rb +22 -0
  37. data/lib/zavudev/resources/contacts.rb +24 -0
  38. data/lib/zavudev/resources/functions/secrets.rb +98 -0
  39. data/lib/zavudev/resources/functions.rb +220 -0
  40. data/lib/zavudev/resources/me.rb +33 -0
  41. data/lib/zavudev/resources/messages.rb +31 -0
  42. data/lib/zavudev/resources/senders/agent/executions.rb +26 -0
  43. data/lib/zavudev/version.rb +1 -1
  44. data/lib/zavudev.rb +29 -0
  45. data/rbi/zavudev/client.rbi +6 -0
  46. data/rbi/zavudev/models/broadcast_contact.rbi +9 -0
  47. data/rbi/zavudev/models/broadcast_content.rbi +23 -4
  48. data/rbi/zavudev/models/broadcasts/contact_add_params.rbi +23 -4
  49. data/rbi/zavudev/models/contact_delete_params.rbi +35 -0
  50. data/rbi/zavudev/models/function_create_params.rbi +177 -0
  51. data/rbi/zavudev/models/function_create_response.rbi +277 -0
  52. data/rbi/zavudev/models/function_delete_params.rbi +35 -0
  53. data/rbi/zavudev/models/function_delete_response.rbi +44 -0
  54. data/rbi/zavudev/models/function_deploy_params.rbi +63 -0
  55. data/rbi/zavudev/models/function_deploy_response.rbi +196 -0
  56. data/rbi/zavudev/models/function_get_deployment_params.rbi +38 -0
  57. data/rbi/zavudev/models/function_get_deployment_response.rbi +201 -0
  58. data/rbi/zavudev/models/function_retrieve_params.rbi +35 -0
  59. data/rbi/zavudev/models/function_retrieve_response.rbi +277 -0
  60. data/rbi/zavudev/models/function_tail_logs_params.rbi +90 -0
  61. data/rbi/zavudev/models/function_tail_logs_response.rbi +75 -0
  62. data/rbi/zavudev/models/function_update_params.rbi +63 -0
  63. data/rbi/zavudev/models/function_update_response.rbi +277 -0
  64. data/rbi/zavudev/models/functions/secret_list_params.rbi +40 -0
  65. data/rbi/zavudev/models/functions/secret_list_response.rbi +118 -0
  66. data/rbi/zavudev/models/functions/secret_set_params.rbi +53 -0
  67. data/rbi/zavudev/models/functions/secret_set_response.rbi +9 -0
  68. data/rbi/zavudev/models/functions/secret_unset_params.rbi +48 -0
  69. data/rbi/zavudev/models/me_retrieve_params.rbi +27 -0
  70. data/rbi/zavudev/models/me_retrieve_response.rbi +151 -0
  71. data/rbi/zavudev/models/message_content.rbi +27 -4
  72. data/rbi/zavudev/models/message_show_typing_params.rbi +46 -0
  73. data/rbi/zavudev/models/message_show_typing_response.rbi +26 -0
  74. data/rbi/zavudev/models/senders/agent/execution_retrieve_params.rbi +50 -0
  75. data/rbi/zavudev/models/senders/agent/execution_retrieve_response.rbi +41 -0
  76. data/rbi/zavudev/models/template.rbi +10 -4
  77. data/rbi/zavudev/models.rbi +22 -0
  78. data/rbi/zavudev/resources/contacts.rbi +15 -0
  79. data/rbi/zavudev/resources/functions/secrets.rbi +69 -0
  80. data/rbi/zavudev/resources/functions.rbi +171 -0
  81. data/rbi/zavudev/resources/me.rbi +22 -0
  82. data/rbi/zavudev/resources/messages.rbi +21 -0
  83. data/rbi/zavudev/resources/senders/agent/executions.rbi +14 -0
  84. data/sig/zavudev/client.rbs +4 -0
  85. data/sig/zavudev/models/broadcast_contact.rbs +9 -0
  86. data/sig/zavudev/models/broadcast_content.rbs +9 -0
  87. data/sig/zavudev/models/broadcasts/contact_add_params.rbs +9 -0
  88. data/sig/zavudev/models/contact_delete_params.rbs +23 -0
  89. data/sig/zavudev/models/function_create_params.rbs +107 -0
  90. data/sig/zavudev/models/function_create_response.rbs +126 -0
  91. data/sig/zavudev/models/function_delete_params.rbs +23 -0
  92. data/sig/zavudev/models/function_delete_response.rbs +22 -0
  93. data/sig/zavudev/models/function_deploy_params.rbs +40 -0
  94. data/sig/zavudev/models/function_deploy_response.rbs +98 -0
  95. data/sig/zavudev/models/function_get_deployment_params.rbs +23 -0
  96. data/sig/zavudev/models/function_get_deployment_response.rbs +98 -0
  97. data/sig/zavudev/models/function_retrieve_params.rbs +23 -0
  98. data/sig/zavudev/models/function_retrieve_response.rbs +126 -0
  99. data/sig/zavudev/models/function_tail_logs_params.rbs +61 -0
  100. data/sig/zavudev/models/function_tail_logs_response.rbs +37 -0
  101. data/sig/zavudev/models/function_update_params.rbs +40 -0
  102. data/sig/zavudev/models/function_update_response.rbs +126 -0
  103. data/sig/zavudev/models/functions/secret_list_params.rbs +25 -0
  104. data/sig/zavudev/models/functions/secret_list_response.rbs +70 -0
  105. data/sig/zavudev/models/functions/secret_set_params.rbs +34 -0
  106. data/sig/zavudev/models/functions/secret_set_response.rbs +7 -0
  107. data/sig/zavudev/models/functions/secret_unset_params.rbs +30 -0
  108. data/sig/zavudev/models/me_retrieve_params.rbs +14 -0
  109. data/sig/zavudev/models/me_retrieve_response.rbs +75 -0
  110. data/sig/zavudev/models/message_content.rbs +9 -0
  111. data/sig/zavudev/models/message_show_typing_params.rbs +30 -0
  112. data/sig/zavudev/models/message_show_typing_response.rbs +13 -0
  113. data/sig/zavudev/models/senders/agent/execution_retrieve_params.rbs +32 -0
  114. data/sig/zavudev/models/senders/agent/execution_retrieve_response.rbs +18 -0
  115. data/sig/zavudev/models.rbs +22 -0
  116. data/sig/zavudev/resources/contacts.rbs +5 -0
  117. data/sig/zavudev/resources/functions/secrets.rbs +27 -0
  118. data/sig/zavudev/resources/functions.rbs +61 -0
  119. data/sig/zavudev/resources/me.rbs +11 -0
  120. data/sig/zavudev/resources/messages.rbs +6 -0
  121. data/sig/zavudev/resources/senders/agent/executions.rbs +6 -0
  122. metadata +89 -2
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ module Functions
6
+ # @see Zavudev::Resources::Functions::Secrets#list
7
+ class SecretListResponse < Zavudev::Internal::Type::BaseModel
8
+ # @!attribute secrets
9
+ #
10
+ # @return [Array<Zavudev::Models::Functions::SecretListResponse::Secret>]
11
+ required :secrets,
12
+ -> { Zavudev::Internal::Type::ArrayOf[Zavudev::Models::Functions::SecretListResponse::Secret] }
13
+
14
+ # @!method initialize(secrets:)
15
+ # @param secrets [Array<Zavudev::Models::Functions::SecretListResponse::Secret>]
16
+
17
+ class Secret < Zavudev::Internal::Type::BaseModel
18
+ # @!attribute id
19
+ #
20
+ # @return [String]
21
+ required :id, String
22
+
23
+ # @!attribute key
24
+ #
25
+ # @return [String]
26
+ required :key, String
27
+
28
+ # @!attribute value_last4
29
+ #
30
+ # @return [String]
31
+ required :value_last4, String, api_name: :valueLast4
32
+
33
+ # @!attribute created_at
34
+ #
35
+ # @return [Float, nil]
36
+ optional :created_at, Float, api_name: :createdAt
37
+
38
+ # @!attribute synced_to_aws
39
+ #
40
+ # @return [Boolean, nil]
41
+ optional :synced_to_aws, Zavudev::Internal::Type::Boolean, api_name: :syncedToAws
42
+
43
+ # @!attribute updated_at
44
+ #
45
+ # @return [Float, nil]
46
+ optional :updated_at, Float, api_name: :updatedAt
47
+
48
+ # @!method initialize(id:, key:, value_last4:, created_at: nil, synced_to_aws: nil, updated_at: nil)
49
+ # @param id [String]
50
+ # @param key [String]
51
+ # @param value_last4 [String]
52
+ # @param created_at [Float]
53
+ # @param synced_to_aws [Boolean]
54
+ # @param updated_at [Float]
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ module Functions
6
+ # @see Zavudev::Resources::Functions::Secrets#set
7
+ class SecretSetParams < Zavudev::Internal::Type::BaseModel
8
+ extend Zavudev::Internal::Type::RequestParameters::Converter
9
+ include Zavudev::Internal::Type::RequestParameters
10
+
11
+ # @!attribute function_id
12
+ #
13
+ # @return [String]
14
+ required :function_id, String
15
+
16
+ # @!attribute key
17
+ #
18
+ # @return [String]
19
+ required :key, String
20
+
21
+ # @!attribute value
22
+ #
23
+ # @return [String]
24
+ required :value, String
25
+
26
+ # @!method initialize(function_id:, key:, value:, request_options: {})
27
+ # @param function_id [String]
28
+ # @param key [String]
29
+ # @param value [String]
30
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ module Functions
6
+ # @type [Zavudev::Internal::Type::Converter]
7
+ SecretSetResponse = Zavudev::Internal::Type::Unknown
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ module Functions
6
+ # @see Zavudev::Resources::Functions::Secrets#unset
7
+ class SecretUnsetParams < Zavudev::Internal::Type::BaseModel
8
+ extend Zavudev::Internal::Type::RequestParameters::Converter
9
+ include Zavudev::Internal::Type::RequestParameters
10
+
11
+ # @!attribute function_id
12
+ #
13
+ # @return [String]
14
+ required :function_id, String
15
+
16
+ # @!attribute key
17
+ #
18
+ # @return [String]
19
+ required :key, String
20
+
21
+ # @!method initialize(function_id:, key:, request_options: {})
22
+ # @param function_id [String]
23
+ # @param key [String]
24
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Me#retrieve
6
+ class MeRetrieveParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!method initialize(request_options: {})
11
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,85 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Me#retrieve
6
+ class MeRetrieveResponse < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute api_key
8
+ #
9
+ # @return [Zavudev::Models::MeRetrieveResponse::APIKey]
10
+ required :api_key, -> { Zavudev::Models::MeRetrieveResponse::APIKey }, api_name: :apiKey
11
+
12
+ # @!attribute is_test_mode
13
+ #
14
+ # @return [Boolean]
15
+ required :is_test_mode, Zavudev::Internal::Type::Boolean, api_name: :isTestMode
16
+
17
+ # @!attribute project
18
+ #
19
+ # @return [Zavudev::Models::MeRetrieveResponse::Project]
20
+ required :project, -> { Zavudev::Models::MeRetrieveResponse::Project }
21
+
22
+ # @!attribute team
23
+ #
24
+ # @return [Zavudev::Models::MeRetrieveResponse::Team]
25
+ required :team, -> { Zavudev::Models::MeRetrieveResponse::Team }
26
+
27
+ # @!method initialize(api_key:, is_test_mode:, project:, team:)
28
+ # @param api_key [Zavudev::Models::MeRetrieveResponse::APIKey]
29
+ # @param is_test_mode [Boolean]
30
+ # @param project [Zavudev::Models::MeRetrieveResponse::Project]
31
+ # @param team [Zavudev::Models::MeRetrieveResponse::Team]
32
+
33
+ # @see Zavudev::Models::MeRetrieveResponse#api_key
34
+ class APIKey < Zavudev::Internal::Type::BaseModel
35
+ # @!attribute id
36
+ #
37
+ # @return [String]
38
+ required :id, String
39
+
40
+ # @!method initialize(id:)
41
+ # @param id [String]
42
+ end
43
+
44
+ # @see Zavudev::Models::MeRetrieveResponse#project
45
+ class Project < Zavudev::Internal::Type::BaseModel
46
+ # @!attribute id
47
+ #
48
+ # @return [String]
49
+ required :id, String
50
+
51
+ # @!attribute is_sub_account
52
+ #
53
+ # @return [Boolean]
54
+ required :is_sub_account, Zavudev::Internal::Type::Boolean, api_name: :isSubAccount
55
+
56
+ # @!attribute name
57
+ #
58
+ # @return [String, nil]
59
+ required :name, String, nil?: true
60
+
61
+ # @!method initialize(id:, is_sub_account:, name:)
62
+ # @param id [String]
63
+ # @param is_sub_account [Boolean]
64
+ # @param name [String, nil]
65
+ end
66
+
67
+ # @see Zavudev::Models::MeRetrieveResponse#team
68
+ class Team < Zavudev::Internal::Type::BaseModel
69
+ # @!attribute id
70
+ #
71
+ # @return [String]
72
+ required :id, String
73
+
74
+ # @!attribute name
75
+ #
76
+ # @return [String, nil]
77
+ required :name, String, nil?: true
78
+
79
+ # @!method initialize(id:, name:)
80
+ # @param id [String]
81
+ # @param name [String, nil]
82
+ end
83
+ end
84
+ end
85
+ end
@@ -147,6 +147,17 @@ module Zavudev
147
147
  Zavudev::Internal::Type::HashOf[String],
148
148
  api_name: :templateButtonVariables
149
149
 
150
+ # @!attribute template_header_variables
151
+ # Value for a text-header variable, keyed by `1` (WhatsApp text headers allow at
152
+ # most one variable). Optional override. If omitted, Zavu resolves the header from
153
+ # `templateVariables` using the header placeholder's name (e.g. `novios`). Static
154
+ # text headers need no value.
155
+ #
156
+ # @return [Hash{Symbol=>String}, nil]
157
+ optional :template_header_variables,
158
+ Zavudev::Internal::Type::HashOf[String],
159
+ api_name: :templateHeaderVariables
160
+
150
161
  # @!attribute template_id
151
162
  # Template ID for template messages.
152
163
  #
@@ -154,13 +165,16 @@ module Zavudev
154
165
  optional :template_id, String, api_name: :templateId
155
166
 
156
167
  # @!attribute template_variables
157
- # Variables for body placeholders. Keys are positions (1, 2, 3, ...) matching the
158
- # order placeholders appear in the template body.
168
+ # Variables for body placeholders. Key them to match the template body: by
169
+ # position (`1`, `2`, ...) for positional templates, or by name (e.g.
170
+ # `customer_name`) for named templates. Zavu detects the template's format and
171
+ # sends the correct payload to Meta. Named keys also resolve a named text-header
172
+ # variable. Do not mix positional and named keys in the same request.
159
173
  #
160
174
  # @return [Hash{Symbol=>String}, nil]
161
175
  optional :template_variables, Zavudev::Internal::Type::HashOf[String], api_name: :templateVariables
162
176
 
163
- # @!method initialize(buttons: nil, contacts: nil, cta_display_text: nil, cta_header_media_url: nil, cta_header_text: nil, cta_header_type: nil, cta_url: nil, emoji: nil, filename: nil, footer_text: nil, latitude: nil, list_button: nil, location_address: nil, location_name: nil, longitude: nil, media_id: nil, media_url: nil, mime_type: nil, react_to_message_id: nil, sections: nil, template_button_variables: nil, template_id: nil, template_variables: nil)
177
+ # @!method initialize(buttons: nil, contacts: nil, cta_display_text: nil, cta_header_media_url: nil, cta_header_text: nil, cta_header_type: nil, cta_url: nil, emoji: nil, filename: nil, footer_text: nil, latitude: nil, list_button: nil, location_address: nil, location_name: nil, longitude: nil, media_id: nil, media_url: nil, mime_type: nil, react_to_message_id: nil, sections: nil, template_button_variables: nil, template_header_variables: nil, template_id: nil, template_variables: nil)
164
178
  # Some parameter documentations has been truncated, see
165
179
  # {Zavudev::Models::MessageContent} for more details.
166
180
  #
@@ -208,9 +222,11 @@ module Zavudev
208
222
  #
209
223
  # @param template_button_variables [Hash{Symbol=>String}] Variables for dynamic button placeholders (URL buttons and OTP buttons). Keys ar
210
224
  #
225
+ # @param template_header_variables [Hash{Symbol=>String}] Value for a text-header variable, keyed by `1` (WhatsApp text headers allow at m
226
+ #
211
227
  # @param template_id [String] Template ID for template messages.
212
228
  #
213
- # @param template_variables [Hash{Symbol=>String}] Variables for body placeholders. Keys are positions (1, 2, 3, ...) matching the
229
+ # @param template_variables [Hash{Symbol=>String}] Variables for body placeholders. Key them to match the template body: by positio
214
230
 
215
231
  class Button < Zavudev::Internal::Type::BaseModel
216
232
  # @!attribute id
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Messages#show_typing
6
+ class MessageShowTypingParams < Zavudev::Internal::Type::BaseModel
7
+ extend Zavudev::Internal::Type::RequestParameters::Converter
8
+ include Zavudev::Internal::Type::RequestParameters
9
+
10
+ # @!attribute message_id
11
+ #
12
+ # @return [String]
13
+ required :message_id, String
14
+
15
+ # @!attribute zavu_sender
16
+ #
17
+ # @return [String, nil]
18
+ optional :zavu_sender, String
19
+
20
+ # @!method initialize(message_id:, zavu_sender: nil, request_options: {})
21
+ # @param message_id [String]
22
+ # @param zavu_sender [String]
23
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ # @see Zavudev::Resources::Messages#show_typing
6
+ class MessageShowTypingResponse < Zavudev::Internal::Type::BaseModel
7
+ # @!attribute success
8
+ #
9
+ # @return [Boolean]
10
+ required :success, Zavudev::Internal::Type::Boolean
11
+
12
+ # @!method initialize(success:)
13
+ # @param success [Boolean]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ module Senders
6
+ module Agent
7
+ # @see Zavudev::Resources::Senders::Agent::Executions#retrieve
8
+ class ExecutionRetrieveParams < Zavudev::Internal::Type::BaseModel
9
+ extend Zavudev::Internal::Type::RequestParameters::Converter
10
+ include Zavudev::Internal::Type::RequestParameters
11
+
12
+ # @!attribute sender_id
13
+ #
14
+ # @return [String]
15
+ required :sender_id, String
16
+
17
+ # @!attribute execution_id
18
+ #
19
+ # @return [String]
20
+ required :execution_id, String
21
+
22
+ # @!method initialize(sender_id:, execution_id:, request_options: {})
23
+ # @param sender_id [String]
24
+ # @param execution_id [String]
25
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}]
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Models
5
+ module Senders
6
+ module Agent
7
+ # @see Zavudev::Resources::Senders::Agent::Executions#retrieve
8
+ class ExecutionRetrieveResponse < Zavudev::Internal::Type::BaseModel
9
+ # @!attribute execution
10
+ #
11
+ # @return [Zavudev::Models::Senders::AgentExecution]
12
+ required :execution, -> { Zavudev::Senders::AgentExecution }
13
+
14
+ # @!method initialize(execution:)
15
+ # @param execution [Zavudev::Models::Senders::AgentExecution]
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -10,8 +10,11 @@ module Zavudev
10
10
  required :id, String
11
11
 
12
12
  # @!attribute body
13
- # Default template body with variables: {{1}}, {{2}}, or named variables like
14
- # {{contact.first_name}}. Used when no channel-specific body is set.
13
+ # Default template body with variables: positional ({{1}}, {{2}}) or named
14
+ # ({{customer_name}}, {{contact.first_name}}). Templates created in Zavu are
15
+ # submitted to Meta as positional; templates imported from a WhatsApp Business
16
+ # Account keep their original format (named or positional). Used when no
17
+ # channel-specific body is set.
15
18
  #
16
19
  # @return [String]
17
20
  required :body, String
@@ -123,7 +126,7 @@ module Zavudev
123
126
  #
124
127
  # @param id [String]
125
128
  #
126
- # @param body [String] Default template body with variables: {{1}}, {{2}}, or named variables like {{co
129
+ # @param body [String] Default template body with variables: positional ({{1}}, {{2}}) or named ({{cust
127
130
  #
128
131
  # @param category [Symbol, Zavudev::Models::WhatsappCategory] WhatsApp template category.
129
132
  #
@@ -103,6 +103,8 @@ module Zavudev
103
103
 
104
104
  ContactCreateParams = Zavudev::Models::ContactCreateParams
105
105
 
106
+ ContactDeleteParams = Zavudev::Models::ContactDeleteParams
107
+
106
108
  ContactDismissMergeSuggestionParams = Zavudev::Models::ContactDismissMergeSuggestionParams
107
109
 
108
110
  ContactListParams = Zavudev::Models::ContactListParams
@@ -125,6 +127,22 @@ module Zavudev
125
127
 
126
128
  ExportRetrieveParams = Zavudev::Models::ExportRetrieveParams
127
129
 
130
+ FunctionCreateParams = Zavudev::Models::FunctionCreateParams
131
+
132
+ FunctionDeleteParams = Zavudev::Models::FunctionDeleteParams
133
+
134
+ FunctionDeployParams = Zavudev::Models::FunctionDeployParams
135
+
136
+ FunctionGetDeploymentParams = Zavudev::Models::FunctionGetDeploymentParams
137
+
138
+ FunctionRetrieveParams = Zavudev::Models::FunctionRetrieveParams
139
+
140
+ Functions = Zavudev::Models::Functions
141
+
142
+ FunctionTailLogsParams = Zavudev::Models::FunctionTailLogsParams
143
+
144
+ FunctionUpdateParams = Zavudev::Models::FunctionUpdateParams
145
+
128
146
  IntrospectValidatePhoneParams = Zavudev::Models::IntrospectValidatePhoneParams
129
147
 
130
148
  Invitation = Zavudev::Models::Invitation
@@ -139,6 +157,8 @@ module Zavudev
139
157
 
140
158
  LineType = Zavudev::Models::LineType
141
159
 
160
+ MeRetrieveParams = Zavudev::Models::MeRetrieveParams
161
+
142
162
  Message = Zavudev::Models::Message
143
163
 
144
164
  MessageContent = Zavudev::Models::MessageContent
@@ -153,6 +173,8 @@ module Zavudev
153
173
 
154
174
  MessageSendParams = Zavudev::Models::MessageSendParams
155
175
 
176
+ MessageShowTypingParams = Zavudev::Models::MessageShowTypingParams
177
+
156
178
  MessageStatus = Zavudev::Models::MessageStatus
157
179
 
158
180
  MessageType = Zavudev::Models::MessageType
@@ -102,6 +102,30 @@ module Zavudev
102
102
  )
103
103
  end
104
104
 
105
+ # Permanently delete a contact and its communication channels. Implements
106
+ # right-to-erasure obligations under GDPR Art. 17, Ley 19.628 (Chile) Art. 12,
107
+ # CCPA § 1798.105, and LGPD Art. 18.VI. The contact, its channels, and any
108
+ # associated agent flow sessions and conversation threads are removed. Past
109
+ # message records and broadcast delivery logs are retained for billing/audit but
110
+ # no longer reference the deleted contact.
111
+ #
112
+ # @overload delete(contact_id, request_options: {})
113
+ #
114
+ # @param contact_id [String]
115
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
116
+ #
117
+ # @return [nil]
118
+ #
119
+ # @see Zavudev::Models::ContactDeleteParams
120
+ def delete(contact_id, params = {})
121
+ @client.request(
122
+ method: :delete,
123
+ path: ["v1/contacts/%1$s", contact_id],
124
+ model: NilClass,
125
+ options: params[:request_options]
126
+ )
127
+ end
128
+
105
129
  # Dismiss the merge suggestion for a contact.
106
130
  #
107
131
  # @overload dismiss_merge_suggestion(contact_id, request_options: {})
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Zavudev
4
+ module Resources
5
+ class Functions
6
+ class Secrets
7
+ # Lists every secret key set on the function. Plaintext is NEVER returned — only
8
+ # the last 4 characters of each value, for visual confirmation.
9
+ #
10
+ # @overload list(function_id, request_options: {})
11
+ #
12
+ # @param function_id [String] Zavu Function ID.
13
+ #
14
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
15
+ #
16
+ # @return [Zavudev::Models::Functions::SecretListResponse]
17
+ #
18
+ # @see Zavudev::Models::Functions::SecretListParams
19
+ def list(function_id, params = {})
20
+ @client.request(
21
+ method: :get,
22
+ path: ["v1/functions/%1$s/secrets", function_id],
23
+ model: Zavudev::Models::Functions::SecretListResponse,
24
+ options: params[:request_options]
25
+ )
26
+ end
27
+
28
+ # Create or update a secret on a function. Marks the function out-of-sync; the
29
+ # next `POST /deploy` re-publishes the Lambda with the new env. Keys must match
30
+ # `[A-Z_][A-Z0-9_]*` (uppercase env-var style) and cannot start with reserved
31
+ # prefixes (AWS*, LAMBDA*, etc).
32
+ #
33
+ # @overload set(key, function_id:, value:, request_options: {})
34
+ #
35
+ # @param key [String] Path param
36
+ #
37
+ # @param function_id [String] Path param: Zavu Function ID.
38
+ #
39
+ # @param value [String] Body param
40
+ #
41
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
42
+ #
43
+ # @return [Object]
44
+ #
45
+ # @see Zavudev::Models::Functions::SecretSetParams
46
+ def set(key, params)
47
+ parsed, options = Zavudev::Functions::SecretSetParams.dump_request(params)
48
+ function_id =
49
+ parsed.delete(:function_id) do
50
+ raise ArgumentError.new("missing required path argument #{_1}")
51
+ end
52
+ @client.request(
53
+ method: :put,
54
+ path: ["v1/functions/%1$s/secrets/%2$s", function_id, key],
55
+ body: parsed,
56
+ model: Zavudev::Internal::Type::Unknown,
57
+ options: options
58
+ )
59
+ end
60
+
61
+ # Remove a secret from a function. Doesn't take effect on the running Lambda until
62
+ # the next deploy.
63
+ #
64
+ # @overload unset(key, function_id:, request_options: {})
65
+ #
66
+ # @param key [String]
67
+ #
68
+ # @param function_id [String] Zavu Function ID.
69
+ #
70
+ # @param request_options [Zavudev::RequestOptions, Hash{Symbol=>Object}, nil]
71
+ #
72
+ # @return [nil]
73
+ #
74
+ # @see Zavudev::Models::Functions::SecretUnsetParams
75
+ def unset(key, params)
76
+ parsed, options = Zavudev::Functions::SecretUnsetParams.dump_request(params)
77
+ function_id =
78
+ parsed.delete(:function_id) do
79
+ raise ArgumentError.new("missing required path argument #{_1}")
80
+ end
81
+ @client.request(
82
+ method: :delete,
83
+ path: ["v1/functions/%1$s/secrets/%2$s", function_id, key],
84
+ model: NilClass,
85
+ options: options
86
+ )
87
+ end
88
+
89
+ # @api private
90
+ #
91
+ # @param client [Zavudev::Client]
92
+ def initialize(client:)
93
+ @client = client
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end