Skip to content

vacationlabs/twilio-haskell

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

twilio

twilio on Hackage twilio-haskell on Travis CI

This package provides a library for interacting with Twilio's API. Install using

$ cabal install twilio

Documentation is available through GitHub (for HEAD) or Hackage for the current and preceding releases.

For TwiML, see twiml-haskell.

Example

You can create a REST API client and fetch the calls resources as follows

{-#LANGUAGE OverloadedStrings #-}

module Main where

import Control.Monad.IO.Class (liftIO)
import System.Environment (getEnv)
import Twilio
import Twilio.Calls as Calls
import Twilio.Messages

main :: IO ()
main = runTwilio' (getEnv "ACCOUNT_SID")
                  (getEnv "AUTH_TOKEN") $ do
  -- Print Calls.
  calls <- Calls.get
  liftIO $ print calls

  -- Send a Message.
  let body = PostMessage "+14158059869" "+14158059869" "Oh, hai" Nothing
  message <- post body
  liftIO $ print message

Testing

Currently, our test suite makes calls to Twilio's API. This means that you will be unable to test without a Twilio account.

To test on your local machine, set the environment variables ACCOUNT_SID, AUTH_TOKEN, and TEST_PHONE. Twilio provides both test credentials and non-test credentials. Make sure to use your non-test credentials. Furthermore, the phone number must be able to make / receive calls, and be SMS enabled.

The easiest way to provision a compatible phone number is to use the Twilio Website to buy a number, with Voice / SMS / MMS capabilities.

Contributing

Feel free to contribute to any of the open issues, bugfixes, etc. When you think you're ready to merge, ensure the tests are passing and open a pull request. If you are adding new functionality, please include new tests as well. Finally, add yourself to the AUTHORS file.

About

Twilio library for Haskell

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 99.4%
  • Shell 0.6%