Skip to content

messente/messente-api-ruby

Repository files navigation

Messente API Library

  • Messente API version: 2.0.0
  • Ruby gem version: 2.2.0

Messente is a global provider of messaging and user verification services. * Send and receive SMS, Viber, WhatsApp and Telegram messages. * Manage contacts and groups. * Fetch detailed info about phone numbers. * Blacklist phone numbers to make sure you're not sending any unwanted messages. Messente builds tools to help organizations connect their services to people anywhere in the world.

Installation

Install Messente API library with gem install messente_api.

Features

Messente API has the following features:

Messente API Library provides the operations described below to access the features.

BlacklistApi

  1. Adds a phone number to the blacklist add_to_blacklist
  2. Deletes a phone number from the blacklist delete_from_blacklist
  3. Returns all blacklisted phone numbers fetch_blacklist
  4. Checks if a phone number is blacklisted is_blacklisted

BulkMessagingApi

  1. Sends a bulk Omnimessage send_bulk_omnimessage

ContactsApi

  1. Adds a contact to a group add_contact_to_group
  2. Creates a new contact create_contact
  3. Deletes a contact delete_contact
  4. Lists a contact fetch_contact
  5. Lists groups of a contact fetch_contact_groups
  6. Returns all contacts fetch_contacts
  7. Removes a contact from a group remove_contact_from_group
  8. Updates a contact update_contact

DeliveryReportApi

  1. Retrieves the delivery report for the Omnimessage retrieve_delivery_report

GroupsApi

  1. Creates a new group with the provided name create_group
  2. Deletes a group delete_group
  3. Lists a group fetch_group
  4. Returns all groups fetch_groups
  5. Updates a group with the provided name update_group

NumberLookupApi

  1. Requests info about phone numbers fetch_info

OmnimessageApi

  1. Cancels a scheduled Omnimessage cancel_scheduled_message
  2. Sends an Omnimessage send_omnimessage

StatisticsApi

  1. Requests statistics reports for each country create_statistics_report

Auth

Type: HTTP basic authentication

Read the external getting-started article which explains API keys and Sender ID logic.

Getting started: sending an omnimessage

require 'messente_api'

# setup authorization
MessenteApi.configure do |config|
    # Configure HTTP basic authorization: basicAuth
    config.username = '<MESSENTE_API_USERNAME>'
    config.password = '<MESSENTE_API_PASSWORD>'
end

api_instance = MessenteApi::OmnimessageApi.new
omnimessage = MessenteApi::Omnimessage.new
omnimessage.to = '<recipient_phone_number>'

sms = MessenteApi::SMS.new(
    sender: "<sender name (optional)>",
    text: "Hello SMS!"
)

viber = MessenteApi::Viber.new(
    sender: "<sender name (optional)>",
    text: "Hello from Viber!"
)

wa_parameters = [
  MessenteApi::WhatsAppParameter.new(type: 'text', text: 'hello whatsapp'),
]
wa_component = MessenteApi::WhatsAppComponent.new(type: 'body', parameters: wa_parameters)
wa_lang = MessenteApi::WhatsAppLanguage.new(code: '<language_code>')
wa_template = MessenteApi::WhatsAppTemplate.new(name: '<template_name>', language: wa_lang, components: [wa_component])
whatsapp = MessenteApi::WhatsApp.new(
    sender: '<sender name (optional)>',
    template: wa_template,
)

omnimessage.messages = [sms, viber, whatsapp]

begin
  result = api_instance.send_omnimessage(omnimessage)
  puts result
rescue MessenteApi::ApiError => e
  puts "Exception when calling send_omnimessage: #{e}"
  puts e.response_body
end

License

Apache-2.0

Terms

https://messente.com/terms-and-conditions