class OneApi::SmsClient

Public Class Methods

new(username, password, base_url=nil) click to toggle source
Calls superclass method OneApi::OneApiClient::new
# File lib/oneapi-ruby/client.rb, line 165
def initialize(username, password, base_url=nil)
    super(username, password, base_url)
end
unserialize_delivery_status(http_body) click to toggle source

To be used when http push with a delivery notification comes.

# File lib/oneapi-ruby/client.rb, line 237
def self.unserialize_delivery_status(http_body)
    json = JSONUtils.get_json(http_body)
    return Conversions::from_json(DeliveryInfoNotification, json, false)
end
unserialize_inbound_messages(http_body) click to toggle source
# File lib/oneapi-ruby/client.rb, line 244
def self.unserialize_inbound_messages(http_body)
    json = JSONUtils.get_json(http_body)
    return Conversions::from_json(InboundSmsMessages, json, false)
end

Public Instance Methods

query_delivery_status(client_correlator_or_resource_reference) click to toggle source
# File lib/oneapi-ruby/client.rb, line 198
def query_delivery_status(client_correlator_or_resource_reference)
    if defined? client_correlator_or_resource_reference.client_correlator
        client_correlator = client_correlator_or_resource_reference.client_correlator
    else
        client_correlator = client_correlator_or_resource_reference
    end

    client_correlator = get_or_create_client_correlator(client_correlator)

    params = {
        'clientCorrelator' => client_correlator,
    }

    is_success, result = execute_GET(
            "/1/smsmessaging/outbound/TODO/requests/#{client_correlator}/deliveryInfos",
            params
    )

    return convert_from_json(DeliveryInfoList, result, !is_success)
end
retrieve_inbound_messages(max_number=nil) click to toggle source
# File lib/oneapi-ruby/client.rb, line 219
def retrieve_inbound_messages(max_number=nil)
    if Utils.empty(max_number)
        max_number = 100
    end

    params = {
            'maxBatchSize' => max_number
    }

    is_success, result = execute_GET(
            '/1/smsmessaging/inbound/registrations/INBOUND/messages', 
            params
    )

    return convert_from_json(InboundSmsMessages, result, ! is_success)
end
send_sms(sms) click to toggle source
# File lib/oneapi-ruby/client.rb, line 169
def send_sms(sms)
    client_correlator = sms.client_correlator
    if not client_correlator
        client_correlator = Utils.get_random_alphanumeric_string()
    end

    params = {
        'senderAddress' => sms.sender_address,
        'address' => sms.address,
        'message' => sms.message,
        'clientCorrelator' => client_correlator,
        'senderName' => "tel:#{sms.sender_address}"
    }

    if sms.notify_url
        params['notifyURL'] = sms.notify_url
    end
    if sms.callback_data
        params['callbackData'] = sms.callback_data
    end

    is_success, result = execute_POST(
            "/1/smsmessaging/outbound/#{sms.sender_address}/requests",
            params
    )

    convert_from_json(ResourceReference, result, !is_success)
end