Gem Version Build Status

CPSMS

A wrapper for the cpsms.dk API.

It will allow you to easily send SMS messages through the API from your Ruby applications.

Prerequisites

To use the API you need to have an account on cpsms.dk

Once you have the account, you should have the following information:

  • username
  • password

You will need this information for all calls to the API.

Sending an sms

To send an sms simply call the CPSMS::SMS.send! method

The method takes the following parameters

  • username: Your cpsms.dk username (string)
  • password: Your spsms.dk password (string)
  • recipient: The phone-number of the recipient (integer)
  • message: The message to send to the recipient (string - max 459 chars)
  • options: A hash of optional options (described below)

To send a basic sms with the message: "Hello world" to 12345678

CPSMS::SMS.send! "username", "password", 12345678, "Hello World!"

You can pass a hash of optional options to the method. The possible options and their defaults are as follows

  • from: A number or string that will be displayed as the sender of the message (string - max 11 chars)
  • url: A callback url that CPSMS will call with details about the delivery. (See CPSMS's API documentation for more info) (string - max 100 chars)
  • timestamp: A timestamp that specifies when the sms should be sent. (Time)
  • flash: If set to true, the sms will be sent as a flash-sms (boolean)
  • group: Currently not implemented

Testing

To create new tests or edit existing you need to set your cpsms.dk credentials and a valid mobile number as environment variables.

More specifically you need to set these three environment variables with their respective values:

  • CPSMS_USERNAME
  • CPSMS_PASSWORD
  • CPSMS_MOBILE_NUMBER

If you're using RVM, you can copy the supplied .rvmrc_example file to .rvmrc and edit the last two lines with your credentials

export CPSMS_USERNAME=YourUsername
export CPSMS_PASSWORD=YourPassword
export CPSMS_MOBILE_NUMBER=YourMobileNumber

Please note: Your mobile number must be prepended with the country-code, for instance: 4512345678 for a danish number (45).

By doing this, the variables will automatically be set when RVM sets the environment.

If you just wish to run the existing test suite, you don't need to set these values, as VCR will simply use existing recordings for communication with the API.