You are looking at historical revision 29681 of this page. It may differ significantly from its current revision.
twilio
Bindings to the Twilio API
Abstract
Twilio allows one to send SMSes and place calls using their API; and the twilio egg requires at least three pieces of information to do so:
- The account SID
- The auth token
- The from number
They are populated initially from the environment variables TWILIO_SID, TWILIO_AUTH, TWILIO_FROM; respectively. It is also possible to set the dynamic parameters twilio-sid, twilio-auth, twilio-from.
Documentation
twilio-sid
[parameter] twilio-sid → (get-environment-variable TWILIO_SID)The Twilio account SID
(define twilio-sid (make-parameter (get-environment-variable "TWILIO_SID")))
twilio-auth
[parameter] twilio-auth → (get-environment-variable TWILIO_AUTH)The Twilio auth token
(define twilio-auth (make-parameter (get-environment-variable "TWILIO_AUTH")))
twilio-from
[parameter] twilio-from → (get-environment-variable TWILIO_FROM)The phone number from which to post
(define twilio-from (make-parameter (get-environment-variable "TWILIO_FROM")))
twilio-url
[parameter] twilio-url → https://~a:~a@api.twilio.com/2010-04-01/Accounts/~a/~aThe Twilio API URL
(define twilio-url
(make-parameter "https://~a:~a@api.twilio.com/2010-04-01/Accounts/~a/~a"))
twilio-make-call
[procedure] (twilio-make-call to #!key url application-sid method fallback-url fallback-method status-callback status-callback-method send-digits if-machine timeout record) → unspecifiedMake a call using the Twilio API; see http://www.twilio.com/docs/api/rest/making-calls.
- to
- The phone number to call
- url
- TwiML URL when the call connects
- application-sid
- Alternatively, the app containing the URL
- method
- Method to request url
- fallback-url
- Second url to try
- fallback-method
- Method to which to fall back
- status-callback
- URL to post status to
- status-callback-method
- Method to use
- send-digits
- Keys to dial after connecting
- if-machine
- Determine whether the caller is a machine
- timeout
- How long to let the phone ring
- record
- Whether to record the call
(define (twilio-make-call
to
#!key
url
application-sid
method
fallback-url
fallback-method
status-callback
status-callback-method
send-digits
if-machine
timeout
record)
(let ((parameters
`((from unquote (twilio-from))
(to unquote to)
(url unquote url)
(application-sid unquote application-sid)
(method unquote method)
(fallback-url unquote fallback-url)
(fallback-method unquote fallback-method)
(status-callback unquote status-callback)
(status-callback-method unquote status-callback-method)
(send-digits unquote send-digits)
(if-machine unquote if-machine)
(timeout unquote timeout)
(record unquote record))))
(with-input-from-request
(twilio-url-calls)
(upper-camel-filter-parameters parameters)
void)))
Examples
Placing a call
(twilio-make-call "+14158141829" url: "http://example.com/twiml.scm")
twilio-send-sms
[procedure] (twilio-send-sms to body #!key status-callback application-sid) → unspecifiedSend an SMS using the Twilio API; see http://www.twilio.com/docs/api/rest/sending-sms.
- to
- The number to send to
- body
- The SMS to send
- status-callback
- POST when the message is processed
- application-sid
- The application's SID
(define (twilio-send-sms to body #!key status-callback application-sid)
(let ((parameters
`((from unquote (twilio-from))
(to unquote to)
(body unquote body)
(status-callback unquote status-callback)
(application-sid unquote application-sid))))
(with-input-from-request
(twilio-url-sms)
(upper-camel-filter-parameters parameters)
void)))
Examples
Sending an SMS
(twilio-send-sms "+14158141829" "If you wish to make an apple pie from scratch, you must first invent the universe.")
About this egg
Author
Repository
https://github.com/klutometis/twilio
License
BSD
Dependencies
Versions
- 0.1
- First release: calls and SMS
Colophon
Documented by cock.