Class: VoiceTel::Resources::Messaging

Inherits:
Base
  • Object
show all
Defined in:
lib/voicetel/resources/messaging.rb

Overview

MessagingService — SMS/MMS sending and 10DLC brand/campaign registration.

The message-send wire body uses ‘fromNumber` / `toNumber`. Pass those snake_case in your Ruby hash (`from_number`, `to_number`) and the transport will translate them when serializing.

Instance Method Summary collapse

Methods inherited from Base

#compact_query, #initialize

Constructor Details

This class inherits a constructor from VoiceTel::Resources::Base

Instance Method Details

#campaign_statusObject

GET /v2.2/messaging/campaigns — current 10DLC campaign statuses.



35
36
37
# File 'lib/voicetel/resources/messaging.rb', line 35

def campaign_status
  @transport.request(:get, "/v2.2/messaging/campaigns")
end

#create_brand(body) ⇒ Object

POST /v2.2/messaging/brands — register a 10DLC brand.



30
31
32
# File 'lib/voicetel/resources/messaging.rb', line 30

def create_brand(body)
  @transport.request(:post, "/v2.2/messaging/brands", body: body)
end

#create_campaign(body) ⇒ Object

POST /v2.2/messaging/campaigns — register a 10DLC campaign.



40
41
42
# File 'lib/voicetel/resources/messaging.rb', line 40

def create_campaign(body)
  @transport.request(:post, "/v2.2/messaging/campaigns", body: body)
end

#history(number: nil, start: nil, end_at: nil, type: nil) ⇒ Object

GET /v2.2/messages — fetch message history.



14
15
16
17
18
19
20
21
22
# File 'lib/voicetel/resources/messaging.rb', line 14

def history(number: nil, start: nil, end_at: nil, type: nil)
  q = compact_query(
    "number" => number,
    "start" => start,
    "end" => end_at,
    "type" => type
  )
  @transport.request(:get, "/v2.2/messages", query: q)
end

#numbers_state(numbers: nil) ⇒ Object

GET /v2.2/numbers/messaging — messaging state for many numbers. Pass an empty array (or omit) for “all numbers on the account”.



46
47
48
49
50
51
# File 'lib/voicetel/resources/messaging.rb', line 46

def numbers_state(numbers: nil)
  q = compact_query(
    "numbers" => (numbers && !numbers.empty? ? Array(numbers).join(",") : nil)
  )
  @transport.request(:get, "/v2.2/numbers/messaging", query: q)
end

#send_message(body) ⇒ Object

POST /v2.2/messages — send an SMS or MMS.



25
26
27
# File 'lib/voicetel/resources/messaging.rb', line 25

def send_message(body)
  @transport.request(:post, "/v2.2/messages", body: body)
end