Class: Zavudev::Resources::Messages
- Inherits:
-
Object
- Object
- Zavudev::Resources::Messages
- Defined in:
- lib/zavudev/resources/messages.rb
Instance Method Summary collapse
-
#initialize(client:) ⇒ Messages
constructor
private
A new instance of Messages.
-
#list(channel: nil, cursor: nil, limit: nil, status: nil, to: nil, request_options: {}) ⇒ Zavudev::Internal::Cursor<Zavudev::Models::Message>
List messages previously sent by this project.
-
#react(message_id, emoji:, zavu_sender: nil, request_options: {}) ⇒ Zavudev::Models::MessageResponse
Some parameter documentations has been truncated, see Models::MessageReactParams for more details.
-
#retrieve(message_id, request_options: {}) ⇒ Zavudev::Models::MessageResponse
Get message by ID.
-
#send_(to:, attachments: nil, channel: nil, content: nil, fallback_enabled: nil, html_body: nil, idempotency_key: nil, message_type: nil, metadata: nil, reply_to: nil, subject: nil, text: nil, voice_language: nil, zavu_sender: nil, request_options: {}) ⇒ Zavudev::Models::MessageResponse
Some parameter documentations has been truncated, see Models::MessageSendParams for more details.
Constructor Details
#initialize(client:) ⇒ Messages
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Messages.
161 162 163 |
# File 'lib/zavudev/resources/messages.rb', line 161 def initialize(client:) @client = client end |
Instance Method Details
#list(channel: nil, cursor: nil, limit: nil, status: nil, to: nil, request_options: {}) ⇒ Zavudev::Internal::Cursor<Zavudev::Models::Message>
List messages previously sent by this project.
44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/zavudev/resources/messages.rb', line 44 def list(params = {}) parsed, = Zavudev::MessageListParams.dump_request(params) query = Zavudev::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: "v1/messages", query: query, page: Zavudev::Internal::Cursor, model: Zavudev::Message, options: ) end |
#react(message_id, emoji:, zavu_sender: nil, request_options: {}) ⇒ Zavudev::Models::MessageResponse
Some parameter documentations has been truncated, see Models::MessageReactParams for more details.
Send an emoji reaction to an existing WhatsApp message. Reactions are only supported for WhatsApp messages.
76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/zavudev/resources/messages.rb', line 76 def react(, params) parsed, = Zavudev::MessageReactParams.dump_request(params) header_params = {zavu_sender: "zavu-sender"} @client.request( method: :post, path: ["v1/messages/%1$s/reactions", ], headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: Zavudev::MessageResponse, options: ) end |
#retrieve(message_id, request_options: {}) ⇒ Zavudev::Models::MessageResponse
Get message by ID
16 17 18 19 20 21 22 23 |
# File 'lib/zavudev/resources/messages.rb', line 16 def retrieve(, params = {}) @client.request( method: :get, path: ["v1/messages/%1$s", ], model: Zavudev::MessageResponse, options: params[:request_options] ) end |
#send_(to:, attachments: nil, channel: nil, content: nil, fallback_enabled: nil, html_body: nil, idempotency_key: nil, message_type: nil, metadata: nil, reply_to: nil, subject: nil, text: nil, voice_language: nil, zavu_sender: nil, request_options: {}) ⇒ Zavudev::Models::MessageResponse
Some parameter documentations has been truncated, see Models::MessageSendParams for more details.
Send a message to a recipient via SMS or WhatsApp.
**Channel selection:**
-
If ‘channel` is omitted and `messageType` is `text`, defaults to SMS
-
If ‘messageType` is anything other than `text`, WhatsApp is used automatically
**WhatsApp 24-hour window:**
-
Free-form messages (non-template) require an open 24h window
-
Window opens when the user messages you first
-
Use template messages to initiate conversations outside the window
**Daily limits:**
-
Unverified accounts: 200 messages per channel per day
-
Complete KYC verification to increase limits to 10,000/day
145 146 147 148 149 150 151 152 153 154 155 156 |
# File 'lib/zavudev/resources/messages.rb', line 145 def send_(params) parsed, = Zavudev::MessageSendParams.dump_request(params) header_params = {zavu_sender: "zavu-sender"} @client.request( method: :post, path: "v1/messages", headers: parsed.slice(*header_params.keys).transform_keys(header_params), body: parsed.except(*header_params.keys), model: Zavudev::MessageResponse, options: ) end |