Project

infobipapi

0.0
No commit activity in last 3 years
No release in over 3 years
InfobipApi
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.3
~> 0
~> 12
 Project Readme

InfobipApi ruby client

Basic messaging example

First initialize the messaging client using your username and password:

sms_connector = InfobipApi::SmsClient.new(username, password)

An exception will be thrown if your username and/or password are incorrect.

Prepare the message:

sms = InfobipApi::SMSRequest.new
sms.sender_address = '38598123456'
sms.address = destination_address
sms.message = 'Test message'
sms.callback_data = 'Any string'

Send the message:

result = sms_connector.send_sms(sms)

# Store the client correlator to be able to query for the delivery status later:
client_correlator = result.client_correlator

Later you can query for the delivery status of the message:

delivery_status = sms_connector.query_delivery_status(client_correlator)

Possible statuses are: DeliveredToTerminal, DeliveryUncertain, DeliveryImpossible, MessageWaiting and DeliveredToNetwork.

Messaging with notification push example

Same as with the standard messaging example, but when preparing your message:

sms = InfobipApi::SMSRequest.new
sms.sender_address = '38598123456'
sms.address = '38598123456'
sms.message = 'Test message'
sms.callback_data = 'Any string'
sms.notify_url = "http://#{public_ip_address}:#{port}"

When the delivery notification is pushed to your server as a HTTP POST request, you must process the body of the message with the following code:

delivery_info = InfobipApi::SmsClient.unserialize_delivery_status(body)

Sending message with special characters example

If you want to send message with special characters, this is how you prepare your message:

#Create Language object
language = InfobipApi::Language.new

#set specific language code
language.language_code = 'TR'

#use single shift table for specific language ('false' or 'true')
language.use_single_shift = true

#use locking shift table for specific language ('false' or 'true')
language.use_locking_shift = false

sms = InfobipApi::SMSRequest.new
sms.sender_address = '38598123456'
sms.address = destination_address
sms.message = 'Some text in Turkish'
sms.callback_data = 'Any string'
sms.language = language

Currently supported languages (with their language codes) are: Spanish - "SP", Portuguese - "PT", Turkish - "TR".

Testing Library

To test the library, run :

API_USERNAME="Toto" API_PASSWORD="Titi" bundle exec ruby test/test.rb

API_USERNAME and API_PASSWORD must be valid account credentials for the Infobip API. For more information, go to https://dev.infobip.com/docs/getting-started

You must also provide a text file containing sms numbers where you can receive messages (one by line) :

echo "33123456789" > test-numbers.txt
echo "33012345678" >> test-numbers.txt

These numbers must be in international format (used by the API).

License

This library is licensed under the Apache License, Version 2.0